![]() |
Re: Kryptologie Projekt in Delphi... HILFE !!!
Delphi-Quellcode:
so sollte es gehen...
procedure TForm1.verschluesselnClick(Sender: TObject);
var i,j,s:integer; begin s:=strtoint(schluessel.text); for j:=1 to s do begin for i:=0 to memo3.Lines.Count-1 DO begin memo4.text:=memo4.text+memo3.lines.strings[i][j]; end; end; end; alles in einer zeile Grüße Klaus |
Re: Kryptologie Projekt in Delphi... HILFE !!!
so ich hab mal einen verbalen Algirithmus für das entschlüsseln formuliert:
1. Ermittle Anzahl der Zeilen(memmo.lines.count) 2. Beginne mit dem 1. Buchstaben des verschluesselten textes. 3. (Springe 4 Stellen weiter, schreibe den (an dieser Stelle stehenden) Buchstaben)* schlüssel 4. (Gehe eine Stelle weiter, wiederhole 3.) solange bis length(verschluesselter text) . Das müsste eigentlich funktionieren. Die Schwierigkeit ist jetzt aber das in Delphi zu formulieren. Ich hab schon was versucht:
Delphi-Quellcode:
an der Stelle komme ich nicht weiter...
procedure TForm1.Button1Click(Sender: TObject);
var s,z,i,j:integer; vtext:string; begin z:=memo3.lines.count; s:=strtoint(schluessel.Text); vtext:=memo4.Text; memo3.Lines.Clear; for i:=0 to length(vtext) do begin for j:=1 to s Do begin XXXXXXXXX//hier müsste das innere der Klammer aus 3. und 4. formuliert werden... end; end; end; |
Re: Kryptologie Projekt in Delphi... HILFE !!!
Ich verstehe nicht ganz, wo das problem ist..
Wenn das verschluesseln nun schon klappt, dann ist das entschluesseln doch bei diesem Algorithmus ein Kinderspiel, man invertiert einfach den Verschluesselungsalgo.
Delphi-Quellcode:
dazu muss natuerlich auch das memo4 in der spaltenform sein.
procedure TForm1.verschluesselnClick(Sender: TObject);
var i,j,s:integer; begin //zunaechst memo3 leeren. s:=strtoint(schluessel.text); for j:=1 to s do begin for i:=0 to memo4.Lines.Count-1 DO begin memo3.text:=memo3.text+memo4.lines.strings[i][j]; end; end; end; Gruss Jan |
Re: Kryptologie Projekt in Delphi... HILFE !!!
setzt aus einem verschlüsselten String wieder den Originaltext zusammen.
Delphi-Quellcode:
trockendurchlauf:
procedure TForm1.Button1Click(Sender: TObject);
var s,i,j,z:integer; vtext,otext:string; begin s:=strtoint(schluessel.Text); // Schlüssellänge z:=length(vtext) div s // Anzahl der "Spalten" vtext:=memo4.Text; otext:=''; for i:=1 to z do // durchlaufe die Spalte, äußere Schleife for j:=1 to s do //durchlaufe die Zeilen, innere Schleife otext:=otext+vtext[((j-1)*z)+i)] // klartext zeichen an position (j-1)*zeilenanzahl + spaltennummer end; vtext = dsBiiteeeeilsis*inp* mit s = 5 z = 4 spalte 1 otext:=otext+vtext[(0*4)+1] otext=d otext:=otext+vtext[(1*4)+1] otext=di otext:=otext+vtext[(2*4)+1] otext=die otext:=otext+vtext[(3*4)+1] otext=dies otext:=otext+vtext[(4*4)+1] otext=diesi spalte2 otext:=otext+vtext[(0*4)+2] otext=diesis otext:=otext+vtext[(1*4)+2] otext=diesist otext:=otext+vtext[(2*4)+2] otext=diesiste otext:=otext+vtext[(3*4)+2] otext=diesistei otext:=otext+vtext[(4*4)+2] otext=diesistein spalte3 ... spalte4 otext:=otext+vtext[(0*4)+4] otext=diesis..i otext:=otext+vtext[(1*4)+4] otext=diesist..ie otext:=otext+vtext[(2*4)+4] otext=diesiste..iel otext:=otext+vtext[(3*4)+4] otext=diesistei..* otext:=otext+vtext[(3*4)+4] otext=diesistei..** Hoffe, es ist diesmal kein Denkfehler drin. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz