Hallo!
Ich habe ein Problem und zwar habe ich versucht eine function für die Verschlüsselung von Strings mit dem Cäsar Code zu schreiben.
Allerdings funktioniert das ganze nicht!
Irgendwo im Quelltext muss ein Fehler sein, aber ich finde ihn nicht.
Es wäre toll, wenn man mir da irgendwie helfen könnte.
Hier der Quelltext:
Delphi-Quellcode:
unit mCaesar;
interface
type
TCaesar =
class(TObject)
private
Alph:
String;
{ Private-Deklarationen }
public
constructor Create;
function DeCode(orig:
String; bewegen: Byte):
String;
{ Public-Deklarationen }
end;
implementation
constructor TCaesar.Create;
var i:Char;
begin
Alph:='
';
for i:= '
a'
to '
z'
do begin
Alph:=Alph+i;
Alph:=Alph+Alph;
end;
inherited Create;
end;
function TCaesar.DeCode(orig:
String; bewegen: Byte):
String;
var orig_index, alphabet_index: Integer;
codiert:
String;
isInAlphabet:Boolean;
begin
codiert:='
';
for orig_index:= 1
to length(orig)
do
begin
IsInAlphabet:=false;
for alphabet_index:= 1
to (length(Alph)
div 2)
do
if orig[orig_index]=Alph[alphabet_Index]
then
begin
codiert:=codiert+Alph[alphabet_index + bewegen
mod(Length(Alph)
div 2)];
//eckige Klammer: spricht jedes Zeichen einzeln an
isInAlphabet:=true;
end
else if orig[orig_index]=upcase(Alph[alphabet_index])
then begin
codiert:= codiert+UpCase(Alph[alphabet_index+bewegen
mod(Length(Alph)
div 2)]);
IsInAlphabet:=true;
end;
if isInAlphabet = false
then
codiert:=codiert+orig[orig_index];
end;
result:=codiert;
end;
end.