AMALIY MASHG’ULOT. FORMA TUZILISHI VA UNDA
KOMPONENTLARNI JOYLASHTIRISH.
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 qoyilishi 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.
Prosedura TForm1.Button2Click
“yangi” tugmachasini sichqonchada chiqillatish bilan ishlaydi va taxrirlash
maydoniga kursorni koeffisient qiymatlarini kiritish uchun olib kelib qoyadi.
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. Uning asosiy
xossasi Items bo’lib, u tugmalar nomlari royxatini o’zida saqlaydi. Tugmalar
nomlari royxatini 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
royxatdan 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:
AllowGrer -uchinchi neytral holat
variantini ishlatishni taqiqlaydi;
Items –Tanlash tugmalari nomlari
royxatini saqlaydi.
ListBox va ComboBox komponentalari
ListBox komponenti royxat va massiv ko’rinishdagi ma’lumotlarni ekranga aks
etdirishda ishlatiladi. Ma’lumotlarni kiritishda esa Edit komponentasidan foydalaniladi. ListBox komponentasi Standart komponentalar
palitrasida joylashgan. Bu tugmachani bosib formadan royxat uchun joy ajratiladi va keyin esa xossalari aniqlanadi.
Uning ayrim asosiy
xossalari:
Items -royxat elementlarini beradi;
Sorter -royxat elementlarini alfavit boyicha
avtomatik ravishda tartiblaydi;
Clear -barcha royxat elementlarini o’chiradi.
ComboBox komponenti
royxat 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. Bu tugmachani
bosib formadan royxat uchun joy ajratiladi va keyin esa xossalari aniqlanadi.
Uning ayrim asosiy xossalari:
DropDownCount -royxatdagi 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 -royxatdagi ma’lumotning ko’rinishini
tasvirlaydi;
Text -royxatdagi kiritilgan ma’lumot matn
ekanini baldiradi.
Комментарии
Отправить комментарий