Par exemple, si Type=1 alors le type de 'Variable' est long. Si Type=2 alors le type de 'Variable' est string.
Mais je ne sais pas du tout comment faire
merci a vous
lepiaf31 a écrit :Bonjour, je voudrais réaliser une structure où le type d'une variable dépend de la valeur d'une autre variable (de la meme structure):
Par exemple, si Type=1 alors le type de 'Variable' est long. Si Type=2 alors le type de 'Variable' est string.
Mais je ne sais pas du tout comment faire
merci a vous
:)
Structure a
type.b
l.l
b.b
s.s
EndStructure
a.a
CallDebugger
a\ type.b=1
If a\ type=1
a\l=10
Debug a\l ; a type long
ElseIf a\ type=2
a\b=5
Debug a\b ; a type octet
ElseIf a\ type=3
a\s="coucou"
Debug a\s ; a type chaine
EndIf
en clair j'utilise la structure comme un type personalisé (c'est fait pour ça !! )
dans mon exemple considere
"a\l" comme un "a.l"
"a\b" comme un "a.b"
"a\s" comme un "a.s"
Fred a choisi "" comme symbole alors que dans d'autre language il sagit
bien du "."
variant est certes fait pour mais bon il est plutot fait pour s'interfacer avec certaines fonctions windows... c'est particulier quand même. StructureUnion semble plus adapté ici.
il faut penser aussi à libérer la memoire pour chaque var créé.
@minirop
oui c'est vrai. mais variant est un type windows qui comporte des dizaines de types 'windowzien' pas forcement utile. pour un usage perso, je fais ma propre structure. par contre, lors d'accès à des fonctions windows qui ont besoin d'un variant, ok. ceci dit, si quelqu'un qui cherche tout les types possibles et imaginables, suffit de faire Ctrl+S sur 'VARIANT' dans l'IDE, ya tout ce qui faut.