☰ Mundarija · Informatika

ListBox, ComboBox va SpinEdit

Darslar 55–56 · 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
56

Amaliy mashg‘ulot

Darslik: 126-bet
MaqsadListBox, ComboBox va SpinEdit li ilovalar yaratadi: ro‘yxatni sikl bilan to‘ldiradi, bandni boshqa ro‘yxatga ko‘chiradi va qiymatlarni yig‘adi.
Yangi so‘zlar
Items.Delete · Items.Delete: a method that removes the item with the given number from a listItems.Count · Items.Count: the number of items in a listOnCreate · OnCreate: the event when the form is created, used for initial valuesClear · Clear: a method that empties a list
Tushuntirish

Amaliy mashg‘ulotda uchta ilova yaratiladi. 1) «Juft sonlar»: Form1 ning OnCreate protsedurasida for i := 1 to 12 do ListBox1.Items.Add(IntToStr(2 * i)); sikli ro‘yxatni 12 ta band bilan to‘ldiradi. 2) «Ko‘chirish»: bir tugma ListBox1 dagi tanlangan bandni ListBox2 ga qo‘shadi va ListBox1 dan o‘chiradi: ListBox2.Items.Add(ListBox1.Items[i]); ListBox1.Items.Delete(i); bu yerda i := ListBox1.ItemIndex. 3) «Kun rejasi»: ComboBox dan fan nomi, SpinEdit dan daqiqa (10 dan 90 gacha) tanlanadi; tugma bosilganda ListBox2 ga «fan – daqiqa» qatori qo‘shiladi va umumiy vaqt Label da yig‘iladi. Har ilovada ro‘yxat bandlari sonini Items.Count orqali tekshiring va natijani oldindan hisoblab daftarga yozing.

Namunalar
OnCreate: procedure TForm1.FormCreate(Sender: TObject); ⏎ var i: Integer; ⏎ begin ⏎  for i := 1 to 12 do ⏎    ListBox1.Items.Add(IntToStr(2 * i)); ⏎ end; Natijada ListBox1.Items.Count = 12, Items[0] = 2, Items[11] = 24.
Ko‘chirishdan oldin ListBox1 da 12, ListBox2 da 0 band. «18» (i = 8) ko‘chirilgandan keyin ListBox1 da 11, ListBox2 da 1 band; jami 11+1 = 12 – bandlar yo‘qolmaydi. Kun rejasida 45, 30 va 20 daqiqa tanlansa, jami 45+30+20 = 95 daqiqa.
Sinfda faoliyat

«Tartiblagich»: guruh ro‘yxatdagi 12 sondan beshtasini ketma-ket ko‘chirib, har bosqichda ikkala ro‘yxat bandlari soni yig‘indisi 12 qolishini isbotlaydi.

Mashq
1
for i := 1 to 12 do ListBox1.Items.Add(...) dan keyin ro‘yxatda nechta band bo‘ladi?
2
ListBox1 da 12 band bor; 4 tasi ListBox2 ga ko‘chirildi. ListBox1 da nechta qoldi?
3
2, 4, 6, … ro‘yxatida «18» ning Items dagi tartib raqami?
4
Nima uchun ko‘chirishda avval Add, keyin Delete bajariladi?