Darslar 47–48 · 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
48
Amaliy mashg‘ulot
Darslik: 105–106-betlar
MaqsadEdit va Label larni birga ishlatib, matnni tekshiradigan va hisoblaydigan kichik ilovalar yaratadi; Length va UpperCase funksiyalaridan foydalanadi.
Yangi so‘zlar
Length · Length: a function that returns the number of characters in a stringUpperCase · UpperCase: a function that converts a string to capital lettersOnChange · OnChange: the event of the text in an Edit changingbo‘sh satr · empty string: a string with no characters, written as ''
Tushuntirish
Amaliy mashg‘ulotda Edit bilan ishlashning uchta ilovasi yaratiladi. Birinchisi – «Belgilar sanagich»: Edit1 ga so‘z kiritiladi, tugma bosilganda Label1.Caption := 'Belgilar: ' + IntToStr(Length(Edit1.Text)); chiqadi. Length probel va tinish belgilarini ham sanaydi. Ikkinchisi – «Katta harflar»: Edit2.Text := UpperCase(Edit1.Text); matnni bosh harflarga o‘tkazadi (UpperCase Delphi ning SysUtils bo‘limidan, bu bo‘lim yangi ilovada odatda tayyor ulangan bo‘ladi). Uchinchisi – tozalash: Edit1 ning OnChange hodisasiga (Object Inspector – Events yorlig‘ida ikki marta bosing) Label1.Caption := ''; yoziladi, shunda matn o‘zgarishi bilan eskirgan belgilar soni o‘chadi. Har bir ilovada kutilgan natijalarni sinashdan oldin daftarga yozing.
Namunalar
Length('informatika') = 11, Length('Ali Vali') = 8 (probel ham sanaladi). Edit1 da kompyuter bo‘lsa, Label: Belgilar: 9. UpperCase('salom 5a') natijasi SALOM 5A.
OnChange da Label1 ni tozalash: procedure TForm1.Edit1Change(Sender: TObject); ⏎ begin ⏎ Label1.Caption := ''; ⏎ end; «Belgilar: 9» chiqqandan keyin foydalanuvchi Edit1 dagi so‘zga bitta harf qo‘shsa, eski son o‘chadi: endi u noto‘g‘ri bo‘lardi. Tugma qayta bosilganda yangi son chiqadi.
Sinfda faoliyat
«Belgi hisoblagich»: har bir o‘quvchi daftarga 5 ta so‘z yozib, Length ni oldindan hisoblaydi; juft ilovadan foydalanib tekshiradi va farqni topsa sababini yozadi.
Mashq
1
Length('maktab') nechaga teng?
6
2
Length('10 A sinf') nechaga teng (probel ham sanaladi)?
9
3
UpperCase('ali') natijasi?
ALI
4
Nima uchun OnChange da eski natijani o‘chirish foydalanuvchi uchun qulay?
Matn o‘zgargach eski natija endi to‘g‘ri emas; uni o‘chirish chalkashlikning oldini oladi.