Darslar 57–58 · 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
57
Memo boshqarish obyekti
Darslik: 127–131-betlar
MaqsadMemo obyektini ishlatadi: Text va Lines xossalarini ajratadi, Lines.Add, Clear, Count, Insert, Delete, SaveToFile va LoadFromFile usullaridan foydalanadi va ko‘p satrli natijani Memo ga chiqaradi.
Yangi so‘zlar
Memo · Memo: a control for many lines of textLines · Lines: the list of text lines in a Memo, counted from 0Lines.Add · Lines.Add: a method that adds a new line at the endSaveToFile · SaveToFile: a method that writes the lines to a text file
Tushuntirish
Edit bir satrlik matn uchun mo‘ljallangan, ko‘p satrli ma’lumot uchun esa Memo (Standard yorlig‘i) ishlatiladi: u oddiy matn muharriri vazifasini bajaradi, uzun matn sig‘masa, aylantirish chiziqlari (ScrollBars) paydo bo‘ladi. Foydalanuvchi o‘zgartira olmasligi kerak bo‘lsa, ReadOnly = True qilinadi. Matn ikki xossa orqali olinadi: Text – butun matn bitta satr sifatida (satr oralari sLineBreak bilan ajratiladi) va Lines – satrlar ro‘yxati, ular 0 dan raqamlanadi. Lines ning usullari: Add('matn') – oxiriga satr qo‘shadi, Insert(i, 'matn') – i-satrdan oldin kiritadi, Delete(i) – o‘chiradi, Clear – hammasini tozalaydi; Lines.Count – satrlar soni. SaveToFile('natija.txt') matnni faylga yozadi, LoadFromFile('natija.txt') esa o‘qiydi; fayl nomini faqat o‘z loyiha papkangizdagi oddiy nom bilan yozing, chunki mavjud fayl ustiga yozilib, eskisi yo‘qoladi, fayl bo‘lmasa LoadFromFile xato beradi. Memo ga sig‘adigan matn hajmining chegarasi Windows versiyasiga bog‘liq, shuning uchun juda katta fayllarni yuklamang.
Namunalar
n ning bo‘luvchilari: procedure TForm1.Button1Click(Sender: TObject); ⏎ var i, n: Integer; ⏎ begin ⏎ n := StrToInt(Edit1.Text); ⏎ Memo1.Lines.Clear; ⏎ for i := 1 to n do ⏎ if n mod i = 0 then ⏎ Memo1.Lines.Add(IntToStr(i)); ⏎ Label1.Caption := 'Soni: ' + IntToStr(Memo1.Lines.Count); ⏎ end; n = 36 da qatorlar: 1, 2, 3, 4, 6, 9, 12, 18, 36 – jami 9 satr.
Memo1.Lines.Insert(0, 'Boluvchilar:'); ro‘yxat boshiga sarlavha qo‘yadi: satrlar soni 9+1 = 10 bo‘ladi va avvalgi birinchi satr (1) endi Lines[1] da turadi. Memo1.Lines.Delete(0); sarlavhani yana o‘chiradi. Memo1.Text := 'a' + sLineBreak + 'b'; ikki satr hosil qiladi: Count = 2.
Sinfda faoliyat
«Bo‘luvchilar xaritasi»: juftlik Memo li ilova yaratadi, 3 xil n (12, 36, 49) uchun satrlar sonini oldindan hisoblaydi va natijani ilova bilan tekshiradi.
Mashq
1
Memo satrlari qaysi raqamdan boshlab sanaladi?
0
2
n = 12 ning bo‘luvchilari soni (1, 2, 3, 4, 6, 12)?
6
3
Memo da 9 satr bor. Lines.Insert(0, ...) dan keyin nechta satr?
10
4
Nima uchun SaveToFile da mavjud fayl nomini yozish xavfli?
Mavjud fayl ustiga yoziladi va eski ma’lumot butunlay yo‘qoladi.