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

elementalord 26 Messages postés mercredi 25 mai 2005Date d'inscription 10 juin 2005 Dernière intervention - 30 mai 2005 à 16:56 - Dernière réponse : Niki2001 87 Messages postés samedi 6 novembre 2004Date d'inscription 17 décembre 2005 Dernière intervention
- 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.
Afficher la suite 

7 réponses

Répondre au sujet
sovitec 49 Messages postés mardi 18 mai 2004Date d'inscription 24 juillet 2006 Dernière intervention - 31 mai 2005 à 12:10
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sovitec
divadav 97 Messages postés lundi 13 janvier 2003Date d'inscription 22 janvier 2009 Dernière intervention - 30 mai 2005 à 17:04
0
Utile
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
Commenter la réponse de divadav
Niki2001 87 Messages postés samedi 6 novembre 2004Date d'inscription 17 décembre 2005 Dernière intervention - 30 mai 2005 à 17:10
0
Utile
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.
Commenter la réponse de Niki2001
elementalord 26 Messages postés mercredi 25 mai 2005Date d'inscription 10 juin 2005 Dernière intervention - 31 mai 2005 à 10:24
0
Utile
j'ai taper ce que tu a écrit mais il me dit qu'il atend un identificateur mais array trouvé
Commenter la réponse de elementalord
elementalord 26 Messages postés mercredi 25 mai 2005Date d'inscription 10 juin 2005 Dernière intervention - 31 mai 2005 à 10:35
0
Utile
ce que je voulai faire divadav c un strtobyte et puis je voudrais faire aussi un bytetostr
Commenter la réponse de elementalord
elementalord 26 Messages postés mercredi 25 mai 2005Date d'inscription 10 juin 2005 Dernière intervention - 31 mai 2005 à 17:31
0
Utile
oui sa marche je n'avais pas encore vu qu'on pouvai faire celà merci !!!
Commenter la réponse de elementalord
Niki2001 87 Messages postés samedi 6 novembre 2004Date d'inscription 17 décembre 2005 Dernière intervention - 31 mai 2005 à 18:54
0
Utile
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.
Commenter la réponse de Niki2001

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.