Char-->ASCII/ANSI et ASCII/ANSI-->Char [Résolu]

Signaler
Messages postés
438
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
26 juillet 2007
-
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
-
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

Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
11
salut ,

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

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

bonne prog
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
11
pour les 128 premiers caracteres le code ASCII ey ANSI sont
identiques de meme pour les suivants avec le code ASCII
etendu ANSI
Messages postés
438
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
26 juillet 2007
3
et pour ansi
Messages postés
1
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
13 octobre 2005

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
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
11
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 .
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
11
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
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
11
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;