Zitat von
HelmHut:
...
x -> y -> z -> (und dann soll wieder a kommen)a -> b -> c
Also aus dem x soll ein c werden und KEIN Sonderzeichen
...
Kann mir jemand das helfen?
Dann werd ich doch eine Lösung geben
Delphi-Quellcode:
...
function decode(s:
string):
string;
var
i: Integer;
begin
for i := 1
to Length(s)
do
begin // Für alle Buchstaben
if UpCase(s[i])
in ['
A'..'
W']
then
begin // Wenn Buchstabe zwischen A und W ist
Inc(s[i],3);
// Um 3 Zeichen nach rechts verschieben
end
else
begin
if UpCase(s[i])
in ['
X'..'
Z']
then
begin // Wenn Buchstabe zwischen X, Y oder Z ist
Dec(s[i],23);
// Um 23 Zeichen nach links verschieben
// X = A, Y = B, Z = C
end;
end;
end;
Result := s;
// Verschlüsselten Text zurückgeben
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Lines.Text := decode(Memo1.Lines.Text);
end;
...
oder
Delphi-Quellcode:
...
function decodeBuchstabe(c: Char): Char;
begin
case c of
'a' : Result := 'd';
'b' : Result := 'e';
'c' : Result := 'f';
'd' : Result := 'g';
'e' : Result := 'h';
'f' : Result := 'i';
'g' : Result := 'j';
'h' : Result := 'k';
'i' : Result := 'l';
'j' : Result := 'm';
'k' : Result := 'n';
'l' : Result := 'o';
'm' : Result := 'p';
'n' : Result := 'q';
'o' : Result := 'r';
'p' : Result := 's';
'q' : Result := 't';
'r' : Result := 'u';
's' : Result := 'v';
't' : Result := 'w';
'u' : Result := 'x';
'v' : Result := 'y';
'w' : Result := 'z';
'x' : Result := 'a';
'y' : Result := 'b';
'z' : Result := 'c';
'A' : Result := 'D';
'B' : Result := 'E';
'C' : Result := 'F';
'D' : Result := 'G';
'E' : Result := 'H';
'F' : Result := 'I';
'G' : Result := 'J';
'H' : Result := 'K';
'I' : Result := 'L';
'J' : Result := 'M';
'K' : Result := 'N';
'L' : Result := 'O';
'M' : Result := 'P';
'N' : Result := 'Q';
'O' : Result := 'R';
'P' : Result := 'S';
'Q' : Result := 'T';
'R' : Result := 'U';
'S' : Result := 'V';
'T' : Result := 'W';
'U' : Result := 'X';
'V' : Result := 'Y';
'W' : Result := 'Z';
'X' : Result := 'A';
'Y' : Result := 'B';
'Z' : Result := 'C';
else
Result := c;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
s: string;
begin
s := Memo1.Lines.Text;
for i := 1 to Length(s) do
begin
s[i] := decodeBuchstabe(s[i]);
end;
Memo1.Lines.Text := s;
end;
...