Utiliser la fonction split() [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
27 juin 2008
-
Messages postés
2
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
27 juin 2008
-
bonjour,

je débute dans la programmation en Visual basic, et dans mon petit programme j'ai besoin de faire un conversion d'un string en ascii
j'utilise donc la fonction Asc(), mais le problème c'est que cette conversion est faite que sur un "char", j'ai  donc pensé qu'il  faillais que je décompose ma chaine da caractères en char.

Le problème vient du  fait que je ne trouve pas de solution pour utiliser la fonction splite pour décomposer une chaine quand on n’a pas de séparateur dans la chaine. 

voila le petit bout de code que j'ai  fait :

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>







Private
Sub ascii(ByRef cmd As String, ByRef cmd2 As String)
   Dim i AsInteger
   Dim Mystring AsString = cmd
   Dim mytab() AsString
   mytab = Split(Mystring, "")
   For i = 1 To cmd.Length
         mytab(i) = Asc(mytab(i))
         Mystring = Mystring & mytab(i)
   Next
   cmd2 = Mystring
EndSub





Merci  d'avance pour les éventuels réponses a mon problème



 
  

4 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
j'ai formatté le code ascii sur 3 caractères, hein ^^


Private Function ToAscii(ByRef cmd As String) As String
Dim i As Integer
ToAscii = cmd
Dim mytab() As Char = cmd.ToCharArray()
For i = 0 To mytab.Length - 1
ToAscii = ToAscii & String.Format("{0:d3}", Asc(mytab(i)))
Next
End Function

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MessageBox.Show(ToAscii("Canard"))
End Sub
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
pourquoi ne pas en faire une fonction (plutot que de modifier un parametre ByRef) ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
euh, attend, j'ai un souci de compréhension...

mytab(i) = Asc(mytab(i))

donc, chaque element du tableau, est au final le code ascii du caractère correspondant dans ta chaine de départ.

Mystring = Mystring & mytab(i)

ici, tu ajoutes a la chaine de départ, la valeur de ce code ascii (pour chaque caractère) en ne t'occupant pas de la taille de ces nombres (1, 2 ou 3 caractères...)

en gros, en sortie, pour le mot Canard, tu obtiens:

Canard679711097114100
Messages postés
2
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
27 juin 2008

Je te remercie  pour cette réponse
et surtout impressionner par ta rapidité<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>