Lösung eines Verschlüsselungsproblems

ich habe diesen text bekommen „aiwjqqtforjbajtqnkwhwjmlzpkimeex“
dann diesen text zum entschlüsseln „tilycnzvoewjhgtyacuadyitvcyofexx“
und diesen delphi quelltext zum besseren verständnis
procedure TForm1.Button3Click(Sender: TObject);
var z,i,xpos,ypos: integer;
var x,y,alpha,textb:string;
begin
alpha:=(‚abcdefghijklmnopqrstuvwxyz‘);
for i:=1 to length(edit4.text) do
begin
x:=copy(edit4.Text,i,1);
xpos:=Pos(x,alpha);
zahl1[i]:=xpos;

y:=copy(edit6.Text,i,1);
ypos:=Pos(y,alpha);
zahl2[i]:=ypos;
end;
for i:=1 to length(edit4.text) do
begin
z:= Zahl1[i]-(Zahl2[i])+1;
textb:=textb+beta[z];
end;
edit5.Text:=textb;
end;

weiß jemand die antwort
danke im vorraus Maehks

Hallo Maehks,

bitte nutze für Quellcode:

  • prehtml
  • Einrückungen/Leerzeilen
  • die Vorschaufunktion

procedure TForm1.Button3Click(Sender: TObject);

var z,i,xpos,ypos: integer;
var x,y,alpha,textb:string;

begin
alpha:=(‚abcdefghijklmnopqrstuvwxyz‘);

for i:=1 to length(edit4.text) do
begin
x:=copy(edit4.Text,i,1);
xpos:=Pos(x,alpha);
zahl1[i]:=xpos;

y:=copy(edit6.Text,i,1);
ypos:=Pos(y,alpha);
zahl2[i]:=ypos;
end;

for i:=1 to length(edit4.text) do
begin
z:= Zahl1[i]-(Zahl2[i])+1;
textb:=textb+beta[z];
end;

edit5.Text:=textb;
end;

Tipp: versuche den Code in eigenen Worten zu beschreiben und schreibe dann den Weg in die andere Richtung.

-> http://de.wikipedia.org/wiki/Algorithmus
-> http://de.wikipedia.org/wiki/Kryptographie
-> http://de.wikipedia.org/wiki/Verschl%C3%BCsselung

Versuche Fachbegriffe für „text“, „text zum entschlüsseln“ und „antwort“ zu verwenden. Es lohnt sich für das tiefere Verständnis und hilft bei Recherchen :wink:

Hattest du den Code schon kompiliert und ausgeführt?

Grüße Roman

weiß jemand die antwort
danke im vorraus Maehks

Hallo Maehks,
dazu braucht man noch einige Informationen:
* Was steht im Eingabefeld „Edit4“?
* Was steht im Eingabefeld „Edit6“?
* was steht in der Variablen „Beta“?

Wenn du diese Fragen beantwortet hast, kann man das Programm ablaufen lassen und sehen, was dabei heraus kommt.

Viele Grüße, Ing

Danke danke danke ,

bitte nutze für Quellcode:

  • prehtml
  • Einrückungen/Leerzeilen
  • die Vorschaufunktion

Ja genauso wird auch eine Antwort daraus. Hätte ich sonst nicht beantwortet.

Ich habs mal dokumentiert . vielleicht hilft dir das .

procedure TForm1.Button3Click(Sender: TObject);

var z,i,xpos,ypos: integer;
var x,y,alpha,textb:string;

begin
alpha:=(‚abcdefghijklmnopqrstuvwxyz‘);

positionen schreiben für die zeichen

for i:=1 to length(edit4.text) do
begin

für edit4 textfeld

pack in x das aktuell zu lesende zeichen

x:=copy(edit4.Text,i,1);

finde position des zeichen in alpha

xpos:=Pos(x,alpha);

speicher die gefundene position in zahl1

zahl1[i]:=xpos;

für edit6 textfeld

pack in y das aktuell zu lesende zeichen

y:=copy(edit6.Text,i,1);

finde position des zeichen in alpha

ypos:=Pos(y,alpha);

speicher die gefundene position in zahl2

zahl2[i]:=ypos;
end;

nun hat man zwei reihen ,

bei dem jeder buchstabe als zahl abgebildet ist .

somit kann man den eigentlichen

(ver/ent)schlüsselungs mechanismus starten .

for i:=1 to length(edit4.text) do
begin

pack in z das ergebnis von Zahl1 an position i

minus Zahl2 an position i plus 1

z:= Zahl1[i]-(Zahl2[i])+1;

hänge an textb den wert aus beta

an der position z an.

textb:=textb+beta[z];
end;

ergebnis in edit5 eintragen.

edit5.Text:=textb;
end;

Thomas Punkt.