LABORATORIYA MASHG’ULOTI. DELPHIDAGI DASTURNING INTERFEYS QISMINI YARATISH.

Label, Edit, Memo matn komponentlari va Button tugmachasi

  Label belgisi.  Belgi tushuntirishlar, nomlar, mavzular va boshqa  har xil turdagi matnli ma’lumotlarni ekranga joylashtirish uchun ishlatiladi. Belgi uchun Caption asosiy xossalardan biri bo’lib, unda ekranga chiqariladigan matn joylashadi.

  Matnni ekranga joylash uchun Delphining Standart palitrasidan (uskunalar panelidan) “A” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda matn joylashtirilishi lozim bo’lgan joy ajratiladi. Natijada Label1 matn maydoni hosil qilinadi va Caption xossasiga kirilib kerakli matn teriladi.

  Matnga ishlov berish uchun (masalan, kattalashtirish yoki kichiklaytirish; kursiv yoki qalin qilish va boshqa) ya’ni unga o’zgartirish kiritish uchun kerakli xossa tanlanib ular o’zgartiriladi. Maslan, kiritilgan matnni kattalashtirish yoki kichirtish uchun oldin matn maydoni ajratilib, keyin Font xossasiga kiriladi va muloqot darchasidan shrift, uning o’lchami va rangi tanlanib Ok tugmasi bosiladi.

  Label komponentasi nafaqat ma’lumotlarni ekranga joylash-tirish uchun xizmat qiladi, balki dastur natijalarini chiqarishda ham ishlatish mumkin. Buning uchun dasturda  Label5.caption:='Dastur natijasi'; buyrug’i berilishi kerak. Misol, Label5.caption:='Echim='+s; bu yerda s:String o’zgaruvchisi.

  Edit kiritish qatori. Edit kiritish qatori matnni bir qatordan kiritish va uni tahrirlash uchun ishlatiladi.

  Matn kiritish qatorini ekranga joylash uchun Delphining Standart palitrasi (uskunalar paneli) dan “ab” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda matn kiritilishi lozim bo’lgan joy ajratiladi. Natijada Edit1 matn kiritish maydoni hosil qilinadi. Matnni kiritish dastur ishchi holatiga o’tilganda bajariladi.

  Matn qatoriga kiritilgan ma’lumot faqat matn, ya’ni String (qator) bo’lib hisoblanadi. Edit kiritish qatorida kiritilgan ma’lumotni dasturda o’qib va uni raqamga o’tkazish uchun ko’p hollarda Val funksiyasidan foydalaniladi. Bu funksiya Turbo Paskalda quyilagicha yoziladi. Val(Edit1.Text,a,cod) - bu yerda  a: Real; - o’zgaruchisi bo’lib, Edit1.Text maydonidagi ma’lumotni raqam qilib o’zlashtiradi. cod: Integer; deb e’lon qilinadi.

  Memo matn chiqarish qatori. Memo matnlarni bir necha qator qilib chiqarish uchun ishlatiladi.

  Memo matn chiqarish qatorini ekranga joylash uchun Delphining Standart palitrasi (uskunalar paneli) dan “ab” piktogrammasi yonidagi Memo tugmasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda matn chiqarilishi lozim bo’lgan joy ajratiladi. Natijada Memo1 matn chiqarish maydoni hosil qilinadi. Bu matn chiqarish maydoni dasturda natijalarni chiqarishda qo’l keladi. Natijani chiqaoishda u dastur ichida quyidagicha ishlatiladi.  Memo1.Lines.add('Echim='+S);

  Memo maydonini tozalash esa natijani chiqarishdan oldin modulda Memo1.Clear; buyrug’ini berish bilan amalga oshiriladi.

  Button tugmachasi. Button tugmachasi bosilishi natijasida kutilishi lozim bo’lgan jarayonlar (masalan, hisoblashlar yoki bajarilishi lozim bo’lgan operasiyalar) bajarilishga tushiriladi.

  Button tugmachasini ekranga joylash uchun Delphining Standart palitrasi (uskunalar paneli) dan “Ok” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tugmacha qo’yilishi lozim bo’lgan joy ajratiladi. Natijada Bottom1 tugmachasi hosil qilinadi. Tugmacha nomini o’zgartirish Caption xosasiga kirilib o’zgartiriladi.

  Dasturdagi hisoblash jarayonlari, kiritish va chiqarish operasiyalari hosil qilingan tugmachani ikki marta tez-tez bosish bilan “sobitiyani qiyta ishlash” darchasiga o’tilib, u yerdan modul ichiga kerakli operatorlarni yozish bilan amalga oshiriladi.

