Bug dans algo de Vigenere
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
Code:
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; |
Bref, si on ajoute avant le Result:= la ligne
ca ira tout de suite mieux
En esperant que ca fasse avancer le smilblick
@+
Oncle_Pete