Equivalent Split pour Structure

Le
Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gillard
Le #17605041
vas lire ceci cela devrait t'aider

http://www.vbfrance.com/forum/sujet-INITIALISATION-STRUCTURE_1217805.aspx


<Stéphane> wrote in message news:
Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane




Zoury
Le #17605351
... nope! :)
Peux-tu nous donner un exemple de ce que tu as comme valeurs au départ et ce
que tu cherches à obtenir en sortie ?
Note que dans tous les cas, tu devras vraisemblablement te faire une
fonction, il n'y a rien de built-in.

Yanick Lefebvre
<Stéphane> a écrit dans le message de news:

Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane




Le #17616351
Merci


"Gillard" news:
vas lire ceci cela devrait t'aider

http://www.vbfrance.com/forum/sujet-INITIALISATION-STRUCTURE_1217805.aspx


<Stéphane> wrote in message news:
Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane






Le #17616521
Bonjour,

Peux-tu nous donner un exemple de ce que tu as comme valeurs au départ




Il n'y a nulle part
des valeurs de départ.
(ca rime)

C'est pour juste initialiser des variables.

J'ai 1 structure avec 1 certain nombre de variables dedans, et 1 tableau as
ma structure.

Disons, que pour initaliser 1 simple tableau de texte, j'avais fait :
dim strtab() as string = "a;z;e;r;t;y;u;i;o;p".split(";")

et j'aurais voulu 1 fonction toute faite pour remplir 1 tableau de structure


"Zoury" %
... nope! :)
Peux-tu nous donner un exemple de ce que tu as comme valeurs au départ et
ce que tu cherches à obtenir en sortie ?
Note que dans tous les cas, tu devras vraisemblablement te faire une
fonction, il n'y a rien de built-in.

Yanick Lefebvre
<Stéphane> a écrit dans le message de news:

Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane








Jérémy Jeanson
Le #17618031
Là je crois que tu en demande un peu beaucoup, de base ça n'existe
pas... à ma connaissance.

Par contre rien ne t'empêche d'utiliser les librairies de reflection et
de coder une telle méthode. Pour t'aider, sur un Type il existe :

.GetProperties() ' qui te permet d'obtenir les propriétés d'un Type
.SetValue() ' qui permet de changer le valeur d'une propriété
.GetValue() ' qui permet de lire la valeur d'une propriété

Avec cela tu devrai être armé pour monter la méthode dont tu as besoin.

--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Patrice
Le #17618901
Je ne sais pas si une syntaxe existe tde base mais tu peux ajouter un
constructeur à ta structure :

Structure s
Sub New(ByVal a As String, ByVal b As Integer)
Me.a = a
Me.b = b
End Sub
Public a As String
Public b As Integer
End Structure
Shared Sub Main()
Dim a() As s = {New s("a", 2), New s("b", 2)}
End Sub

De même pour ton tableau tu aurais pu faire :
Dim strtab() as string={"a","z","e","r" etc }

Après un peit essai de base ti as aussi :
Dim b() As s={New s with {.a="a",.b=2},new s with {.a="b",.b}}
en VB 2008


--
Patrice

<Stéphane> a écrit dans le message de groupe de discussion :

Bonjour,

Peux-tu nous donner un exemple de ce que tu as comme valeurs au départ




Il n'y a nulle part
des valeurs de départ.
(ca rime)

C'est pour juste initialiser des variables.

J'ai 1 structure avec 1 certain nombre de variables dedans, et 1 tableau
as ma structure.

Disons, que pour initaliser 1 simple tableau de texte, j'avais fait :
dim strtab() as string = "a;z;e;r;t;y;u;i;o;p".split(";")

et j'aurais voulu 1 fonction toute faite pour remplir 1 tableau de
structure


"Zoury" %
... nope! :)
Peux-tu nous donner un exemple de ce que tu as comme valeurs au départ et
ce que tu cherches à obtenir en sortie ?
Note que dans tous les cas, tu devras vraisemblablement te faire une
fonction, il n'y a rien de built-in.

Yanick Lefebvre
<Stéphane> a écrit dans le message de news:

Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane












Le #17619041
Bonjour,

Après avoir gratté 1 peu de ce côté, je crois que c'est un peu trop dur pour
moi...

Merci quand même Jérémy.

Stéphane


"Jérémy Jeanson"
Là je crois que tu en demande un peu beaucoup, de base ça n'existe pas...
à ma connaissance.

Par contre rien ne t'empêche d'utiliser les librairies de reflection et de
coder une telle méthode. Pour t'aider, sur un Type il existe :

.GetProperties() ' qui te permet d'obtenir les propriétés d'un Type
.SetValue() ' qui permet de changer le valeur d'une propriété
.GetValue() ' qui permet de lire la valeur d'une propriété

Avec cela tu devrai être armé pour monter la méthode dont tu as besoin.

--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net


Le #17619641
Bonjour,

Je met ici la solution que j'ai retenue grâce à tous les conseils que j'ai
eu (à noter qu'avec cette solution, il faut 1 fonction par structure) :

Tout d'abord, il faut 1 structure :
Public Structure MaStructure

Dim MonEntier As Integer

Dim MaChaine As String

End Structure


Ensuite, dans la même classe que la structure (la fonction provoque 1 erreur
si elle se trouve dans 1 autre classe) :
Public Function SplitMaStructure(ByVal Valeurs_MonEntier As Integer, ByVal
Valeurs_MaChaine As String, ByVal séparateur As Char) As MaStructure()

Try

Dim MesEntiers() As String = Valeurs_MonEntier.Split(séparateur)

Dim MesChaines() As String = Valeurs_MaChaine .Split(séparateur)

If UBound(MesEntiers) = UBound(MesChaines) Then

Dim Résultat(UBound(MesEntiers)) As MaStructure

For i As Integer = 0 To UBound(MesEntiers)

Résultat(i).MonEntier= MesEntiers(i)

Résultat(i).MaChaine = MesChaines(i)

Next

Return Résultat

Else

Return Nothing

End If

Catch ex As Exception

Return Nothing

End Try

End Function


Et enfin, il ne reste plus qu'à remplir un nouveau tableau de structure :
Dim MonTableau() As MaStructure = SplitMaStructure("1;2;3", "A;B;C", ";")




<Stéphane> a écrit dans le message de news:

Bonjour,

Est-il possible de faire 1 Split ou équivalent sur 1 Structure ? (en
espérant que l'on comprenne ma question)

Exemple pour éviter de faire ceci :
toto(0).a=1
toto(0).b=2
toto(1).a
toto(1).b

Merci d'avance,
Stéphane




Publicité
Poster une réponse
Anonyme