Salut,
Concerne par le sujet, je suis en train de regarder l'algo de Vigenere sous Delphi et j'ai recupere la fonction ci-dessous
Bref, si on ajoute avant le Result:= la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function Trans(Ch1,Ch2: Char;Sens:smallint): Char; const Alphanum='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; var a,b,r, l:integer; begin l:=Length(Alphanum); => ce qui donne 62 a:=Pos(Ch1,Alphanum)-1; b:=Pos(Ch2,Alphanum)-1; r:=(a+b*sens); => imaginons que r = l if r<0 then r:=l+r; => on ne passe pas la if r>l then r:=r-l; => on ne passe toujours pas la Result := Alphanum[r+1]; => autrement dit [63] ce qui donne ... rien de bon end;
ca ira tout de suite mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if r+1 > l then r:=0;
En esperant que ca fasse avancer le smilblick
@+
Oncle_Pete
Partager