Boshlang’ich forma ilovasini yaratish

  Delphida boshlang’ich formani tuzish forma Form1 xossalarini o’zgartirish bilan boshlanadi. Forma xossalarini uning tashqi ko’rinishini, ya’ni uning o’lchami, ekranda joylashishi, oynasi ko’rinishi va sarlovha matnini aniqlab beradi. Uning xossalari Object Inspector oynasida keltirilgan bo’lib, oynaning chap ustunida xossa nomlari va o’ng ustunida uning qiymatlari berilgan.

  Formaga yangi komponentalarni joylashtirish uncha kata qiyinchilik tug’durmaydi. Biror bir komponentani joylashtirish uchun uni komponentalar politrasidan belgilab olib, keyin uni bir marta chiqillatish kerak va keyin xossalarini o’zgartirish uchun uning formadagi ko’rinishini sichqonchada yana bir marta chiqillatish zarur.

  Masalan, Label (metka) komponentasini formaga joylashtirish uchun uni Standart komponentalar politrasidan topib u sichqonchada bir marta chiqilatiladi, natijada formada u Label1 nom bilan joylashadi. Bu komponenta formaga har xil matnlarni joylashtirish uchun xizmatqiladi. Uning boshlang’ich holatini va xossalarini o’zgartirish uchun uni formadan belgilaymiz. Uning Label1 standart nomini o’zgartirish uchun ob’ekt inspektori oynasidan Caption xossasiga kiramiz va Label1 nomni o’chirib o’rniga, masalan, “Mening birinchi dasturim” degan so’zni yozamiz. Yozilgan matn rangi va o’lchamini o’zgartirish esa Font xossasiga kirilib Size va Color parametrlarini o’zgartirish bilan amalga oshiriladi.

  Yana bir komponentani - Botton (tugmacha) komponentasini formaga joylashtiraylik. Bu komponenta dasturchi tomonidan berilgan (kiritilgan) dastur kodlarini ishga tushirish uchun mo’ljallangan. Unga xodisalarni qayta ishlovchi (On Click - obrabotchik sobitiya) deyiladi.

 

  Hodisa va uni qayta ishlash.           Yaratilgan forma ilovaning qay tarzda ishlashini ko’rsatib beradi. Formadagi buyruq tugmachalari biror ish bajarishi uchun ular sichqonchada ko’rsatilib chiqillatiladi. Sichqonchada tugmachani chiqillatish (bosish) xodisaga misol bo’lib, u ilovaning ishlash jarayonida hosil bo’ladi. Bu yerda hodisa so’zini yuz beradigan jarayon deb tushinish kerak.

  Hodisalarga javob Delphida ularning qayta ishlovchi proseduralar ko’rinishida tashkil qilinadi. Turbo Pascal tilida yoziladigan bu proseduralar hodisa qayta ishlovchisi ( “obrabotchik”) deb ataladi.

  Delphi avtomatik ravishda qayta ishlovchiga ikkita qismdan iborat nom beradi. Birinchi qism nom formani, ob’ektga kiruvchilarni o’z ichiga olib, ikkinchi qism nom esa aynan ob’ekt o’zini va qayta ishlovchini aks ettiradi. Bizning misolimizda forma nomi - Form1, birinchi buyruq tugmasi nomi “hisob” - Button1, qayta ishlovchi nomi esa - Click. Endi Begin va End orasiga qayta ishlovchi bajaruvchi Paskal tilidagi operatorlarni quyidagi prosedurada kiritish mumkin. Bu prosedura “hisob” tugmasini ikki marta tez-tez chiqillatish bilan ekranga chaqiriladi.

 

 Procedure Tform1.Button1click(Sender:Tobject);

  Var

     A,B,C:Real;   

     D:Real;         

     X1,X2:Real;  

     S1,S2:String[7];

    Code:Integer;

   Begin

           Val(Edit1.Text,a,Code);

           Val(Edit2.Text,b,Code);

           Val(Edit3.Text,c,Code);

 

               If a=0

                     Then  

                            Label6.Caption:=’Xato! ’+Shr(13)

                                   +’No’malum ikkinchi darajasi koeffisenti’

                                   +Chr(13)+’nolga teng’

 

                     Else Begin

                            d:=b*b-4*a*c;

                            x1:=(-b+Sqrt(d))/(2*a);

                            x2:=(b+Sqrt(d))/(2*a);

                            Str(x1:7:3,S1);

                            Str(x2:7:3,S2);

                            Label6.Caption:=’Tenglama ildizlari:’

                                          +Chr(13)+’x1=’+S1

                                          +Chr(13)+’x2=’+S2;

      End;

   End;

 

  Loyihani saqlash. Ilovani kompilyasiya qilish va ishga tushirish.         Loyihani saqlashda Delphi bir necha fayl tashkil qiladi. Ayrimlari loyiha butun loyihani tavsiflashni, boshqalari forma va dastur modulini tavsiflashni o’z ichiga oladi. Agar hali saqlanmagan loyiha bo’lsa Fayl (File) menyusidan Soxranit proekt (Save Project) buyrug’i beriladi va keyin dastur moduli va proekt nomi beriladi.

  Loyihani bog’lab bo’lgandan so’ng Compile menyusidan compile (Kompilirovat) buyrug’i beriladi. Agar dasturda sintaksik xato bo’lmasa ekranda kompilyasiya to’g’ri o’tganligi haqida xabar beriladi. Agar kompilyasiya dasturda qandaydir xatoni topsa xato haqida ekranga ma’lumot beradi. Kompilyasiyadan to’g’ri o’tgan dastur uchun maxsus - .exe kengaytmali fayl tuzib beradi va u faylni Delphi tizimisiz ishlatish mumkin.

  Delphi tizimidan chiqmasdan turib ilovani ishga tushirish mumkin, buning uchun Run menyusining Run buyrug’ini yoki F9 tugmachasini bosish kifoya bo’ladi. Yuqoridagi misol uchun ilova ishga tushirilib a, b va c qiymatlari kiritilib “xisob” tugmasi bosilsa dastur quyidagi natijani ekranga chiqadi.

  Prosedura TForm1.Button2Click “yangi” tugmachasini sichqonchada chiqillatish bilan ishlaydi va taxrirlash maydoniga kursorni koeffisient qiymatlarini kiritish uchun olib kelib qo’yadi.

  Prosedura TForm1.Button3Click “tamom” tugmachasini sichqonchada chiqillatish bilan ishlaydi va formani yopadi.

