MoveX
Messages postés230Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention16 juillet 2005
-
24 oct. 2004 à 17:38
MoveX
Messages postés230Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention16 juillet 2005
-
27 oct. 2004 à 09:48
procedure TForm1.Button1Click(Sender: TObject);
var
n: Integer;
begin
Memo2.Clear;
for n:=0 to Length(Memo1.Text)
do
begin
if Length(Memo2.Text)=0 then
Memo2.Text:=Chr(Length(Memo1.Text) xor Ord(Memo1.Text[n]))
else
Memo2.Text:=Memo2.Text + Chr(Length(Memo1.Text) xor Ord(Memo1.Text[n]));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
n: Integer;
begin
Memo3.Clear;
for n:=0 to Length(Memo2.Text)
do
begin
if Length(Memo3.Text)=0 then
Memo3.Text:=Chr(Length(Memo1.Text) xor Ord(Memo2.Text[n]))
else
Memo3.Text:=Memo3.Text + Chr(Length(Memo1.Text) xor Ord(Memo2.Text[n]));
end;
end;
si quelqu un pouvait mexpliquer pourquoi je me retrouve avec un caractere en plus dans le cryptogramme et mlindiquer comment y remedier, ce serait super cool.
Loulibier
Messages postés309Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention24 septembre 20082 27 oct. 2004 à 08:24
salut MoveX,
divadav à raison sauf que tu dois boucler de 1 à Length(Memo1.Text) car l'élément 0 d'une chaine de caractère est sa taille.
De plus ton code semble alourdi par tes test qui ne servent à rien. tu n'as pas besoin de tester si la taille de ton Memo = 0 pour écrire la même chose que si elle est supèrieur... Vu que ton memo est vide Memo.text := '0' reviens à Memo.text := Memo.text + '0'
exemple :
procedure TForm1.Button1Click(Sender: TObject);
var
n: Integer;
begin
Memo2.Clear;
for n:=1 to Length(Memo1.Text) do
Memo2.Text:=Memo2.Text + Chr(Length(Memo1.Text) xor Ord(Memo1.Text[n]));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
n: Integer;
begin
Memo3.Clear;
for n:= 1 to Length(Memo2.Text) do
begin
if Length(Memo3.Text)=0 then
Memo3.Text:=Memo3.Text + Chr(Length(Memo1.Text) xor Ord(Memo2.Text[n]));
end;
Bonne Prog, ;)
Olivier
PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.