Delphi5: Delay in einer FOR-Schleife?

Hallo Zusammen,

ist es mögliche eine triviale FOR-Schleife durch eine Delay-Funktion für einen Augenblick anzuhalten? Gibt es eine Funktion in der Richtung? Oder weiß evtl. jemand wie man es anders machen könnte? Zur Info, das Programm muß während des Delay’s auf keine Eingaben reagieren.

Vielen Dank.

MfG
P.Wolf

Hallo,

mit einem Timer und einer Zählvariable kann man eine Warteschleife definieren. Die Prozedur läßt Benutzereingaben zu und könnte auf Abbruchbedingungen reagieren.
Die Warteschleife kann durch „WaitForSeconds(x)“ an beliebiger Stelle im Programm aufgerufen werden. Sicher geht das auch eleganter, aber es funktioniert auch so.

Gruß
U.Teichert
{*******************************************************}
type
TDataModul = class(TDataModule)

WaitTimer: TTimer;
public
{ Public-Deklarationen }
waitcounter : Integer;

end;
{*******************************************************}
procedure TDataModul.WaitForSeconds(Seconds:Integer);
begin
WaitTimer.enabled:=true;
WaitCounter:=0;
Repeat
Application.ProcessMessages; {Reaktion auf Eingabe}
// If Abbruchbedingung then break;
until WaitCounter>=seconds;
WaitTimer.enabled:=false;
end;
{*******************************************************}
procedure TDataModul.WaitTimerTimer(Sender: TObject);
begin {WaitTimer.Interval auf 1000 stellen}
inc(WaitCounter);
end;
{*******************************************************}

Hi Pepe,

ist es mögliche eine triviale FOR-Schleife durch eine
Delay-Funktion für einen Augenblick anzuhalten? Gibt es eine
Funktion in der Richtung?

das sollte am einfachsten mit der Windows-Funktion „Sleep“ zu bewerkstelligen sein. Die nötigen Gebrauchshinweise findest Du in der Online-Hilfe (Windows-SDK).

Gruß
Martin

Vielen Dank Euch beiden. Habt mir beide schon sehr geholfen. Danke und ein schönes Wochende.

MfG
P. Wolf