Registriert seit: 24. Mär 2009
364 Beiträge
|
Re: Fehlersuche
9. Apr 2009, 10:44
okay ich erkläre am code okay ?
also zu aller est, es ist ein Entschlüsselungs programm wobei jedem Buchstaben im Verschlüsselten Zustand 'y' Zalhen zu geordnet sind.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
String2 : string; // der Text den ich Endschöüsseln möchte
y : integer; // die Anzahl der Zahlen, die später einen Bustaben bilden
Schalter : integer;
sTemp1 : string; // die ersten 'y' Zahlen vom ganzen Textfeld
sTemp : integer ; // benötigt für die If abfrage
Va,Vb,Vc : integer; // Variablen, die beinhalten, welche Zahlenkombination welchem Bustaben entspricht
begin
// Variablen Deklarieren //
String2 := Copy(Edit2.Text,1, Length(Edit2.Text)); // Erstmal den ganzen 'verschlüsselten' Text kopieren
y:= StrToInt(Copy(Edit1.Text,1,1)); // die Anzahl der Zahlen, die einen Bustaben bilden, ist in dem Edit1 Feld die erst Zahl
Schalter := 0; // gebraucht für die repeat schleife
Edit3.Text := ''; // das ausgeabe Textfeld leeren
Va := 1234; // \
Vb := 5678; // Welche Zahlenkombi entspricht 'a' , 'b' , 'c' erstmal zu testzwecken fest deffiniert später dann halt als richtige Variablen...
vc := 9101; // /
// String stückeln//
repeat
begin
sTemp1:= Copy(String2, 1, y); // Die ersten 'y' Zeichen von dem 'verschlüsselten Text' Abtrennen
sTemp := StrToInt(sTemp1); // musste sein weil er sonst bei der if abfrage gesponnen hat
If (sTemp = Va) Then (Edit3.Text := Edit3.Text + 'a'); // prüfen ob die ersten 'y' Zahlen einem Bustaben entsprechen
If (sTemp = Vb) Then (Edit3.Text := Edit3.Text + 'b');
If (sTemp = Vc) Then (Edit3.Text := Edit3.Text + 'c');
inc(y) ; // für den nachfolgenden Schritt gebraucht
String2 := Copy(Edit2.Text,y, Length(Edit2.Text)); // kopiere vom Vollständingen verschlüsselten Text nur die Zeichen von einem Zeichen NACH 'y' (dafür hier auch der voreherige schritt) bis zum ende
If (y >= (Length(Edit2.Text))) Then // Wenn y größer oder gleich ist wie der ganze verschlüsselte text, soll die repeat-schleife aufhören
Schalter := 1 ;
End;
until (schalter = 1) ;
If (Schalter = 1) Then
ShowMessage('Fertig');
end;
|
|
Zitat
|