Initialiser plusieurs variables sur une seule ligne

Résolu
thonyboy
Messages postés
165
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011
- 17 sept. 2008 à 16:18
thonyboy
Messages postés
165
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011
- 18 sept. 2008 à 10:57
Bonjour

Je cherche a initialiser a 0 plusieurs variables en écrivant une seule ligne de code.

Si j'écris :
ZNom.Text ZPrenom.Text ZTel.Text = ZGsm.Text = Zemail.Text = ZSam.Text = ZServic.Text =

""

Je n'ai ni l'effect désiré et en plus j'ai une erreur
L'exception System.InvalidCastException n'a pas été gérée par le code utilisateur
  Message="La conversion de la chaîne "" en type 'Boolean' n'est pas valide."

Pourtant je n'ai que des variables strings. Je ne comprends pas.

Existe t'il une autre méthode ?

D'avance merci

7 réponses

cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
17 sept. 2008 à 20:27
ZNom.Text = ZPrenom.Text = ZTel.Text = ZGsm.Text = Zemail.Text = ZSam.Text = ZServic.Text =""
Cette syntaxe à une signification bien precise en VB, ex :
ZSam.Text ZServic.Text"" est l'équivalent de ZSam.Text = (ZServic.Text ="")  ou (ZServic.Text ="") est un test pour savoir si ZServic est égal à "".
(ZServic.Text ="") renvoie True ou False suivant le résultat du test, et ne peut donc pas etre affecter à une variable de type texte. D'ou ton message d'erreur.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
3
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
17 sept. 2008 à 17:04
cette syntaxe est (je crois) acceptée en C#, mais pas en VB.NET

tu vas devoir attribuer chaque chaque zone, éventuellement en séparant par des ":" pour être sur la même ligne

çà donne



ZNom.Text string.empty : ZPrenom.Text string.empty :
ZTel.Text = string.empty :
ZGsm.Text = string.empty :
Zemail.Text = string.empty :
ZSam.Text = string.empty :
ZServic.Text = string.empty







++


Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_thierry la fronde
Messages postés
351
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 août 2009

17 sept. 2008 à 17:50
bonjour
Une autre solution serait de mettre les controles dans un tableau de type objet puis d'utiliser une boucle..
dim i as integer
dim MonTableau(6) as object
MonTableau(0)=ZNom
..

sub ViderMesTB()
for i=0 to 6 step 1
MonTableau(i).text=String.empty
next
End Sub
(ou quelque comme ça)

thierry la fronde
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
17 sept. 2008 à 20:28
Ah, j'oubliais

Par défaut, toute varaiable, avant une affectation est automatiquement initialisée à 0 pour un numérique, String.Empty pour une chaine de caractère, Nothing pour un objet, .....

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
17 sept. 2008 à 20:30
" ....toute variable, avant une PREMIERE affectation est ..."

Décidement c'est pas ma journée aujourd'hui

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
0
dedenet2
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
17 sept. 2008 à 23:19
Bonjour ,

ZNom.Text ZPrenom.Text ZTel.Text = ZGsm.Text = Zemail.Text = ZSam.Text = ZServic.Text =
Si c'était aussi simple , ça se saurait !

A+
0
thonyboy
Messages postés
165
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011

18 sept. 2008 à 10:57
Merci a tous. C'est vrai qu'en C c'est aussi simple que cela.
0