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 40
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 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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 40
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 40
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 2
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
Rejoignez-nous