Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Pause einfügen | Alternative für sleep??
Thunder00 - Fr 24.01.03 17:10
Titel: Pause einfügen | Alternative für sleep??
Hallo,
Ich suche seit längerem ne Möglichkeit, eine Pause in den Code einzufügen, wo Delphi dann eine bestimmte Zeit wartet, bis es weitergeht.
Da habe cih den befehl
sleep gefunden.
Leider funktioniert der
nie so wie ich das will. hier ist mein zurzeitiges problem:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Edit1Click(Sender: TObject); begin If Edit1.Enabled = False then begin Button1.Font.Color := clRed; sleep(900); Button1.Font.Color := clWindowText; Button2.Font.Color := clRed; sleep(900); Button1.Font.Color := clRed; Button2.Font.Color := clWindowText; end; end; |
Ich will, das wenn auf ein TEdit geklickt wird, das 2 buttons "flashen". Also die schrift quasi aufleuchtet. das hab ich so geregelt, das ich die farbe verändere...aber das geht net...
Bitte helft mir...
Der wartet immer nur ne kurze zeit ab, in der zeit passiert aber nix.
Vielen Dank im VOraus
hansg - Fr 24.01.03 17:13
Hallo,
versuche es doch mal dem Timer.
Gruß Hans
Thunder00 - Fr 24.01.03 17:43
Hallo,
Mit dem Timer kann ich aber nur Sekunden-genau...ich brauch aber am besten Milisekunden, weil Sekunden zu lang sind...
Alibi - Fr 24.01.03 18:14
Hi,
mach daraus mal das hier:
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:
| procedure Delay(time:Integer); var i: integer; begin for i := 0 to time do begin Application.ProcessMessages; Sleep(1); end; end;
procedure TForm1.Edit1Click(Sender: TObject); begin If Edit1.Enabled = False then begin Button1.Font.Color := clRed; delay(900); Button1.Font.Color := clWindowText; delay(900); Button1.Font.Color := clRed; delay(900); Button2.Font.Color := clWindowText; end; end; |
Anonymous - Fr 24.01.03 18:25
Thunder00 hat folgendes geschrieben: |
Hallo,
Mit dem Timer kann ich aber nur Sekunden-genau...ich brauch aber am besten Milisekunden, weil Sekunden zu lang sind... |
Wie kommst du drauf, daß Timer nur Sekundengenau ist. Du kannst auch 1/1000 Sekunden einstellen.
Zurück zu Sleep. Setzt
vor Sleep
Quelltext
1:
| Application.ProcessMessages; |
ein. Dann wird es auch funktionieren.
Allerdings ist die Sleep Geschichte sowieso Blödsinn. In der Zeit ist der Button blockiert. Wenn, dann würde ich eine Timervariante erstellen.
mimi - So 26.01.03 00:16
Also ich nutze für sowas immer ein Timer.
Dort habe ich eine variable die ich hochzähle und per if abfrage wenn es soweit ist das der die nächste zeiele gestart werden kann;)
den timer habe ich hier bei auf INterval= 1
MFG
Michael Springwald
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!