Tableau de char + liste le contenu !

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 4 août 2006 à 10:42
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 4 août 2006 à 13:29
Bonjour,

Je suis sous vs2003 et vb net

et j'apprends le vb net !

j'ai donc un tableau de char :

 

Private tabChar()
As
Char = {"", ":", "", ".", "*", "|", ">", "<", "!", "?", "@", "&", "%", ",", ";"}

J'aimerais pouvoir mettre le contenu de ce tableau dans une variable et l'affichier dans un msgbox

voila ce que j'ai fait mais cela ne marche pas !

Function

listeBadCharacter()

Dim c
As
Char

for
each(c
in tabChar)c += c & " "

NextMsgBox(c)

End
Function

Qd je lance il me dit :
expression is a value therefore cannot be the target to assignement !

Si quelqu'un a une idee de comment faire pour lister un tableau de char je suis preneur !
Merci
Christophe

7 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 août 2006 à 11:54
salut,
Il ne rentre pas car ceci (For i = 0 To i < tabChar.Length ) a l'air faux (enfin peu etre que cela fonctionne en .NET)

cela ressemble a un mix entre un FOR et un DO (WHILE)
Peu etre qu avec For i = 0 To tabChar.Length  cela marcherait mieux

@+, Julien
Pensez: Règlement/STRONG>
3
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
4 août 2006 à 11:58
Tout à fait, et plus précisement :



For



i = 0

To
tabChar.Length - 1   Contenu &= tabChar(i) & " "


NextCa fonctionne trés bien aussi









<hr />

@+  
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 août 2006 à 10:50
Salut,


(je ne fais pas de .NET)
Mais toutefois je pense que le problème viens de cette ligne c+= c & " "

Pour voir le resultat complet je pense qu'il te faut une variable de type string




Function listeBadCharacter() 
Dim c As Char 
Dim Contenu As String 
For Each c In tabChar 
Contenu += Contenu & c & " " 
Next 
Call MsgBox(Contenu) 
End Function 
 







<small> Coloration syntaxique automatique [AFCK]</small>

       














@+, Julien
Pensez: Règlement/STRONG>
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
4 août 2006 à 11:08
Salut,

Contenu &= c & " "

C'est normal que ça plante, tu essaies d'ajouter plusieurs char dans un e variable char. Ta variable 'destination' doit être de type String. De plus, si tu mets +=, tu n'as pas besoin de remettre ta variable après.
Soit c +"...." , soit c c + "...."

<hr />
@+  
0

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

Posez votre question
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
4 août 2006 à 11:45
Salut a vous deux,

si je fais cela et que je l'appele j'ai une page enorme qui s'"affiche avec mes caracteres mais par milliers alors que mon tableau fait + - 20 caracteres !!!

Function listeBadCharacter() 
Dim c As Char 
Dim Contenu As String 
For Each c In tabChar 
Contenu +=  Contenu & c & " " 
Next 
Call  MsgBox (Contenu) 
End Function 

Alors apres recherche afin d'apprendre un peu quand meme ;-) j'ai essaye une boucle for :

Private

Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click

Dim c
As
Char

Dim i
As Int16

Dim Contenu
As
String

' For Each c In tabChar Next

For i = 0
To i < tabChar.Length
c = tabChar(i)

Contenu &= c & " "

Next iMsgBox(Contenu)

End
SubMais si je clique sur mon bouton mon msgbox est vide ! y'a rien qui s'affiche !!!
bon je continue a creuser mais je vois pas pourquoi !

Christophe
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
4 août 2006 à 11:52
je viens de tester çà et ça marche trés bien :








Dim
c

As



Char






Dim
i

As



Integer






Dim
Contenu

As



String






For



Each
c

In
tabChar   Contenu &= c & " "


Next

MsgBox(Contenu)


Avec ta boucle for, ça ne marche pas parce que tu ne rentres pas à l'intérieur de ta boucle...











<hr />

@+  
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
4 août 2006 à 13:29
re vous deux,

veuillez m'excuser pour l'erreur dans ma boucle mais j'ai fait un peu de c il y'a quelques annees :-(

ca tourne bien impeccable !

je vous remercie et vous souhaite un bon week end
Christophe
0
Rejoignez-nous