Button1click funksiyasi tezlikni hisoblab, natijani Label4 maydoniga chiqaradi. Boshlang’ich qiymatlar Editl va Edit2 taxrirlash maydonlarining Text xossasiga murojaat qilish yordamida kiritiladi. Text xossasi foydalanuvchi kiritgan simvollardan iborat satrni o’z ichiga oladi. Satrni sonlarga aylantirish uchun StrToInt va StrToFloat funksiyalaridan foydalaniladi. StrToInt funksiyasi Edit1.Text ga kiritilgan satrni, tekshirib, agar simvollar raqamlardan iborat bo’lsa butun songa aylantirib dist. o’zgaruvchisiga qiymat sifatida beradi. Shu kabi  StrToFioat funksiyasi Edit2.Text kiritilgan satrni haqiqiy songa aylantirib t o’zgaruvchisiga qiymat sifatida beradi.

So’ngra Trunc funksiyasi t o’zgaruvchisining butun qismini ajratadi — bu minutlarga mos keladi. So’ngra Trunc(t*100) mod 100 ifodasi sekundlarni ajratadi.

Tezlik km/soat birlikda aniqlangani uchun, metr va sekundlar kilometr va soatlarga aylantiriladi.

Hisoblangan tezlik qiymati Label4 maydonida Caption xossasi yordamida akslantiriladi. Sonni satrga aylantirish uchun IntToStr va FloatToStr funksiyalaridan foydalaniladi.

