Kolejny raz Sleep...

0

Witajcie! Napisałem program, w pewnym momencie wyświetla on tekst na ekranie (DelphiX, TextOut), po czym powinien się zatrzymać, a na końcu ZaPutPixelować cały ekran (to ostatnie to jedyny dla mnie znany sposob na ClrScr dla DDraw....)... czyli:
1.Wyswietlic tekst
2.Poczekac
3.Zamazac/wyczyscic ekran...

tylko ze to sie wykonuje o dziwo w takiej kolejnosci: wyswietlic, zamazac, poczekac.... co z tym zrobic ? Do 'poczekania' uzywam sleep... Jeżeli jest taka (łatwiejsza) możliwość, to wiecie moze jak zrobic pod_Delphi

repeat
  klawisz=readkey; 
  (_nic_nie_rob_wszystko_pauzuj_)
until (klawisz=char(13))

Czyli po prostu chce wyswietlic tekst, poczekac albo kilka sekund albo na nacisniecie przycisku i zamazac caly ekran.... Z gory dziekuje za pomoc.

0

Sproboj uzyc TTimer. Podany przyklad zamknie okno.

procedure TForm2.Timer1Timer(Sender: TObject);
begin
Close; //Interval ustawiony we wlasciwosciach na np.5000 (5 sekund)
end;

Przyklad ze Sleep - proste odliczanie w TMemo

procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
Memo1.Lines.Clear;
for i:=5 downto 0 do //rozpoczynamy odliczanie
begin
Sleep(1000); //co 1 sekunde
Memo1.Lines.Add(IntToStr(i));
Memo1.Lines.Clear;
end;
Memo1.Lines.Add('Koniec');
sleep(1000);
Memo1.Lines.Add('Zamykanie programu');
Sleep(3000);
Close;
end;
end.

I jeszcze jedno - czasami przydaje sie
Application.ProcessMessages; // zeby dac odetchnac systemowi.

... mam nadzieje, ze to troche pomoze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1