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;
{*******************************************************}