Autor Beitrag
luckyluc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 103



BeitragVerfasst: Fr 22.05.09 14:19 
Hallo!
in der while-schleife (siehe pas-datei) befindet sich eine endlosschleife, obwohl ja eigentlich einne abbruchbedingung gegeben ist. kann mir jmd. den fehler zu finden?
danke!


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Fr 22.05.2009 um 14:26
Einloggen, um Attachments anzusehen!
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 22.05.09 14:21 
Könntest du bitte den relevanten Sourcecode hier ins Forum schreiben? (Delphi Tags nicht vergessen)

_________________
PROGRAMMER: A device for converting coffee into software.
Michael Stenzel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 133


D3 Prof, D7 PE
BeitragVerfasst: Fr 22.05.09 14:48 
Hi luckyluc.

Hier dein Source:
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:
26:
27:
28:
29:
30:
 procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
spalten := spinedit1.Value;
i:= 1;
laenge:= length(edit1.text);
while (laenge mod spalten) <> 0 do
edit1.Text:= edit1.Text + '@';
for zeile := 1 to (laenge div spalten) do
begin
 for spalte := 1 to spalten do
 begin
  matrix[zeile,spalte]:= edit1.text[i];
  inc(i);
  end;
  end;


edit2.text:= '';
while (laenge mod spalten) <> 0 do
edit1.Text:= edit1.Text + '@';
for spalte := 1 to spalten do
begin
  for zeile := 1 to (laenge div spalten) do
  begin
  edit2.text:= edit2.Text+matrix[zeile,spalte];
  end;
end;
end;


In deiner While-Schleife werden die Variablen laenge und spalten nicht verändert. Deshalb können die Schleifen nicht enden.

Gruß
Michael.
luckyluc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 103



BeitragVerfasst: Fr 22.05.09 14:55 
danke, nur die spalten sollen sich ja nicht ändern, die laenge ändert sich doch eigentl. automatisch, denn wenn ein zeichen hinzugefügt wird, ist die laenge doch verändert. oder nicht?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 22.05.09 15:00 
Die Variable laenge wird aber nicht verändert, nur weil sich der String verändert, mit dessen Länge die Variable anfangs gefüllt wurde. ;-)

_________________
We are, we were and will not be.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 22.05.09 15:00 
user profile iconluckyluc hat folgendes geschrieben Zum zitierten Posting springen:
danke, nur die spalten sollen sich ja nicht ändern, die laenge ändert sich doch eigentl. automatisch, denn wenn ein zeichen hinzugefügt wird, ist die laenge doch verändert. oder nicht?


Nö, weil du Laenge nur einmal ganz am Anfang setzt (Zeile 7), aber nicht mehr innerhalb der Schleife.

_________________
PROGRAMMER: A device for converting coffee into software.
luckyluc Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 103



BeitragVerfasst: Fr 22.05.09 15:08 
ach ja klar, wie logisch. danke an alle.