Mam w buttonclick coś takiego
for i:=1 to 20 do listbox1.Items.Add('abcgh');
for i:=1 to listbox1.Count-1 do begin
a:=listbox1.Items[i];
b:='a';
listbox2.Items.Add(Szyfruj(a,b)) end;
label1.Caption:=inttostr(listbox1.Count);
label2.Caption:=inttostr(listbox2.Count);
To jest funkcja szyfruj Adam ją napisał w jednym artykule
function Szyfruj(sString, Password : String) : String;
var
I : Integer;
PassCount : Integer;
begin
PassCount := 0;
Result := sString; // przypisz wartosc poczatkowa
for I := 1 to Length(sString) do // wykonuj dla kazdej litery osobno
begin
{
Dla kazdego osobnego znaku zamieniaj na wartosc liczbowa, a nastepnie
xoruj z kazda litera hasla - powstaje wowczas unikalna kombinacja.
}
Result[i] := Chr(Ord(sString[i]) xor Ord(Password[PassCount]));
Inc(PassCount); // wieksz licznik - kolejne slowo hasla
{ Jezeli licznik przekroczy dlugosc hasla - wyzeruj }
if PassCount > Length(Password) then PassCount := 0;
end;
end;
- Dlaczego mi na labelach pokazuje różne wartości 20 i 19 co jest nie tak, a jak nacisne po raz 2 to mam 40 i 58
- Jak odwrocić działanie funkcji
Mimo iż na razie to testuje ale chciałbym to wykorzystać do kodowania pliku