OVH Cloud OVH Cloud

probleme de type personnalisé.

1 réponse
Avatar
Jean Luc
Bonjour,

j'ai un type personnalisé par exemple

Type Test
toto as byte
tata as string * 10
titi as byte
tutu as string
end type


dim test1 as test


Une fois que j'ai rempli test1. savez vous comment faire pour connaitre la
taille de la variable AVEC son contenu (donc en comptant la taille de tata)
?

Ensuite, si je veux acceder 1 par 1 à chaque octet de test1, je dois faire
comment ?

pour finir, je voudrais mettre tout test1 dans une chaine.

Y a t il une solution plus elegante que de faire result=test1.toto &
test1.tata & test1.titi & test1.tutu ?

Merci à tous de votre aide.

1 réponse

Avatar
Zoury
Salut Jean-Luc ! :O)

Une fois que j'ai rempli test1. savez vous comment faire pour connaitre la
taille de la variable AVEC son contenu (donc en comptant la taille de


tata)
?



comme ceci :
'***
Debug.Print LenB(test1)
'***
LenB() renvoit la taille en octets d'une variable.


Ensuite, si je veux acceder 1 par 1 à chaque octet de test1, je dois faire
comment ?



Tu peux employé l'API CopyMemory. Donne nous plus de détail sur ce que tu
cherches faire si tu veux un exemple qui te répondre le mieux possible à ton
besoin.


Y a t il une solution plus elegante que de faire result=test1.toto &
test1.tata & test1.titi & test1.tutu ?



Étant donnée que ton type possède des membres de types différents (Byte et
String), je crois la solution la plus propre, maintenable et compréhensible
serait de concaténer les champs 1 à 1 et de le faire dans une fonction (ex
TestToString()).

Si tu n'avais eu que des types numériques ou que des String on aurait pu
employé CopyMemory() pour y parvenir..

--
Cordialement
Yanick
MVP pour Visual Basic