stolken
Messages postés73Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 1 août 2006
-
16 oct. 2005 à 22:39
stolken
Messages postés73Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 1 août 2006
-
16 oct. 2005 à 22:59
Salut tt le monde,
J'ai une erreur d'execution 13 "type incompatible"
Voici la partie du code concerné :
Dim donnée as string
For i = 1 To Len(donnée)
Text3.Text = Text3.Text + " " + AscB(Mid(donnée, i, 1)) 'bug ici
Text4.Text = Text4.Text + " " + Hex(AscB(Mid(donnée, i, 1))) 'ne bug pas
Next i
Les deux lignes sont pratiquement les memes et pourtant l'une passe et l'autre pas. La difference est que la premiere affiche le code ascii en "décimale" et la seconde ligne l'affiche en hexadecimal ...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 16 oct. 2005 à 22:53
Salut
Problème classique qui se résoud par la rigueur :
Une chaine de caractère ne peut être additionnée à un chiffre, "A + 3" te donnerra ce même message.
Quand tu veux ajouter un chiffre dans une chaine de caractère :
-1- Les chaines ne se concatènent pas avec +, mais avec & : "Début et" & " la suite" --> Début et la suite
"+" va marcher 90% des cas, mais voilà, tu es tombé sur les 10% qui te font perdre ton temps ...
-2- Convertir les chiffres (comme Asc) en chaine avant : "A" & CStr(Asc("B")) --> A66
... alors que Hex est une fonction qui renvoie toujours une chaine (voir aide de VB6).
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)