Thema: Delphi procedure waten lassen

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: procedure waten lassen

  Alt 19. Dez 2003, 02:22
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
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat