Char-->ASCII/ANSI et ASCII/ANSI-->Char

Résolu
Nargzul Messages postés 438 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 26 juillet 2007 - 12 oct. 2005 à 09:59
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 - 13 oct. 2005 à 19:07
Bonjour



Voila, pour apprendre un peu le delphi, je me fait des petits progs.
Actuellement j'essaie de faire un truc qui crypte du texte, et pour ca
j'utilise en partie la représentation numérique d'une lettre... enfin,
bref.



Mais je n'arrive pas à trouver dans la doc comment on transforme un
caractère en ASCII ou en ANSI(si possible les deux), et comment faire
l'étape inverse, a partir du numéro ANSI d'une lettre, comment la
retransformer en string.



Merci beaucoup de votre aide!

7 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
12 oct. 2005 à 10:14
salut ,

pour char ---> ascii utlise valeur:=ord('acractere');

pour ascii --> char utilise caractere:=chr(valeur);

bonne prog
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
12 oct. 2005 à 10:55
pour les 128 premiers caracteres le code ASCII ey ANSI sont
identiques de meme pour les suivants avec le code ASCII
etendu ANSI
3
Nargzul Messages postés 438 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 26 juillet 2007 4
12 oct. 2005 à 10:17
et pour ansi
0
DINEJC Messages postés 1 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 14:36
Effectivement ça fonctionne parfaitement avec ORD('A') par exemple, ça donne 65, MAIS si vous souhaitez remplacer 'A' par une variable représentant un caractère autre (A,B ,C ,D 1, 2 .......ect), et que vous mettez Valeur:='A' et ensuite ORD(Valeur), là vous n'obtenez qu'un zero!!!!
Pourquoi? je n'arrive pas à trouver une solution pour :
Obtenir le code ASCII d'un caractère qui serait variable, par exemple en tapant 'A' qui me donnerait 65 et que je transfère dans une EEPROM avec Senbyte(65)!

Je ne sais pas si je suis "clair"

Merci des réponses éventuelles.

JC DINE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
13 oct. 2005 à 17:27
salut,

je ne vois pas ton probleme si je fais:

procedure TForm1.Button1Click(Sender: TObject);

var valeur:char;

i:integer;

begin

valeur:='A'; i:=ord(valeur);

edit1.Text:=inttostr(i);

end;

lorsque je clique sur le bouton edit1 n'affiche bien 65.

vérifie que valeur est bien declarée en char .
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
13 oct. 2005 à 17:36
tu peux également mettre 2 edits et faire:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

edit2.Text:=inttostr(ord(key));

end;

le second edit te donnera à la volée la valeur ASCII de la touche enfoncée quand le premier a le focus
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
13 oct. 2005 à 19:07
on peux aussi utiliser un transtypage à la place de ord dans l'exemple precedent cela donne:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

edit2.Text:=inttostr(integer(key));

end;
0
Rejoignez-nous