Delphi 7ben egy gombra raktam timert, hogy tudom a hátralévő időt kiíratni pl egy labelre?
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..
É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..
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!