Einzelnen Beitrag anzeigen

monta

Registriert seit: 18. Okt 2004
Ort: Dresden
141 Beiträge
 
#6

Re: Bug im Programm bitte um Hilfe

  Alt 27. Feb 2007, 23:15
Unabhängig vom Timer, was mir auffällt, wenn ich mich jetzt nicht vertan hab:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Lines.LoadFromFile(opn.FileName);
z := 50;
x := 0; //<<da wird x initialisiert
Timer1.Enabled := true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Repeat
insert := RichEdit1.Lines.Strings[x];
memo1.Lines.Add(insert);
x := x +1;
Until x = z; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Timer1.Enabled := false;
if x = z then
begin
SaveDialog1.Execute;
memo1.Lines.SaveToFile(SaveDialog1.FileName);
x := x + 50;
z := z + 50;
memo1.clear;
Timer1.Enabled := true;
end;
Du initialisierst x einmal, bevor du den Timmer startest. Allerdings ruft sich der Timmer anschließend ja selbst wieder auf, bzw. setzt sich zumindest auf enable, allerdings wird dabei nirgends x erneut auf Null gesetzt, woher die Abbruchbedingung auch nie eintritt, weil x weiter hoch zählt.

wenn du es unbedingt so machen willst, kannst du ja beispielsweise ein x mod 50 = 0 als Bedingung einsetzen.
Johannes M.
.
  Mit Zitat antworten Zitat