Darslar 41–42 · 2 ta dars · N. I. Taylaqov (umumiy muharrir), A. B. Axmedov, M. D. Pardayeva, A. A. Abdug‘aniyev, U. M. Mirsanov. Informatika va axborot texnologiyalari, 10-sinf, 1-nashr. «Extremum-Press», Toshkent, 2017
41
ShowMessage oynasi
Darslik: 93–95-betlar
MaqsadShowMessage bilan foydalanuvchiga xabar chiqaradi, if…then…else bilan chegara qo‘yadi va IntToStr yordamida sonni matnga ulab sarlavhaga yozadi.
Yangi so‘zlar
ShowMessage · ShowMessage: a procedure that shows a small window with a text messageIntToStr · IntToStr: converts an integer to a text stringif … then … else · if … then … else: runs one statement when a condition is true and another when it is falsesatr · string: a sequence of characters, written in single quotes
Tushuntirish
Oyna tugma bosilganda cheksiz kengaysa, u ekrandan chiqib ketadi; bunga shart qo‘yish kerak. Shartli buyruq: if Form1.Width < 700 then … else … – shart rost bo‘lsa birinchi qism, yolg‘on bo‘lsa else dan keyingi qism bajariladi. Foydalanuvchiga sabab haqida aytish uchun ShowMessage('matn') ishlatiladi: u alohida kichik oyna chiqaradi va OK bosilmaguncha ilova kutib turadi. Satr ichida faqat lotin harflari va oddiy belgilar yozing, o‘zbekcha ‘ belgisi esa bir tirnoq bilan aralashib ketadi. Oyna o‘lchamini sarlavhada ko‘rsatish uchun son matnga aylantiriladi: Form1.Caption := 'Eni: ' + IntToStr(Form1.Width); IntToStr siz 'Eni: ' + Form1.Width xato beradi, chunki matnga son qo‘shib bo‘lmaydi. Birinchi bo‘lib shartni tekshiring va keyingina o‘zgartiring, shunda ilova chegaradan oshmaydi.
Namunalar
procedure TForm1.Button2Click(Sender: TObject); ⏎ begin ⏎ if Form1.Width > 300 then ⏎ begin ⏎ Form1.Width := Form1.Width - 20; ⏎ Form1.Height := Form1.Height - 10; ⏎ end ⏎ else ⏎ ShowMessage('Oyna yetarlicha kichik'); ⏎ end; «Kichraytir» tugmasi. Boshlang‘ich o‘lcham 500×350: 10 marta bosilganda eni 500–10·20 = 300, bo‘yi 350–10·10 = 250; 11-bosishda 300 > 300 yolg‘on bo‘lgani uchun xabar chiqadi.
Sarlavhada o‘lcham: Form1.Caption := 'Olcham: ' + IntToStr(Form1.Width) + ' x ' + IntToStr(Form1.Height); Oyna 600×350 bo‘lganda sarlavha Olcham: 600 x 350 bo‘ladi. Bu satr o‘lchamni o‘zgartirgandan keyin yozilishi kerak, shunda sarlavha yangi sonlarni ko‘rsatadi.
Sinfda faoliyat
«Chegara qo‘riqchisi»: juftlik chegarani 500 piksel qilib, ilovani yozadi; uni sinab, nechanchi bosishda xabar chiqishini oldindan hisoblaydi.
Mashq
1
Matnga sonni qo‘shishdan oldin sonni qaysi funksiya matnga aylantiradi?
IntToStr
2
Eni 500 dan boshlab har bosishda –20, shart Width > 300. Nechanchi bosishda xabar chiqadi?
11
3
ShowMessage('Salom') ilovaga nima qiladi?
Xabar oynasini chiqaradi va OK bosilguncha ilova kutadi.
4
Nima uchun 'Eni: ' + Form1.Width xato bo‘ladi?
Matn va butun son turlari har xil; sonni IntToStr bilan matnga aylantirish kerak.