if summe < 0 then summe := summe + 94;
sollte sich bestimmt auch als
summe := (summe + 94) mod 94;
darstellen lassen.
Delphi-Quellcode:
// verschlüsseln
summe := (ord(zeile[i]) - 32) + (ord(code[j]) - 32);
summe := summe mod 94; // summe := (summe + 94) mod 94; siehe PS
hilf := hilf + chr(summe + 32); // hilf[i] := chr(summe + 32); wenn man vorher SetLength(Hilf, Length(Zeile)); macht oder man verschlüsselt direkt in Zeile, ohne Hilf
// entschlüsseln
summe := (ord(zeile[i]) - 32) - (ord(code[j]) - 32);
summe := (summe + 94) mod 94;
hilf := hilf + chr(summe + 32);
Fällt dir was auf? (so vonwegen fast gleicher Code und so
)
PS: Wenn man im positiven Bereich ganze Vielfache von 94 dazuaddiert, dann ändert das am Ergebnis von
(x + 94*x) div 94
nichts (i=1 geht natürlich auch).