Utiliser le code ascii en delphi

Résolu
codepvc Messages postés 24 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 13 juillet 2011 - 29 oct. 2008 à 10:11
codepvc Messages postés 24 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 13 juillet 2011 - 30 oct. 2008 à 13:31
Salut à toutes et à tous,
j'ai un problème et je souhaite que vous pouvez m'aider
comment utiliser le tableau du code ascii en Delphi pour chiffrer un message


C’est-à-dire tapez un texte dans un composant Memo et afficher le texte chiffré utilisant le code Ascii dans un autre Memo,


Merci d’avance.   

10 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
29 oct. 2008 à 16:55
Petit coucou rapide le temps de répondre à ce message.

ord(char) te donne le code ascii de ce caractère (exemple : ord('A') donne 65, et ord('a') te donnera 97 ...).
Voici un site avec un tableau ascii (oui les anglais partagent le même alphabet que nous :p ), je m'en sers souvent : www.asciitable.com

Voilà, le reste devrait vite se faire ... une petite boucle sur chaque caractère du mémo ...

Allez tiens :

procedure AsciiProcess(Input, Output: TStrings);
Var
I: Integer;
begin
Output.Clear;
for I := 0 to Length(Input.Text) do
Output.Text := Output.Text + IntToStr(ord(Input.Text[I]));
end;

Voilà ... en prime il te chiffrera avec un 0 devant ...
Je te laisse voir pour le déchiffrage.

Pour appeller : AsciiProcess(MonMemo1.Lines, MonMemo2.Lines);

Et voilà !!

Cordialement, Bacterius !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
29 oct. 2008 à 17:15
bonsoir,

tu as testé ?
ça plante sur :
IntToStr(ord(Input.Text[I]))

cantador
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
29 oct. 2008 à 18:29
Oui j'ai testé et ça n'a pas planté ... en revanche ça a mis un 0 devant chaque code ascii ...
Mais je pense que c'est dû à la tentative d'accès à une variable objet ... il faudrait passer Input et Output en variable abstraite ... :

procedure AsciiProcess(Input, Output: TStrings);
Var
I: Integer;
InEx, OutEx: TStringList;
begin
InEx := TStringList.Create;
OutEx := TStringList.Create;
InEx.Text := Input.Text;
for I := 0 to Length(InEx.Text) do
OutEx.Text := OutEx.Text + IntToStr(ord(InEx.Text[I]));
Output.Text := OutEx.Text;
OutEx.Free;
InEx.Free;
end;

(Mais j'ai pas testé celle-là)

Cordialement, Bacterius !
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
29 oct. 2008 à 18:33
En fait non ... élément 0 inaccessible ...
Donc :

procedure AsciiProcess(Input, Output: TStrings);
Var
I: Integer;
begin
Output.Clear;
for I := 1 to Length(Input.Text) do
Output.Text := Output.Text + IntToStr(ord(Input.Text[I]));
end;

Voilà ! (petite erreur d'inattention ^^)

Cordialement, Bacterius !
0

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

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
29 oct. 2008 à 19:14
ça marche ! incroyable !

cantador
0
codepvc Messages postés 24 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 13 juillet 2011
30 oct. 2008 à 07:29
Merci de me répondre mais peut être que j'ai pas précisé mon question, je veut utilisé le code Ascii pour trouver le message en binaire
donc comment aller du code Ascii au binaire
Merci encore une deuxième fois Bacterius et cantador
0
codepvc Messages postés 24 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 13 juillet 2011
30 oct. 2008 à 12:27
Bonjour
Merci Bacterius, c'est vraiment la bonne réponce, Merci de m'aider 
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
30 oct. 2008 à 12:38
si c'est pour faire un cryptage...
la protection n'est pas du tout efficace..

cantador
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
30 oct. 2008 à 12:52
C'est sûr ... ^^ Il faudrait endurcir le cryptage !

Cordialement, Bacterius !
0
codepvc Messages postés 24 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 13 juillet 2011
30 oct. 2008 à 13:31
je sais, mais c'est une partie seulement non pas le cryptosystème lui même
0
Rejoignez-nous