Conversion string ---> byte

Résolu
elementalord
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
- 30 mai 2005 à 16:56
Niki2001
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
- 31 mai 2005 à 18:54
Je voudrai savoir si sous delphi il est possible de faire une conversion d'une chaine de carctère(string) en byte?
merci d'avance.
A voir également:

7 réponses

sovitec
Messages postés
47
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
24 juillet 2006

31 mai 2005 à 12:10
Salut,

Ne pourrais tu pas utiliser la fonction StrToInt, et stocker le
résultat dans un byte après avoir vérifier qu'il n'y a pas eu de
problème de dépassement de capacité ?



Pour ByteToStr il suffit d'utiliser IntToStr, la conversion est implicite.
3
elementalord
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
1
31 mai 2005 à 10:35
ce que je voulai faire divadav c un strtobyte et puis je voudrais faire aussi un bytetostr
1
Niki2001
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
1
31 mai 2005 à 18:54
StrToByte n'est possible que si le string indique un nombre entre 0 et 255. On peut faire:

function StrToByte(Str: string): byte;
var
int: integer;
begin
try
int:= StrToInt(str);
if (int>=0) and (int<=255) then
result:= byte(int)
else
result:= 0;
except
result:= 0;
end;
end;

Sinon, pour la fonction que j'avais mise avant, il faut en fait créer un type comme
type
TTabByte= array of byte;
et le mette comme résultat de la fonction.
1
divadav
Messages postés
94
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
22 janvier 2009
2
30 mai 2005 à 17:04
Je suis pas sûr de comprendre la question...

Si c'est la valeur du caractère ASCII que tu cherches, tu peux l'avoir en faisant :
ShowMessage(IntToStr(Ord(maChaine[i])));
où i représente le numéro du caractère qui t'intéresse...

Keep Cool & Be Wild
Divad
0

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

Posez votre question
Niki2001
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
1
30 mai 2005 à 17:10
Et bien, en fait un string occupe un byte par caractère. Tu ne peux pas le mettre dans un seul byte. En revanche tu peux en fair un tableau de byte:

function StrToByte(Str: string): array of byte;
var
i: integer;
begin
SetLength(result, Length(Str));
for i:=0 to Length(Str) do
result[i]:= Byte(Str[i]);
end;
Ici, on prend même le caractère 0, ce qui n'est pas obligatoire.
0
elementalord
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
1
31 mai 2005 à 10:24
j'ai taper ce que tu a écrit mais il me dit qu'il atend un identificateur mais array trouvé
0
elementalord
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
1
31 mai 2005 à 17:31
oui sa marche je n'avais pas encore vu qu'on pouvai faire celà merci !!!
0