Kezdőoldal » Számítástechnika » Programozás » Delphi 7ben egy gombra raktam...

Delphi 7ben egy gombra raktam timert, hogy tudom a hátralévő időt kiíratni pl egy labelre?

Figyelt kérdés
2009. dec. 21. 12:58
 1/3 anonim ***** válasza:

Gombra raktál tájmert?:D

Eh.. Kit izgat? Tök mindegy hova rakod..:D

A Timer komponens ugye úgy működik hogy beállítasz egy időt hogy annyi időközönként hívja meg a Ontimer eseményét, bár van vizuális helye a programban, lényegtelen, nem számít hova rakod.


Kiiratni az idejét, két timerrel lehet csak (vagy szálakkal).


Szóval van egy Timer, aminek ki akarod írni a hátralevő idejét.. Ez mondjuk 1000ms van beállítva..


Akkor szükséged lesz még egy Timerre, amivel számolod hogy az 1000ms-nek mikor van vége..


Mondjuk Timer2nek intervalja legyen 100..

kell egy Globális változó

var form1 : TForm; //Ez ugye alapból meg van

Current : integer;


procedure TForm1.OnTimer2(sender :tobject);

begin

Current := Current + 100; //100=Timer2.interval

label1.caption := 'Timer egy meghívásából ennyi millisecond van vissza: ' + inttostr(Timer1.interval-Current);


end;



Ez még nem elég..


procedure TForm1.OnTimer1(sender :tobject);

begin

Current := 0;

end;


Így minden bizonnyal jó lesz..Ha nem érted akk írj, bár leírhattad vna bővebben h mit akarsz lehet tudtam volna jobb megoldást adni..

2009. dec. 27. 08:52
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Köszi!Na tehát egy kvíz programot csinálok,és nem szó szerint a gombra raktam a timert:D Hanem a timer a gombot(azt amivel a köv kérdésre lehet ugrani) nyomja meg 1 percenként(60000 interval idő),és úgy akarom hogy írja ki mindig mennyi van még hátra,azaz aki használja a programot tudja hogy mennyi ideje van még 1 kérdésre.
2009. dec. 27. 10:29
 3/3 anonim ***** válasza:

Én vagyok..

Akkor célszerűbb úgy csinálni hogy a Timert 1000ms-re rakod (tehát 1 másodpercre)..

Bevezetsz egy globális változót hogy hány másodperc telt el. Minden egyes másodpercnél kiirod hogy mennyi van még..És ha eléri a 60at akkor kattintasz a gombra vagy köv kérdés vagy amit akarsz..

szal..

var mps : integer;

procedure TForm1.timer1iontimer(sender:Tobject);

begin

mps := mps + 1;

label.caption := 'Ennyi mp van vissza: ' + inttostr(60-mps);

if mps>=60 then begin

mps := 0;

Ujkerdes;

end;

end;


Ennyi..

2009. dec. 29. 17:56
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!