Chiqish tugmasini bosilganda dastur ishini to’xtatadi. Buning uchun close usuli yordamida dastur oynasi berkitiladi.

Tanlash tugmalarini o’rnatish

  RadioGroup guruxli tanlash tugmalari ilovalar yaratishda bir necha variantlardan birini tanlash uchun ishlatiladi. Bu komponenta Standart komponentalar palitrasida joylashgan bo’lib, 


u
 ko’rinishdagi piktogrammaga ega. Uning asosiy xossasi Items bo’lib, u tugmalar nomlari ro’yxatini o’zida saqlaydi. Tugmalar nomlari ro’yxatini kiritishda oldin RadioGroup tugmasi uchun formadan joy ajratiladi va keyin Items xossasi ko’rsatilib, undan uch nuqtali tugmacha bosiladi, natijada StringList Editor oynasi ochiladi. Bu oynadan tanlash tugmalari nomlarining har qaysisi yangi qatordan kiritiladi va keyin Ok tugmasi bosiladi. Formaga RadioGroup guruhli tanlash tugmasi joylashtirilganda u RadioGroup1 nom bilan yoziladi. Bu nomni boshqa mos nomga almashtirish Caption xossasiga kirib amalga oshiriladi.

  CheckListBox komponentasi ro’yxatdan bir nechtasini tanlash imkonini beradi. CheckListBox komponentasi Additional palitrasida joylashgan. RadioGroup bog’lik pereklyuchatellarni, CheckListBox esa bog’liq bo’lmagan pereklyuchatellarni birlashtiradi. Bunda klyuchatel uch xil holatda bo’lishi mumkin:

  -yoqilgan (vklyuchen) -to’g’ri belgisi;

  -o’chirilgan (viklyuchen) -bo’sh belgisi;

  -neytral holat -ko’kish rangda to’g’ri belgisi.

CheckListBox ning asosiy xossalari:

  AllowGryer -uchinchi neytral holat variantini ishlatishni taqiqlaydi;

  Items –Tanlash tugmalari nomlari ro’yxatini saqlaydi.

ListBox va ComboBox komponentalari

  ListBox komponenti ro’yxat va massiv ko’rinishdagi ma’lumotlarni ekranga aks etdirishda ishlatiladi. Ma’lumotlarni kiritishda esa Edit komponentasidan foydalaniladi. ListBox komponentasi Standart komponentalar palitrasida joylashgan bo’lib, u


 ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan ro’yxat uchun joy ajratiladi va keyin esa xossalari aniqlanadi.

 Uning ayrim asosiy xossalari:

  Items -ro’yxat elementlarini beradi;

  Sorter -ro’yxat elementlarini alfavit bo’yicha avtomatik ravishda tartiblaydi;

  Clear -barcha ro’yxat elementlarini o’chiradi.

  ComboBox komponenti ro’yxat va massiv ko’rinishdagi ma’lumotlarni ekrandan kiritish uchun ishlatiladi. U ListBox va Edit komponentalarining birgalikdagi ishini bir o’zi bajaradi. Tashqi ko’rinishdan bu komponent oddiy Edit kiritish qatorini eslatadi. Uning o’ng qismida pastga belgisi bo’lib, kiritileyotgan ma’lumotlarni ko’rib borish mumkin. Bu komponenta Standart komponentalar palitrasida joylashgan bo’lib, u 


 ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan ro’yxat uchun joy ajratiladi va keyin esa xossalari aniqlanadi. Uning ayrim asosiy xossalari:

  DropDownCount -ro’yxatdagi ekranga chiqadigan ma’lumotlar sonini aniqlaydi. Bu xossaning boshlang’ich qiymati 8 ga teng bo’ladi. Agar ekranga chiqadigan ma’lumotlar sonini 10 ta bo’lsin desak, unda uning qiymatini 10 ga o’zgartirish kerak bo’ladi. Agar kiritilgan ma’lumotlar undan ortiq bo’lsa u holda pastga va yuqoriga siljitish tugmachasi avtomatik ravishda paydo bo’ladi;

  Style -ro’yxatdagi ma’lumotning ko’rinishini tasvirlaydi;

  Text -ro’yxatdagi kiritilgan ma’lumot matn ekanini baldiradi.

Комментарии

Популярные сообщения из этого блога