Conversion string en byte

lapolo13 Messages postés 9 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 14 mai 2004 - 10 mars 2004 à 14:36
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 11 mars 2004 à 08:56
Est ce que qqun peut me dire pourquoi ce code ne marche pas :

Dim prompt As String
Dim promptByte As Byte

prompt = "coucou"
promptByte = CByte(prompt)

Si quelqu'un a une solution pour convertir des string en byte et aussi des integer en bytes??

Merci

lapolo13
A voir également:

5 réponses

darollinghobbit Messages postés 55 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 18 juin 2004 1
10 mars 2004 à 15:22
Salut,

Une variable de type Byte attend une valeur comprise entre 0 et 255, il est donc normal que CByte("Coucou") te donne une erreur. Par contre Cbyte("128") ne doit poser aucun problème

Pour la conversion, d'integer en Byte, pense bien à vérifier que ton integer n'est pas supérieur à 255 et fait juste un CByte(tonint)
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 mars 2004 à 16:28
Si par ton code tu pensais pouvoir récupérer le code ascii du 1er caractère de ta chaine, fais :
Promptbyte = asc(Prompt)

Christophe R.
0
lapolo13 Messages postés 9 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 14 mai 2004
10 mars 2004 à 19:09
ok, merci de votre aide mais je comprend pas bien a quoi sert la fonction.

Par exemple j'ai testé CByte(152), ca me donne 152.
Ou est l'utilité??
Est ce que en fait l'integer 152 devient un byte 152??

lapolo13
0
cs_ajaja Messages postés 27 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 29 octobre 2012
10 mars 2004 à 21:19
Salu voila un somution

Sub convert( str as string, data() as byte)
dim f as long
redim preserve data(1 to len(str))
do
if str="" then exit do
doevents
f=f+1
data(f)=ascb(left(str,1))
str=mid(str,2)
loop
'C'est terminé!
end sub
0

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

Posez votre question
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
11 mars 2004 à 08:56
CByte() convertit une valeur en byte. Donc si tu lui transmet un byte (comme 152) il te retourne la même chose.
Mais si tu lui transmet une chaine, "152" par exemple, il te retourne 152

Dim b as byte
b = Cbyte("152")
if b = 152 then msgbox "b vaut 152" else msgbox "Oups!!"

Christophe R.
0
Rejoignez-nous