cs_youyou40
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 avril 2022
-
12 juil. 2008 à 12:41
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
13 juil. 2008 à 22:36
Bonjour
Existe-t-il une commande ou une façon simple de réinitialiser une variable de type utilisateur, sans être obligé de réinitialiser chaque sous-type de cette variable l'un après l'autre ?
(par exemple pour un tableau il y a l'instruction Erase, mais elle ne fonctionne qu'avec les tableaux... )
Je n'ai pas su trouver la réponse dans le forum ....
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 12 juil. 2008 à 16:07
Salut,
Ok, je vois ce que tu veux dire.
Les types sont pratiques pour représenter un objet, mais sont très limité (et en effet, il n'est pas possible de réinitialiser le type facilement).
Je te conseille plutôt d'utiliser un module de classe qui fera la même chose que le type de données, mais qui te facilitera pas mal la tache :
Dans un module de classe nommé Polygone, tu déclare tes variables membres Public types As String
Public subtypes As String
Public offsets As String
Public header As Byte
Public colors() As Byte
Et ensuite, pour l'utiliser, il te suffit de créer une nouvelle instance de ce module de classe :
Dim tonPolygone As new Polygone
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 12 juil. 2008 à 12:55
Salut,
C'est quoi que t'appelle une "variable utilisateur" ??? Et que veux dire réinitialiser pour toi : remettre la variable à sa valeur d'origine ? Détruire l'instance d'un objet ? Vider une collection ?
La commande Erase fait bien plus que réinitialiser un tableau : elle le supprime !
______________________________________
DarK Sidious
cs_youyou40
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 avril 2022 12 juil. 2008 à 15:56
Merci de ta réponse
Désolé, je ne connais pas très bien le vocabulaire adéquat, alors je me suis mal exprimé.
J'ai créé un type de données , du style
Public Type Polygone
types As String
subtypes As String
offsets As String
header As Byte
colors() As Byte
End Type
Ensuite j'ai déclaré une varaible de ce type
Public Polygone1 as Polygone
Mon programme utilise et remplit les éléments de cette variable Polygone1 , puis ensuite , j'aurais besoin de "réinitialiser" (ce n'est peut-être pas le bon terme ? ) cette variable polygone1 , pour qu'elle se vide et redevienne comme elle était au départ, juste après sa déclaration par l'instruction Dim.
Est-ce que je suis obligé de réinitialiser chaque élément un à un
Polygone1.types=""
Polygone1.subtypes=""
...
Polygone1.header=0
Erase Polygone1.colors
etc...
ou peut-on le faire avec une seule commande, comme le fait Erase avec les tableaux ?
Erase ne supprime pas totalement le tableau : si c'est un tableau fixe , Erase réinitialise le tableau (remet les strings à "" , les nombres à 0 etc...) mais ne libère pas d'espace mémoire ; si c'est un tableau dynamique, Erase libère de l'espace mémoire , mais le tableau est toujours là , il suffit de le redimmensionner à nouveau avec Redim.
J'ai des variables de type défini par l'utilisateur avec beaucoup d'éléments , donc si il existe une commande pour les réinitialiser en une seule instruction , cela m'intéresserait.
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 13 juil. 2008 à 22:36
Connais pas Erase ...
Mais bon si ça fonctionne !
_______________________________________________________________________
VB.NETis good ...VB6is better