Entwickler-Ecke

Sonstiges (Delphi) - Zeit soll bei einem Quiz ablaufen


darealjul - Mi 27.02.08 22:27
Titel: Zeit soll bei einem Quiz ablaufen
Hallo, ich habe ein quiz geschrieben nun wollte ich noch ein zusatzfeaure einbauen das wenn ein bestimmten zeit rum ist,m das man dann auch verloren hat. jedoch hab ich jetz nicht so die ahnung wie ich das mache, wenn mir jemand also mal ein paar tips geben könnte wäre ich euch sehr verbunden. danke schon mal im vorfeld.


Moderiert von user profile iconChristian S.: Topic aus Open Source Units verschoben am Mi 27.02.2008 um 21:28


nagel - Mi 27.02.08 22:38

Du brauchst einen Suche in: Delphi-Forum TIMER.


†halia - Mo 03.03.08 18:00

Die Timerkomponente ist immer auf 1sec pro Durchlauf voreingestellt. Wenn du also beispielsweise einem Spieler 1min Zeit geben willst, dann lass den Timer pro Durchlauf eine Integer-Variable um 1 aufwerten. Und frag ab, ob die Variable schon 60 ist.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  count:=count+1;   //count wird aufgewertet

  if count>10 then   //Timer fragt ab, ob count schon 60 ist
   begin
    Form1.Label1.Caption:='Zeit abgelaufen!';   //Nachricht
    count:=0;                       //Programm wird für den nächsten
    Form1.Timer1.Enabled:=false;   // Start vorbereitet
   end;
end;

procedure TForm1.ButtonZeitLaeuftClick(Sender: TObject);
begin
  Form1.Timer1.Enabled:=true;   //Voreinstellung im Objektinspektor false!
end;


Hoffe es hilft dir. :)

†halia


Yogu - Mo 03.03.08 18:18

user profile icon†halia hat folgendes geschrieben:

Delphi-Quelltext
1:
if count>10 then   //Timer fragt ab, ob count schon 60 ist                    

Das würde ich bezweifeln ;)

Warum stellst du nicht einfach den Interval des Timers auf 60000? Dann brauchst du gar keine umständliche Zählerei...

Außerdem brauchst du nicht Form1.Irgendwas; schreiben, weil die Prozedur schon eine Methode von TForm1 ist. Es reicht also, Irgendwas; aufzurufen.


†halia - Di 04.03.08 13:33

Da hat user profile iconYogu natürlich recht. Muss heißen if count>60 then. Hatte vergessen es nach dem Testlauf wieder auf 60 zu setzen. Sorry :oops:

†halia