Autor Beitrag
mlhk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mi 06.05.09 15:00 
hey,
könntet ihr euch mal diesen quelltext anschauen, ich finde den fehler einfach nicht, das ist eine cäsar entschlüsselung mit combobox, also um einen text zu endschlüssel wen das weiß um wie jeder buchstabe verschoben wurde
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
function entschluesselung(text:string;zeichen,b:integer):string ;
var i,a : integer;
var ergtext : string;
begin
for i := 1 to zeichen do
begin
a:= ord(text[i]);
a:=a-b-1;
ergtext:=ergText+chr(a);
end;
text:='';
entschluesselung:= ergtext;
end;

procedure TForm2.E_entClick(Sender: TObject);
var text,funktionsergebnis:string;
var zeichen,b : integer;
begin
b:=ComboBoxEx1.ItemIndex;
text:=ausgabe.text;
zeichen:=length(text);
Lzeichen.Caption:= inttostr (zeichen);
funktionsergebnis:= entschluesselung(text,b,zeichen);
eingabe.text:=funktionsergebnis;
end;

schon mal danke im voraus

mfg
max

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Topic aus Open Source Projekte verschoben am Mi 06.05.2009 um 15:30
k-weddige
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 49

Win Vista Business
C# (VS 2008 Professional)
BeitragVerfasst: Mi 06.05.09 15:52 
Bei dem Code liegt einiges im Argen...
  1. Schau dir mal mod an.
  2. Die Länge des Textes als Parameter zu übergeben ist nur eine Fehlerquelle. Bestimm die in der Funktion!
  3. text:=''; ist überflüssig
  4. Anstatt ergtext kannst du auch gleich entschluesselung (oder result) benutzen.

_________________
Meine Programme sind perfekt, der Computer versteht sie bloß nicht.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 06.05.09 15:54 
Außerdem sind die Parameter b und zeichen wohl vertauscht.
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Do 07.05.09 18:14 
Bitte formatiere deinen Quelltext (Leerzeichen) und Co.. :wink:

Das macht den Code um einiges verständlicher, vor allem, da du sofort die Anzahl der begins und ends im Blick hast :)

So in etwa sieht das dann aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
function Entschluesselung(text:string; zeichen,b:integer):string ;
var i,a : integer;
    ergtext : string;
begin
  for i := 1 to zeichen do
  begin
   a:= ord(text[i]);
   a:=a-b-1;
   ergtext:=ergText+chr(a);
  end;
  //text:='';
  result:= ergtext;
end;

procedure TForm2.E_entClick(Sender: TObject);
var text,funktionsergebnis:string;
    zeichen,b : integer;
begin
  b:=ComboBoxEx1.ItemIndex;
  text:=ausgabe.text;
  zeichen:=length(text);
  Lzeichen.Caption:= inttostr (zeichen);
  funktionsergebnis:= entschluesselung(text,b,zeichen);
  eingabe.text:=funktionsergebnis;
end;

_________________
Die Lösung ist nicht siebzehn.
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Do 07.05.09 20:10 
Naja, ein Anfang. Zumindest die Einrückung ist korrekt. Für weiteres, was die Lesbarkeit deutlich erhöht (Gewohnheitssache, aber die meisten sind wohl daran gewöhnt): www.delphi-treff.de/delphi-styleguide/

So erstmal fällt es mir relativ schwer, bestimmte Abschnitte wiederzuerkennen.