Conversion string ---> byte [Résolu]

Signaler
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
-
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
-
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

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

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.
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
1
ce que je voulai faire divadav c un strtobyte et puis je voudrais faire aussi un bytetostr
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
1
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.
Messages postés
97
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
22 janvier 2009
2
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
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
1
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.
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
1
j'ai taper ce que tu a écrit mais il me dit qu'il atend un identificateur mais array trouvé
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 juin 2005
1
oui sa marche je n'avais pas encore vu qu'on pouvai faire celà merci !!!