elementalord
Messages postés26Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 juin 2005
-
30 mai 2005 à 16:56
Niki2001
Messages postés85Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention17 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.
sovitec
Messages postés47Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention24 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.
Niki2001
Messages postés85Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention17 décembre 20051 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.
divadav
Messages postés94Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention22 janvier 20092 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Niki2001
Messages postés85Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention17 décembre 20051 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.