PDA

View Full Version : چطور میشه که یک تامیر معکوس درست کرد که نمایش تامیر با Label باشه ؟



Valadi
سه شنبه 17 مرداد 1385, 06:40 صبح
چطور میشه که یک تامیر معکوس درست کرد که نمایش تامیر با Label باشه ؟
البته منظور این است فرض کنیم 60 ثانیه زمان نیاز داریم و حالا می خواهیم از 60 ,59 . 58 , 57 ,......, 5 , 4 , 3 , 2 , 1 , 0 و بعد رویداد انجام شود ؟

vcldeveloper
سه شنبه 17 مرداد 1385, 07:33 صبح
یک متغیر عددی تعریف می کنی (مثلا RemainedTime: integer).
متغیر بالا را مقداردهی اولیه می کنی (مثلا در رویداد OnCreate):
RemainedTime := 60
یک تایمر روی فرم میزاری و Interval اون را روی 1000 تنظیم می کنی، و Active اش میکنی.
در رویداد OnTimer کد کاهش مقدار RemainedTime را می نویسی:


Dec(RemainedTime);
Label1.Caption := IntToStr(RemainedTime);

Valadi
سه شنبه 17 مرداد 1385, 20:36 عصر
تشکر از راهنمایتان
این کار فرموده بودید انجام دادم و یک مسئله هست که من می خواهیم در زمان صفر توقف کند اما این کد رو به منفی می رود مثلا 5, 4 , 3 , 2 , 1 , 0 ,-1 , -2 , -3 , تا بی نهایت ؟؟؟

Delphi_OnLine999
چهارشنبه 18 مرداد 1385, 02:35 صبح
سلام دوست عزیز در زمانی که متغیر عددی شما به صفر رسید تایمر را غیر فعال کن


procedure TForm1.Timer1Timer(Sender: TObject);
const RemainedTime:Integer=60;
begin
Dec(RemainedTime);
Label1.Caption := IntToStr(RemainedTime);
if RemainedTime=0 then
Timer1.Enabled:=False;
end;