Szyfrowanie tekstu

0

Otóż mam 4 cyfry, które chciałbym zakodować, może być jednostronnie. Monk mi polecił jakiś CRC, i byłby on dobry gdyby nie to że nie umiem go zaimplementować. Więc napisałem swój, ale coś nie działa.

function GetRightNumber(I: Integer): Integer;
begin  //Liczba zwracana przez funkcję musi się mieścić w   0 < n <= 25
  if I > 25 then I := I mod 25;
end;

procedure TForm1.Button1Click(Sender: TObject);
var I, J, K, L: Integer;
begin
  I := 29; // Pierwsza i druga cyfra
  L := 30; //trzecia i czwarta cyfra
  J := 08; //te są po to żeby komuś było trudniej zgadnąć
  K := 51; // -||-

  I := GetRightNumber(I) + 65;
  J := GetRightNumber(J) + 65;
  K := GetRightNumber(J) + 65;
  L := GetRightNumber(L) + 65;

  Edit1.Text := Chr(I) + Chr(L) + Chr(J) + Chr(K); 
    {Miało wyświetlić te cyfry w postaci znaków czyli DEHA a widzę jakieś krzaczki}
  Edit2.Text := IntToStR(I) + ' ' + IntToStR(L) + ' ' + IntToStR(J) + ' ' + IntToStR(K);
    {Miało wyświetlić te cyfry, a wyświetla jakieś bardzo duże typu 1975466}
end;

Wie ktoś czemu program nie działa tak jak bym chciał?

0

Jaki jest sens kodowania jednostronnie? Możesz od razu sobie szyfrem pisać na jedno wychodzi...

0

Już rozwiązałem problem, okazało się że przecież nigdzie nie określiłem wyniku funkcji! A te cyfry to chyba były przypadkowe dane ze stosu.

0

Wiem że już rozwiązane, ale if I > 25 then I := I mod 25;
To to samo co
I := I mod 25;

1 użytkowników online, w tym zalogowanych: 0, gości: 1