|
Community
Szene & News
Locations
Impressum
|
Forum / Bits und Bytes
Lazarus / Delphi - Problem

39 - 31
Champion
(offline)
Dabei seit 07.2009
7448
Beiträge
|
|
Geschrieben am: 26.11.2009 um 17:21 Uhr
|
|
Hi Leute!
Ich hab gerade ein Problem mit Lazarus (Das ist die Kostenlose Version von Delphi Pro)
Weiß einer von euch, wie man "wait" im zusammenhang mit dem Timer benutzt?
Also ich meine, dass er einen Befehl mach, WARTET, weiter macht.
Ich weiß, dass es geht, aber ich hab kein Plan wie.
Danke im Vorraus
PS: Bitte keine Überflüssigen Kommentare!
Achtung: Kraftpakets Beiträge sind, egal mit wessen Zustimmung, grundsätzlich unügltig!
|
|
Happy_Hippo - 35
Anfänger
(offline)
Dabei seit 10.2007
19
Beiträge
|
Geschrieben am: 26.11.2009 um 17:28 Uhr
Zuletzt editiert am: 26.11.2009 um 17:29 Uhr
|
|
Muss es mit Timer sein??
Ansonsten würd ichs mit der prozedur machen:
sleep(integer in ms);
oder
procedure Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
if Application.Terminated then Exit;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
end;
...
|
|
39 - 31
Champion
(offline)
Dabei seit 07.2009
7448
Beiträge
|
|
Geschrieben am: 26.11.2009 um 17:33 Uhr
|
|
Zitat von Happy_Hippo: Muss es mit Timer sein??
Ansonsten würd ichs mit der prozedur machen:
sleep(integer in ms);
oder
procedure Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
if Application.Terminated then Exit;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
end;
OK, und das kommt jetzt zwischen 1. Befehl und 2. Befehl?
Achtung: Kraftpakets Beiträge sind, egal mit wessen Zustimmung, grundsätzlich unügltig!
|
|
Page666 - 46
Profi
(offline)
Dabei seit 07.2005
612
Beiträge
|
|
Geschrieben am: 26.11.2009 um 17:51 Uhr
|
|
Zitat von 39: Zitat von Happy_Hippo: Muss es mit Timer sein??
Ansonsten würd ichs mit der prozedur machen:
sleep(integer in ms);
oder
procedure Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
if Application.Terminated then Exit;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
end;
OK, und das kommt jetzt zwischen 1. Befehl und 2. Befehl?
Nein, zwischen Befehl 1 und 2 musst Du die Prozedur aufrufen.
https://www.youtube.com/user/wormcluster
|
|
39 - 31
Champion
(offline)
Dabei seit 07.2009
7448
Beiträge
|
Geschrieben am: 26.11.2009 um 17:53 Uhr
Zuletzt editiert am: 26.11.2009 um 17:53 Uhr
|
|
Zitat von Page666: Zitat von 39:
OK, und das kommt jetzt zwischen 1. Befehl und 2. Befehl?
Nein, zwischen Befehl 1 und 2 musst Du die Prozedur aufrufen.
Also das Hier:
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
if Application.Terminated then Exit;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
oder was?
Achtung: Kraftpakets Beiträge sind, egal mit wessen Zustimmung, grundsätzlich unügltig!
|
|
Page666 - 46
Profi
(offline)
Dabei seit 07.2005
612
Beiträge
|
|
Geschrieben am: 26.11.2009 um 18:10 Uhr
|
|
Weisst Du nicht, wie man Prozeduren definiert und aufruft? Dann mach´s doch lieber so: [1.Befehl] sleep([Wert in Millisekunden, wie lange gewartet werden soll]) [2. Befehl]
https://www.youtube.com/user/wormcluster
|
|
39 - 31
Champion
(offline)
Dabei seit 07.2009
7448
Beiträge
|
|
Geschrieben am: 26.11.2009 um 19:22 Uhr
|
|
aha, das geht!
Achtung: Kraftpakets Beiträge sind, egal mit wessen Zustimmung, grundsätzlich unügltig!
|
|
Forum / Bits und Bytes
|