Entwickler-Ecke

Windows API - Verzögerungen: OnTimer ohne TTimer


TheUnknown - So 10.08.03 11:35
Titel: Verzögerungen: OnTimer ohne TTimer
Kann ich OHNE TTimer-Komponente etwas mit Zeitverschiebung auslösen? Also sagen wir mal: Ich klicke auf einen Button, aber erst zwei Sekunden später passiert etwas, weil in der OnClick-Prozedur des Buttons sinngemäß steht:


Quelltext
1:
2:
3:
4:
5:
begin
  ...
  Wait(2000);
  ...
end;


Der Aufruf ist sicherlich nicht so simpel, wie ich es aufführte, aber geht es irgendwie OHNE TTIMER?


Delete - So 10.08.03 12:09

Suche in: Delphi-Forum, Delphi-Library DELAY


TheUnknown - So 10.08.03 12:51

Danke Luckie!

Hier das, was ich sucht und fand! ;-)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Autor der Source ist LUCKIE

procedure Delay(MSec: Longint);
var Start, Stop: Longint;
begin
  Start := GetTickCount;
  repeat
    Stop := GetTickCount;
    Application.ProcessMessages;
  until (Stop - Start ) >= msec;
end;


Frase - So 10.08.03 20:50

!

Soweit Luckie nicht Administrator von Delphi-Total war, dürfte der oben genannte Code nicht von ihm stammen!

Der gleiche Code findet sich auch auf delphi-source.de mit dem Copyright-Vermerk "Beitrag von ehemals Delphi-Total"

Link:http://www.tipps.delphi-source.de/sonstiges/tut20020910-1.shtml


Delete - Mo 11.08.03 01:39

Hm, ich wüßte auch nicht, dass der Code von mir ist. Wo steht denn das?


TheUnknown - Mo 11.08.03 07:51

Hmmm, als ich auf den "Delay"-Suchen-Link klickte, kamen halt diverse Suchergebnisse. Und irgendwo in diesen Ergebnissen kam halt die geschilderte Source (auf auq.de). Und die Person, die es postete war Luckie...

Daher dachte ich, es war auch Lucikie, der diese Source "erfand"...


Delete - Mo 11.08.03 08:13

Veröffentlicher nicht gleich Autor. :wink:


TheUnknown - Mo 11.08.03 09:34

@Luckie: Natürlich, weiss ich ja auch. Aber normalerweise bist Du ja oftmals derjenige, die Lösung kund tut! ;-)

Also: SORRY, okay?


Frase - Di 12.08.03 19:41

hm..
aha.

(@ mods: Dies soll übrigens kein SPAM darstellen... Mir ist bloß nix eingefallen und ich wollte auch nicht so zun, als ob ich mich da plötzlich raushalten würde...)


Tino - Mi 13.08.03 09:31

@Frase: Ich verstehe trotzdem nicht was dein Posting für einen Sinn hat?

Gruß
Tino


BungeeBug - Mi 13.08.03 11:56

keinen ... man könnte auch schreiben

Quelltext
1:
*nachobenschieb*                    

oder

Quelltext
1:
*postinganzahlerhöh                    


aber nu wird Off Topic :)

Kann man nicht nen Timer selbst baun? ich meine ich hätte mel irgendwo so ne WinAPI lösung geshen?!

@ Luckie kann es sein in deinem tut?


Delete - Mi 13.08.03 11:59

Keine Ahnung, wo ich den Code her habe oder mal benutzt habe.


AndyB - Mi 13.08.03 12:01

BungeeBug hat folgendes geschrieben:
Kann man nicht nen Timer selbst baun? ich meine ich hätte mel irgendwo so ne WinAPI lösung geshen?!


Das würde über einen Thread gehen. Wird aber dann im Gegensatz zu einem TTimer doch etwas umfangreicher und bringt für das obige Beispiel recht wenig.


Anonymous - Mi 13.08.03 12:20

Delphihilfe auf -> "createtimer" und "killtimer".
Das ist aber das Selbe wie der TTimer, der basiert dadrauf. Allerdings kann man dann ein Intervall von 0 einstellen.