Taymer ilovasi. Yangi ilova yaratib, uning oynasiga Label, Button, SpinEdit va Timer obyektlarini joylaymiz. Label va Button sarlavhalarini QOLGAN VAQT: va START larga o‘zgartiramiz.
SpinEditning xossalarini quyidagicha o‘rnatamiz:
SpinEdit1.MaxValue:=100; SpinEdit1.Value:=30; SpinEdit1.Enabled:=False;
Button tugmasini ikki marta bosib, uning protsedurasiga
Timer1.Enabled:=True; operatorini kiritamiz. Timerni ikki marta bosib, TForm1.Timer1Timer protsedurasiga quyidagi dastur kodini kiritamiz:
SpinEdit1.Value:=SpinEdit1.Value-1; if SpinEdit1.Value=0 then
begin Timer1.Enabled:=False;
ShowMessage('VAQT TUGADI.'); Form1.Close;
end;
Bu protsedura har safar ishga tushganda, uning birinchi satridagi operator SpinEditning qiymatini bittaga kamaytiradi. Ikkinchi satrdagi operator SpinEditning qiymati 0 ga teng bo‘lganligini tekshiradi. Agar 0 bo‘lsa, to‘rtinchi satrdagi operator taymer ishini to‘xtatadi, beshinchi satrda ekranga muloqot darchasini chiqariladi. Bu oyna yopilishi bilan oltinchi satrdagi operator ilova oynasini yopadi va ilova o‘z ishini tugatadi.
Ilova ishga tushganda taymerning vaqtini SpinEditda o‘rnatamiz va Start tugmasini bosib, taymerni ishga tushiramiz. Taymerdagi vaqt kamayib boradi va u tugashi bilan ekranga muloqot darchasi chiqadi. Uni yopishimiz bilan ilova ham o‘z ishini tugatadi.
Ko‘pburchak diagonallari ilovasini avtomatlashtirish. Avvalgi mashg‘ulotda yaratilgan muntazam burchakning diagonallari nomli ilova
ishini avtomatlashtiramiz. Undagi tugmani bosganimizda ilova avtomatik tartibiga o‘tsin va har sekundda ko‘pburchakning burchaklari sonini bittaga oshirib, uning barcha diagonallarini chizib chiqsin. Tugma yana bir marta
bosilganda avtomatik tartibdan chiqib, kutish tartibiga o‘tsin. Tugma yana bir marta bosilganda ilova o‘z ishini davom ettirsin.
Ilovani Delphi ga qayta yuklab, unga Timer obyektini joylaymiz. Uning Enabled xossasining qiymatini yolg‘onga o‘tkazamiz. Button1 tugmasining sarlavhasini Start ga o‘zgartiramiz. Bu tugmani ikki marta bosib, hosil bo‘lgan protseduraga quyidagi ikki operatorni kiritamiz:
Form1.Timer1.Enabled:=not Form1.Timer1.Enabled; if Form1. Timer1.Enabled =True then Form1.Button1.Caption:='Stop' else Form1.Button1.Caption:='Start'
Birinchi qatordagi operator Timer1 ning faolligini Enabled xossasi yordamida teskarisiga o‘zgartiradi. Ikkinchi operator esa tugmadagi yozuvni Enabled qiymatiga qarab Stop yoki Start qilib o‘zgartiradi.
Timer1 ni ikki marta bosib, uning protsedurasiga quyidagi uch operatorni kiritamiz:
Form1.SpinEdit1.Value:=form1.SpinEdit1.Value+1; if Form1.SpinEdit1.Value>40
then Form1.SpinEdit1.Value:=3; diagonallar;
Bu operatorlardan birinchisi SpinEdit1 ning qiymatini bittaga oshiradi. Keyingi operator bu qiymat 40 dan oshib ketsa, uni 3 ga teng qilib qayta aniqlaydi. Uchinchi operator berilgan ko‘pburchakning diagonallarini chizib chiqadi.
Ilovani ishga tushirib, undagi tugmani bosamiz. Ekrandagi ko‘pburchaklarning diagonallarini chizilishini kuzatamiz. Kerak paytda tugmani yana bir marta bosib, ilova ishini to‘xtatib turamiz va ekrandagi ko‘pburchak diagonallarini batafsil ko‘rib chiqamiz. So‘ng tugmani yana bir marta bosib, keyingi ko‘pburchaklarning chizilishini tiklaymiz.
Taymer ishlatiladigan holatlarga misollar keltiring.
Timer obyekti obyektlar panelining qaysi jildida joylashgan?
Timer obyektining interval xossasi qanday vazifani bajaradi?
Timer obyektining Enabled xossasi qanday qiymat qabul qiladi va bu qiymat o‘zgarganda qanday hodisa ro‘y beradi?
Taymer ilovasida ShowMessage protsedurasi o‘rniga Label obyektidan foydalanib, qayta yarating.
Elektron soat ilovasini soat har sekundda qisqa ovoz signali beradigan qilib o‘zgartiring.
Do'stlaringiz bilan baham: |