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

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

Votre réponse

7 réponses

Meilleure réponse
sovitec
Messages postés
49
Date d'inscription
mardi 18 mai 2004
Dernière intervention
24 juillet 2006
- 31 mai 2005 à 12:10
3
Merci
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.

Merci sovitec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de sovitec
divadav
Messages postés
97
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
22 janvier 2009
- 30 mai 2005 à 17:04
0
Merci
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
Messages postés
87
Date d'inscription
samedi 6 novembre 2004
Dernière intervention
17 décembre 2005
- 30 mai 2005 à 17:10
0
Merci
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
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Dernière intervention
10 juin 2005
- 31 mai 2005 à 10:24
0
Merci
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
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Dernière intervention
10 juin 2005
- 31 mai 2005 à 10:35
0
Merci
ce que je voulai faire divadav c un strtobyte et puis je voudrais faire aussi un bytetostr
Commenter la réponse de elementalord
elementalord
Messages postés
26
Date d'inscription
mercredi 25 mai 2005
Dernière intervention
10 juin 2005
- 31 mai 2005 à 17:31
0
Merci
oui sa marche je n'avais pas encore vu qu'on pouvai faire celà merci !!!
Commenter la réponse de elementalord
Niki2001
Messages postés
87
Date d'inscription
samedi 6 novembre 2004
Dernière intervention
17 décembre 2005
- 31 mai 2005 à 18:54
0
Merci
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.