Bonjour à tous!
Je voudrais savoir si dans DELPHI7, il existe une fonction permettant de convertir une chaîne de caractères en tableau d'octets (array of byte).
Bonjour à tous!
Je voudrais savoir si dans DELPHI7, il existe une fonction permettant de convertir une chaîne de caractères en tableau d'octets (array of byte).
Je ne connais pas de fonction spéciale, mais une chaîne étant un tableau de caractères, et Ord renvoyant la valeur ASCII du caractère,
ou en transtypant
Code : Sélectionner tout - Visualiser dans une fenêtre à part Ord (maChaine [i]);devrait te renvoyer la valeur que tu veux, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Byte (Ord (maChaine [i]));
peut etre en feintant comme ca:
a tester ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 x := TByteDynArray(PChar(MaChaine));
(Si TByteDynArray n'est pas declarée dans Types, c'est juste un array of byte)
La solution de guillemouze me paraît extrèmement risquée. C'est la violation d'accès presque assurée.
Je préfèrerais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var Str: string; Bytes: array of Byte; begin ... SetLength(Bytes, Length(Str)); Move(Str[1], Bytes[0], Length(Str)); ... end;
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
oui mais la question etait :
et il n'est pas précisé "sans AV"il existe une fonction permettant de convertir une chaîne de caractères en tableau d'octets
effectivement, ta solution est beaucoup plus sure.
Par contre, pourquoi un Move et pas un Copy? (je ne connais pas bien l'effet exacte de la fonction Move)
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Partager