hallo,
ich habe lueckie's beispiel benutzt:
Delphi-Quellcode:
procedure delay(msec:longint);
var
start,stop:longint;
begin
start := gettickcount;
repeat
stop := gettickcount;
application.processmessages;
until (stop - start ) >= msec;
end;
jetzt gibts ein problem und zwar sorgt das "appliaction.processmessages dafür das andere sachen verarbeitet werden können...ein beispiel ist dieses hier:
Zitat:
[19:12:03] (02:13:08) <silent> !quiz start
[19:12:03] (02:13:10) <ism> ¤¤¤ Lade Fragen...
[19:12:03] (02:13:10) <ism> ¤¤¤ Fertig! - 4 Fragen geladen
[19:12:03] (02:13:10) <ism> ¤¤¤ Quiz beginnt
[19:12:03] (02:13:14) <ism> ¤¤¤ i?
[19:12:03] (02:13:37) <asdf> ...
[19:12:03] (02:13:46) <silent> muss was testen..
[19:12:03] (02:13:57) <asdf> !team satan
[19:12:03] (02:14:16) <ism> ¤¤¤ Zeit abgelaufen. Die richtige antwort wäre "s" gewesen
[19:12:03] (02:14:16) <silent> s
[19:12:03] (02:14:19) <ism> ¤¤¤ silent hat die Frage "i?" richtig, mit "s" beantwortet
[19:12:03] (02:14:19) <ism> ¤¤¤ silent hat jetzt 1 richtige Antwort(en)
wenn die frage aufgelöst wird tritt die pause ein, die 5 sekunden dauert bis zur nächsten frage. Wenn ich während diesen 5 sekunden das ergebnis (das ja schon aufgelöst wurde) eingebe, krieg ich es als richtige antwort angezeigt....
wie kann ich das nun angehen? mein prog soll die anderen prozeduren währen der pause nicht weiter verarbeiten...dennoch soll es aber ach nicht "abstürzen"...was kann man da machen?
btw: die procedure die die antworten prüft ist eine andere als die, in der die pause aufgerufen wird, diese sollte nicht verarbeitet werden