Autor Beitrag
Waldkauz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Fr 27.03.09 18:15 
Hallo!

Also, ich bastle gerade an einem StadtLandFluss-Spiel (ist keine Hausaufgabe sondern eine Art Projekt, wo Schüler ihre eigenen Programme entwerfen).
Während eine Uhr in einem Edit-Feld 120 Sekunden herunterzählt, hat kann man in die Edit-Felder wo man Stadt, Land, Fluss etc. reinschreibt, etwas reinschreiben - das funktioniert schonmal.
Ich möchte aber einen zusätzlichen Button machen, auf den man klicken kann, während die Zeit läuft, und der dann den Countdown sozusagen anhält.
Mit sleep ist das ja aber problematisch, weil man da ja, während der sleepfunktion keine Buttons betätigen kann.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button1Click(Sender: TObject);    //das ist der Button der den Countdown einschaltet
var
  I: Integer;
begin
  for I := 12000 downto 20 do
  begin
    sleep(10);
    Application.ProcessMessages;
    Edit7.Text:=intToStr(Round(I/100));
  end;
end;


Gibt es andere Zeit-Funktionen?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 27.03.09 18:25 
:puke: Sleep :mrgreen:
Sleep ist für so ein Anwendungsgebiet gänzlich ungeeignet.
Schau dir mal TTimer an, such auch im Forum ein bisschen danach. Diese Komponente löst ihr Ereignis onTimer immer wieder auf, mit *myTimer.Interval* Milisekunden Abstand. Für dein Anwendungsgebiet: Interval auf 1000 ms stellen (=1 Sekunde) und im onTimer Ereignis herunterzählen. Mit myTimer.Enabled := True/False kannst du entscheiden, ob der Countdown laufen soll oder nicht.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 27.03.09 18:25 
Bnutze einen Timer und eine globale Variable für die vergangenen Sekunden.
Waldkauz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Fr 27.03.09 19:54 
Hey danke!
Is genau das, was ich brauchte.