O'ZBЕKISTОN RЕSPUBLIKАSI
ОLIY VА O`RTА MАХSUS TА’LIM VАZIRLIGI
АNDIJОN MАSHINАSОZLIK INSTITUTI
“АVTОMАTIKА VА ELЕKTRОTЕХNОLОGIYA”
FАKULTЕTI
«INFORMATIKA VA AXBOROT TEXNOLOGIYALARI»
FАNIDАN
“
Delphi dasturlash tili yordamida sodda o’yin
dasturi yaratish
”
mavzusidagi
KURS ISHI
Bajardi:
“Avtomatika va elektrotexnika” fakultеti
“TJICHAB” yo`nalishi 1- kurs 179-15 gurux
talabasi Soliyev B.
Tekshirdi:
Holdarboyev R
АNDIJОN– 2016
2
Delphi dasturlash tili yordamida sodda o’yin dasturi yaratish
REJA
KIRISH ..................................................................................................................... 3
I. NAZARIY QISM ................................................................................................. 6
1.1.
Z
AMONAVIY DASTURLASH TILLARI
. ................................................................. 6
1.2.
D
ELPHI DASTURLASH TILI VA UNING TARIXI
. .................................................... 9
1.3.
D
ELPHI DASTURLASH MUHITINING ISHCHI INTERFEYSI
. .................................. 11
II. ASOSIY QISM ................................................................................................. 15
2.1.
K
O
’
P ISHLATILADIGAN KOMPONENTLAR BILAN TANISHISH
. ........................... 15
2.2.
K
OMPONENTLAR XUSUSIYATLARI VA HODISALARI BILAN TANISHISH
............. 18
III. AMALIY QISM .............................................................................................. 25
XULOSA ................................................................................................................ 28
FOYDALANILGAN ADABIYOTLAR .............................................................. 29
ILOVA .................................................................................................................... 30
3
KIRISH
Mamlakatimizda ta’limga e’tibor yildan – yilga ortmoqda. Keyingi yillarda
ko`plab yangi, zamonaviy kasb – hunar kollejlari, akademik litseylar qurilib ishga
tushirildi, eskilari esa rekonstruktsiya qilindi. Ularning moddiy – texnika bazasi
zamonaviy qurilma va asbob – uskunalar, axborot vositalari bilan jihozlandi.
Prezidentimiz I.A.Karimov so’zlari bilan aytganda, “hozirgi axborot,
kommunikatsiya, kompyuter texnologiyalari asrida, internet kundan-kunga
hayotimizning barcha jabhalariga tobora chuqur va keng kirib borayotgan bir
paytda, odamlarning ongi va tafakkuri uchun kurash hal qiluvchi ahamiyat kasb
etayotgan bir vaziyatda bu masalalarning jamiyatimiz uchun naqadar dolzarb va
ustuvor bo’lib borayotgani haqida gapirib o’tirishga hojat yo’q”.
Davlat ta’lim standartlari talabalariga javob beradigan kadrlar tayyorlash
uchun yangi texnika vositalaridan foydalanish lozim bo`ladi. O`qitiladigan fanlar
saviyasi kadrlar saviyasiga juda kata ta’sir etadi. Darhaqiqat, Respublikamiz
prezidenti I.A.Karimov ta’kidlaganlaridek, “fanning vazifasi kelajagimizning
shakl-shamoyilini yaratib berish, ertangi kunimizning yo’nalishlarini, tabiiy
qonuniyatlarini, uning qanlay bo’lishini ko’rsatib berishdan iborat… Odamlarga
mustaqillikning afzalligini, mustaqil bo’lmagan millatning kelajagi yo’qligini, bu
tabiiy bir qonuniyat ekanligini isbotlab, tushuntirib berish kerak. Fan jamiyat
taraqqiyotini olg’a siljituvchi kuch, vosita bo’lmog’i lozim.
Yangi axborot texnologiyalaridan foydalanib, ma’ruza tayyorlash va o`qitish
uslubi, o`kuv jarayoniga kompyuterli o`qitish va nazorat qilish texnologiyalarini
ishlab chiqish va qo`llashning tarkibiy qismi hisoblanadi.
O`qitish va nazorat qilish dasturi tarkibi quyidagicha bo`ladi: ishchi dastur,
elektron o`kuv qo`llanmasi, labaratoriya va amaliy mashg`ulotlar uchun metodik
materiallar va topshiriqlar, animatsiyali ma’ruzalar, videoslaydlar, test materiallari:
Birinchi kirish ma’ruzasida o`qitish va nazorat qilish dasturi mazmuni,
strukturasi, elementlari va u bilan ishlash uslubi bayon qilinadi. Talabalar tavsiya
qilinayotgan adabiyotlar ro`yxati, ishchi dasturi va baholash mezoni bilan
tanishadi. O`qitish – nazorat qilish dasturi namoyish kilinadi.
4
Fanning aniq bir mavzusi bo`yicha ma’ruza o`qishning umumiy sxemasi
quyidagicha:
Mavzu nomi va savollar bir paytning o`zida ushbu mavzu bo`yicha elektron
ishchi dastur fragmentlari ko`rsatilib yetkaziladi;
Ushbu mavzu bo`yicha elektron ma’lumotnomasi materiallari ko`rsatiladi;
Alohida mavzular bo`yicha videoma’ruzalar ko`rsatib – eshittiriladi;
Ma’ruza materiallari videoslaydlar yoki boshqa videomateriallar bilan
birgalikda bayon qilinadi;
Talabalarga zarur bo`lganda slaydlar qayta namoyish qilinadi va ma’ruzani
alohida fragmentlari yana tushuntiriladi.
Bitta yoki bir nechta mavzu o`tib bo`lingach, ochiq ko`rgazmali xolatda test
sinovlari o`tkaziladi.
Ma’ruzaning asosiy qismi – bu materiallarni savol bo`yicha videotasvir
materiallari bilan birgalikda tushuntirishdan iborat. Bu o`rinda ma’ruzachini o`quv
materialini tushuntirishda videomateriallarni tasvirlashni optimal uyg`unlikda olib
borishi muhimdir.
Foydalanilayotgan videomateriallar turlicha bo`lishi mumkin: videoslaydlar,
universal
ofisli
dasturlar
elementlari
va
vositalari.
Videoslaydlar
–
tushuntirilayotgan mavzuni ma’ruzachi tomonidan jadval, sxema, diagramma,
grafik, matematik ifoda va modellar shaklida tayyorlanadigan asosiy nazariy
holatlari fragmentlaridan tashkil topadi. Ofis dasturlarining vosita va elementlari –
bu turlicha matematik masalalarni yechishga mo`ljallangan protsedura, funktsiya
va boshqalardan iborat.
Raqamli videomateriallardan foydalanib ma’ruza tayyorlash va o`qish,
o`qituvchi – ma’ruzachini malaka darajasiga yuqori talablar qo`yadi va uning
ishini jadallashtiradi. Ma’ruzachi raqamli videoslaydlardan foydalanib ma’ruza
o`qishida videoslaydlarga material yig`ishi, uni ekranda namoyish qilish shaklini
aniqlashi, rangli, ovozli va boshqa turdagi samarali multimedialarni kiritishi,
tushuntirilayotgan material matnini videoslayd materiallari bilan optimal
uzviyligini ta’minlashi asosiy elementlarning bir qismi hisoblanadi.
5
Bu o`rinda yaxlit uslubiy yondashuv mavjud emas, ma’ruzani samarali
o`tishi, o`qitilayotgan fanning o`ziga xos xususiyatlari va o`qituvchining malaka
darajasiga bog`liq. Raqamli videotasvir texnika vositalaridan foydalanib ma’ruza
o`tishni o`ziga xos filmga qiyoslasak, ma’ruzachi – o`qituvchi film rejissyori
vazifasini bajaradi. O`qituvchining ishlash sifati oshadi va ishi jadallashadi.
Odatda qo`llanilayotgan doskaga yozish, plakatlar, diaproektor uchun
slaydlar va boshqa ko`rgazmali vositalardan farqli ravishda, raqamli videoslaydlar
na faqat ma’ruza o`qish paytida foydalaniladi, shuningdek talabalarga elektron
variantlarda berilishi, ta’lim dargohining namunaviy serveriga kiritilib masofadan
o`rganilishi, ya’ni ular saqlanishi, to`ldirilishi, ko`paytirilishi ham mumkin bo`ladi.
Ba’zi mavzu va bo`limlarni tushuntirishda nafaqat kompyuterlashtirilgan,
shuningdek ma’ruzachi nutqi ham kiritilgan videoma’ruzalardan foydalanish
mashg`ulot sifatini oshiradi. Shuni ham e’tiborga olish lozimki, videoma’ruzalarni
tayyorlash katta mehnat talab qiladi va kompyuter resurslariga yuqori talablar
qo`yadi. Bundan tashqari biror bir video nutq ma’ruzachini jonli nutqi o`rnini bosa
olmaydi. Shu sababli bunday ma’ruzalardan doimiy foydalanish ham maqsadga
muvofiq emas. Murakkab mavzularni tushuntirishda, yoki mavzuni ba’zi
qismlarini tushuntirishda videoma’ruzalardan foydalanish yaxshi samara beradi.
6
I. NAZARIY QISM
1.1. Zamonaviy dasturlash tillari.
Hozirgi kunda respublikamizdagi texnika oliy o‘quv yurtlarida “Informatika
va axborot texnologiyalari” yo‘nalishi va mutaxassisliklariga turli xil dasturlash
tillarini o‘rgatish mo‘ljallangan. Bizga ma’lumki, dasturlash tillarining yuzdan
ortiq ko‘rinishlari mavjud, lekin qo‘llanilishi ko‘lamiga qarab Delphi, Java, C++
va C# dasturlash tillari yuqori dasturlash sinfiga mansubdir.
Mutaxassislarning fikriga ko‘ra C++ dasturlash tili Assembler dasturlash
tiliga eng yaqin bo‘lib, tezlik jihatidan 10 % ortda qolar ekan.
Keyingi yillarda amaliy dasturchilarga juda ko‘p integratsion dastur tuzish
muhitlari taklif etilmoqda. Bu muhitlar u yoki bu imkoniyatlari bilan bir–biridan
farq qiladi. Aksariyat dasturlashtirish muhitlarining fundamental asosi C++ tiliga
borib taqaladi.
Ushbu kurs ishida hozirgi kunda kompyuterda berilgan funksiyalarni
grafigini va har xil ko‘rinishdagi shakllarni chizish va ularni aniq koordinatalarini
aniqlash, ekranni grafik rejimga o‘tkazish va undagi mavjud piksel va ranglardan
foydalanish kabi vazifalarni o‘rganishga olib keladi.
Hozirgi vaqtda dasturlashga bo‘lgan qarash birmuncha o‘zgargan, ya’ni
dasturlar yozilishidan tashqari ilovalar loyihalanadi ham. Visual Basic yuqori
darajadagi ilovalar yaratish vositasi bo‘lib odatdagi Basic dan keskin farq qiladi.
Faqatgina odatdagi Basic ning operatorlari va dasturlash sintaksisiga tayanadi.
Visual Basic o‘rganish uchun nisbatan sodda bo‘lishiga qaramasdan uning
yordamida murakkab komppyuter dasturlarini yaratish mumkin.
Basic so‘zi Beginner’s (boshlang’ich) All-purpose (universal) Symbolic
(belgili) Instruction Code (buyruqlar tizimi) dan hosil bo‘lgan. Vizual so‘zi bu
tilning mazkur dastur versiyasidagi dastur tuzish jarayonida ko‘plab operatsiyalar
vositalar yordamida, ya’ni bevosita kodlarni yozmasdan bajarilishini anglatadi.
Dasturlar tuzish sermashaqqat jarayondir, lekin Visual Basic bu ishni sezilarli
darajada soddalashtiradi. Visual Basicning yana bir yutug‘i shundaki, u Microsoft
7
Office paketi dasturi va Internet resurslari bilan ishlaydi. Visual Basic bir necha
versiyada ishlab chiqariladi.
1. Learning Edition (O‘quv taxriri). Bu versiya tajribasi kam (boshlovchi)
dasturchilar uchun mo‘ljallangan bo‘lib, Windows da ishlovchi dasturlar tuzish
uchun zarur bo‘lgan faqat asosiy imkoniyatlar va elementlarni o‘zida jamlagan.
2. Professional Edition – (Professional kasbiy tahriri). Kompilyator
dasturlari ishini tezlashtiruvchi - ActiveX qo‘shimcha komponentlarini va
ma’lumotlar bazalarini boshqarishning kengaytirilgan vositalarini o‘z ichiga oladi.
Bu versiya jiddiy ilovalarni ishlab chiqarish uchun mo‘ljallangan
3. Enterprise Edition (Korxonalar uchun tahriri) ko‘pchilik foydalanuvchili
ma’lumotlar bazalariga ega ilovalarni ishlab chiqishga imkon beradi va ilovalarni
dasturchilar guruhlari hamkorlikda ishlab chiqish vositalarini o‘z ichiga oladi.
4. Visual Basic for Applications (Ilovalar uchun Visual Basic). Visual
Basic ning mazkur versiyasi Microsoft Office dasturi tarkibiga kiradi. Agar sizda
Office ning to‘liq versiyasi yoki bu paketning istalgan komponenti bo‘lsa, u holda
sizda Visual Basic ning ilovalar uchun versiyasi ham bor bo‘ladi.
Java dasturlash tili birinchi bo‘lib 1991 yili Sun Microsystems tomonidan
ishlab tadqiq etilgan. O‘sha yillarda Java faqat elektron qurilmalar – televizor,
video magnitafon, non isitish qurilmasi va shu kabilarga dasturlar yozish uchun
foydalanilgan. O‘sha vaqtlarda Java ning maqsadlari uning ixcham, tezkor,
samarali, oson va keng miqyosdagi elektron qurilmalarga moslashuvchan
dasturlash tili etib yaratish bo‘lgan. Xuddi shu maqsadlar Javani World Wide Web
da ishlay oladigan, umumiy maqsadlarga yo‘naltirilgan xamda barcha
platformalarda ishlay oladigan ideal dasturlash tili bo‘lib shakllanishiga asos
bo‘lgan.
Java tilidan Sun (Oak nomi ostida) tomonidan ko‘pgina loyixalar yaratishda
foydalanilgan, lekin u ko‘pchilikning nazariga 1994 yilda Hot-Java bilan
birlashmaguniga qadar tushmadi. Oradan bir qancha vaqt o‘tib Netscape o‘zining
brauzeriga Hot-Java ning barcha imkoniyatlarini qo‘shib olganidan so‘ng Java ga
bo‘lgan qiziqish anchagina ortdi.
8
Java Applet larini ishlatish va ularni ko‘rish uchun sizga biror bir Java-
enabled brauzer kerak bo‘ladi. Shuni xam aytish joizki Netscape 2.0 va undan
yuqori versiyalari Internet Explorer 3.0 yoki undan yuqori versiyalari orqali siz
bemalol Java Applet larni ishlatib ko‘rishingiz mumkin. Siz yana Sun ning o‘zi
tomonidan ishlab chiqilgan Hot-Java brauzerini xam Appletlarni ko‘rishda
ishlatishingiz mumkin. Lekin Java ning yuqoriroq versiyalarida yozilgan Applet
larni o‘zidan oldingi versiyadagi Hot-Java brauzerlar orqali ko‘rish imkoniyati
mavjud emas.
9
1.2. Delphi dasturlash tili va uning tarixi.
Delphi tili 1969 yili N.Virt tomonidan yaratilib mashhur olim Blez Delphi
nomi bilan ataldi. Bu til N.Virtning o’ylashi bo’yicha programmalashning
zamonaviy texnologiyasiga va uslubiga, strukturali programmalash nazariyasiga
asoslangan va boshqa programmalash tillaridan muayyan yutuqqa ega til bo’lishi
lozim edi. Mazkur til:
Programmalashtirish konstepstiyasini va strukturasini sistemali va aniq
ifodalaydi;
Programma tuzishni sistemali olib borish imkonini beradi;
Programma tuzish uchun boy termin va struktura sxemalariga ega;
Yo’l qo’yilgan xatoliklarni tahlil qilishning yuqori darajadagi sistemasiga
ega.
1981 yili Delphi tilining halqaro standarti taklif etildi va IBM PC tipidagi
shaxsiy kompyuterlarda Delphi tilining Borland firmasi tomonidan ishlab chiqilgan
Turbo-Delphi oiladosh tili keng qo’llanila boshlandi. Hozirda Turbo-Delphining
bir qancha versiyalari yaratilib, yuqori darajadagi programmalar yaratish
imkoniyatlari borgan sari kengaytirilib borilmoqda:
4.0 versiyasidan boshlab programma yozishni, taxrirlashni va natijalar
olishni osonlashtirish uchun yangi integrallashgan muhit hosil qilindi;
5.5 versiyasining paydo bo’lishi bilan Turbo-Delphida ob’ektli
programmalash imkoniyati paydo bo’ldi;
6.0 versiyasidan boshlab esa Delphi programmasi ichiga quyi
programmalash tili bo’lmish Assembler tilida yozilgan programmalarni qo’shish
holati hosil qilindi. Shu bilan bir qatorda tilning integrallashgan muhiti ham bir
qator o’zgarishlarga ega bo’ldi;
7.0 versiyasidan boshlab esa Delphi dasturlash tili VCL ilovalari bilan
ishlash imkoniyati paydo bo’ldi hamda ilovalarga ob’ektga yo’naltirilgan
dasturlash tili deb tan olindi;
Delphi dasturlash tili Borland firmasidan Embaracadero Rad Studio
loyihasiga aylantirilganidan so’ng, yangi FireMonkey texnologiyasi yaratildi. Shu
10
kunga qadar Embaracadero Rad Studio ning XE-XE8 versiyalari ishlab chiqarildi.
Bu versiyalarning ishlab chiqarilishi bilan dasturlashda Delphining mavqei ancha
ko’tarildi. Hozirda Delphi dasturlash tili yordamida Windows x32, Windows x64,
iOS, iOSX, Android platformalari uchun hamda Windows 8 interfeysiga ega
bo’lgan murakkab darajali dasturiy mahsulotlar yaratilmoqda.
11
1.3. Delphi dasturlash muhitining ishchi interfeysi.
Delphi dasturlash muhitining tashqi ko’rinishi Windowsda ko’rish mumkin
bo’lgan boshqa dasturlash muhitlari ko’rinishidan farq qiladi. Masalan, Borland
Pascal for Windows 7.0, Borland C++ 4.0, Word for Windows, Program Manager
– bularning barchasi MDI dasturlari hisoblanadi va Delphiga o’xshamaydi. MDI
(Multiple Document Interface) – bitta asosiy oynaning ichida bir nechta quyi
tipdagi oynalarni boshqarishni bildiradi. Delphi muhiti esa, Single Document
Interface (SDI) deb nomlanuvchi boshqa xususiyatga amal qiladi va alohida
joylashgan bir nechta oynadan iborat. Agar siz Delphiga o’xshash SDI
dasturlardan foydalansangaz, boshqa dasturlar oynalari uni yopib qo’ymasligi
uchun ularni pastga tushirib qo’yish kerak. Agar boshqa dasturga o’tish zaruriyati
tug’ilib qoladigan bo’lsa, Delphi dasturi bosh oynasidagi kichraytirish tugmasini
bosish kifoya.
Delphi dasturlash muhiti oddiy usul bilan ishga tushiriladi, ya’ni, Windows
da Пуск menyusidan Программы bo’limidagi Borland Delphi7 satridan Delphi 7
buyrug’i tanlanadi.
1-rasm. Delphi ni ishga tushirish.
Delphining ishchi muhiti beshta oynadan iborat:
Bosh oyna — Delphi 7;
Formalar dizayneri (Form Designer);
Dastur matni muharriri (Editor Window);
12
Komponentlar to’plami (Component Palette);
Ob’ektlar inspektori (Object Inspector);
Ob’ektlar ro’yxatini ko’rish oynas (Object TreeView);
Yordam tizimi (On-line help).
Delphining bulardan tashqari sizga dasturlash muhiti va dasturni sozlash
uchun xizmat qiluvchi tizim menyusi, uskunalar chizgichi kabi boshqa vositalari
ham bor.
Delphida dasturchilar ko’p vaqtlarini Formalar dizayneri va Dastur matni
muharriri orasida o’tish bilan o’tkazadilar. Siz dasturlashni boshlashdan oldin shu
ikki muhim elementni ajrata olishingizga ishonch hosil qiling. Formalar dizayneri
1-rasmda, Dastur matni muharriri 2-rasmda keltirilgan.
2-rasm. Formalar dizayneri.
3-rasm. Dastur matni muharriri
13
Delphidagi Formalar dizaynerining tuzilishi shu qadar oddiyki, dasturning
tashqi ko’rinishini yaratish bolalar o’yiniga o’xshab ketadi. Formalar dizayneri
dastlab oddiy bo’sh oynadan iborat bo’ladi va siz uni keyinchalik komponetlar
to’plamidan olingan ob’ektlar bilan to’ldirishingiz mumkin.
Formalar dizaynerining muhimligiga qaramasdan, dasturchiliarning ko’p
vaqtlari Dastur matni muharririda kechadi. CHunki bu yerda dasturning asosiy
kodi (ish bajaruvchi qismi) yoziladi.
4-rasm. Delphi ishchi muhiti.
Bosh oynada buyruqlar menyusi, uskunalar paneli va komponentlar palitrasi
joylashgan.
Bosh ishchi forma yaratiluvchi ilovaning bosh oynasi hisoblanadi.
Dasturiy ta’minotning dasturlash texnologiyasining uslubiy ta’minoti
qisqacha ilova deb ataladi.
5-rasm. Bosh oyna
Object Inspector oynasi - ob’yektlarning xususiyatlarining qiymatlarini
taxrirlash uchun mo’ljallangan.
Vizual loyihalash atamalarida ob’yektlar - bu muloqot oynalari va boshqaruv
elementlaridir (kiritish va chiqarish maydonlari, buyruq tugmalari va boshqalar).
14
Ob’yekt xususiyati - ob’yektning ko’rinishi va joylashishini aniqlovchi
tavsiflardir. Masalan, Width va Height xususiyatlari formaning o’lchamlari
(balandligi va kengligi)ni, Top va Left xususiyatlari formaning ekranda joylashgan
o’rnini, caption esa sarlavha matnini beradi.
6-rasm. Object Inspector oynasi
7-rasm. Kodlarni taxrirlash oynasi
15
II. ASOSIY QISM
2.1. Ko’p ishlatiladigan komponentlar bilan tanishish.
Quyida ko’rib chiqiladigan komponentlar orqali umumiy holatda Windows
va OSX operatsion tizimlari hamda iOS va Android Paltformalari uchun dasturiy
mahsulotlar yaratish uchun ishlatiladi.
– TrackBar komponenti yordamida butun tipli o’zgaruvchilar
qiymatlarini asta-sekinlik bilan surish orqali o’zgartirish mumkin. Bu turdagi
elementdan asosan multimedia mahsulotlarida ko’p foydalaniladi. Jumladan,
AudioPlayerlarda ovozni ko’tarish va pasaytirish hamda yangrayotgan kuyni
orqaga qaytarish va oldinga siljitish va boshqalar.
– ProgressBar komponenti vaqtga bo’glangan holda jarayonlarni
bajarilishini tasvirlovchi element hisoblanadi. ProgressBar va TrackBar
komponentlarini qysidir ma’noda bir xil vazifada ishlatsa bo’ladi, faqatgina
TrackBar komponentining Slider (Surgich)ini o’chirib qo’yish kerak bo’ladi.
– UpDown komponenti yordamida o’zgaruvchilar va ayrim
komponentlar qiymatlarini ortirish va kamaytirish mumkin. Bu component asosan
butun tipli qiymatlar bilan ishlaydi lekin, haqiqiy sonli, sana va vaqt tipidagi
ma’lumotlar bilan ishlashga qobiliyati mavjud.
– RichEdit komponenti ishlash prinsipi va foydalanilishi bo’yicha
Standart komponentlar palitrasidagi Memo komponentiga teng kuchli element
hisoblanadi. Biroq, uning yordamida bajariladigan vazifalar va imkoniyatlar
bo’yicha esa RichEdit komponentining afzalliklari ko’proqdir.
– ImageList komponenti rasmlar ro’yxati hisoblanadi. Undan asosan
ilova menyulari uchun bir xil hajmdagi rasmlarni yuklash va saqlash uchun
foydalaniladi.
– DateTimePicker komponenti ilovalarga turli formatdagi sana va
vaqtlarni visual rejimda kiritish imkoniyati yaratadi.
– MonthCalendar komponenti esa kalendar bilan bog’liq har qanday
operatsiyalarni bajarish uchun xizmat qiluvchi element hisoblanadi.
16
– StatusBar komponenti yordamida har qanday dastur uchun holat
satrini yaratish mumkin. Odatda, holat satri ilova oynasining quyi qismiga
o’rnashadi.
– ToolBar komponenti yordamida piktogrammali uskunalar panelini
yaratish mumkin. Uskunalar paneli elementlarini yaratish uchun odatda ActionList
komponentidan foydalaniladi.
– CoolBar komponenti yordamida turli uskunalar panellari yaratish va
uning elementlarini boshqarish mumkin bo’lgan imkoniyat yaratiladi.
– MainMenu o’z dasturingizga bosh menyu qo’shish imkonini beradi.
TmainMenuni formaga qo’ygan vaqtda u kichkina belgi ko’rinishini oladi. Bunday
belgilarni "ko’rinmas komponent" deb atash qabul qilingan. Chunki, dastur
bajarilash vaqtida ular ekranda ko’rinmaydi. Menyuni yaratish uch qadamdan
iborat: 1-TMainMenuni formaga o’rnatish, 2-ob’ektlar inspektorining Items
xususiyati yordamida Menyu dizaynerini chaqirish, 3-Menyu Dizaynerida menyu
qismlarini kiritish.
PopupMenu – asosiy menyuga analog holdagi menyu bo’lib, u
bog’langan sohalar uchun ishlaydi. Mazkur menyu bir ustunda joylashgan bo’ladi
hamda faqat kontekst menyu ko’rinishidagina ishlaydi.
Label matnlarni ekranda namoyish qilish uchun qo’llanadi. Agar
ob’ektlar inspektorining Font xususiyatiga sichqonchaning chap tugmasini ikki
marta bosilsa Labelning shrifti, rangi, harflar rangi va o’lchamlarini o’zgartishingiz
mumkin.
Edit – Satr tipidagi ma’lumotlarni kiritish imkonini beruvchi maydon
bo’lib, har qanday interaktiv ilovalarni yaratish juda foydali komponent
hisoblanadi.
Button – dastur bajarilash vaqtida tugma bosilishi bilan biror amal
bajarilishini ko’zda tutadi. Delphida hamma narsa oddiy. Buttonni formga ko’yib,
17
unga ikki marta sichqoncha tugmasini bosilsa, dastur matni muharririda tugma
bosilish holatiga dastur tuzish mumkin bo’lgan oyna ochiladi.
ComboBox – Ushbu component ListBox bilan bir hil ishlaydi. Lekin,
uning farqi shundaki, bu component sichqoncha bilan bosilganda buyruqlar
ro’yhati keyin oqib tushuvchi menyu ko’rinishida tasvirlanadi.
Panel – formani turli maqsadlarda bo’lish va dizayn berish imkonini
beruvchi component hisoblanadi.
18
2.2. Komponentlar xususiyatlari va hodisalari bilan tanishish.
– TrackBar komponentidan yuqorida aytganimizdek, multimediali dasturiy
mahsulotlar uchun ishlatiladi. TrackBar quyidagi asosiy xususiyatlarga ega:
1. Max – TrackBar ning maksimal qabul qiluvchi qiymati;
2. Min – TrackBar ning minimal qabul qiluvchi qiymati;
3. Position – TrackBarning mazkur vaqtdagi qiymati;
4. Orientation – xususiyati orqali TrackBar qanday holatda aks etilishini
belgilanadi. trHorizontal va trVertical.
5. ThumbLength – xususiyatiga sonli qiymat berish orqali TrackBarning
sliderini eni o’zgartirish mumkin.
6. TickMarks – xususiyati TrackBar qiymatlarini ko’rsatish uchun xizmat
qiladi va u quyidagi qiymatlarga ega: tmBoth, tmBootomRight va
tmTopLeft.
7. TickStyle – xususiyati orqali esa TrackBarda aks etuvchi belgilarni aks
etishida foydalaniladigan tsNone, tsAuto va tsManual usullaridan
foydalaniladi.
8. PositionToolTip – sichqancha bilan harakatlantirilganda faol qiymati qalqib
chiquvchi pozitsiya tanlanadi va ular quyidagicha: ptNone, ptLeft,
ptRight, ptTop va ptBottom.
Mazkur komponentdan foydalanishda onChange va onContextPopup ko’p
qo’llaniladigan hodisalar hisoblanadi.
– ProgressBar jarayonni bajarilishini ko’rsatib turuvchi bo’lganligi uchun
ham uning holatini to’g’ridan-to’g’ri o’zgartirib bo’lmaydi. ProgressBar
komponentining o’ziga xos xususiyatlar quyidagicha:
1. Max – ProgressBar ning maksimal qabul qiluvchi qiymati;
2. Min – ProgressBar ning minimal qabul qiluvchi qiymati;
3. Position – ProgressBar mazkur vaqtdagi qiymati;
4. Orientation – xususiyati orqali ProgressBar qanday holatda aks etilishini
belgilanadi. pbHorizontal va pbVertical.
19
5. Step – xususiyati qadamlar soni bo’lib,
6. State – xususiyati ProgressBarning usuli bo’lib, u normal holatda, xatoik
yuz berganda va jarayon to’xtatilganda jarayonning holati haqida habar
beradi.
7. Style – xususiyatidan agar pbstMarquee qiymati tanlansa, ProgressBar
animatsion usulda namoyon bo’ladi.
Mazkur komponentdan foydalanishda onChange va onContextPopup ko’p
qo’llaniladigan hodisalar hisoblanadi.
– UpDown sonli qiymatlarni o’zgartirish maqsadida qo’llaniladi. Mazkur
UpDown komponentini quyidagicha xususiyatlari mavjud:
1. Max – UpDown ning maksimal qabul qiluvchi qiymati;
2. Min – UpDown ning minimal qabul qiluvchi qiymati;
3. Position – UpDownning mazkur vaqtdagi qiymati;
4. Orientation – xususiyati orqali UpDown qanday holatda aks etilishini
belgilanadi. trHorizontal va trVertical.
5. Increment – xususiyatiga qadamlar soni beriladi, bu esa ortirish va
kamaytirish davomida zarur qiymat hisoblanadi.
Mazkur komponentdan foydalanishda onChanging, onChangingEx, onClick
va onContextPopup ko’p qo’llaniladigan hodisalar hisoblanadi.
– RichEdit komponentida ham Memo komponentida mavjud barcha
xususiyatlar mavjud bo’lib, ular quyidagilarni tashkil etadi:
1. Lines
– RichEdit maydonida aks etadigan satrlar;
2. WordWrap – agar bu xususiyat false gat eng bo’lsa ilovaning ioyna
hajmidan qat’iy nazar Enter tugmasi bosilmaguncha satr yakunlanmaydi.
3. WantTabs – agar bu maydon true gat eng bo’lsa, Tab tugmasi bosilganda
abzas ajratiladi. Aks holda esa, keyingi component aktivlashadi.
4. ScrollBars – xususiyati orqali sbNone, sbBoth, sbHorizontal va sbVertical
qiymatlaridan biri tanlanadi. Bu esa surgichni paydo bo’lish xususiyatlaridir.
20
5. ReadOnly – agar ushbu maydon truega teng bo’lsa, RichEdit maydoniga
xech qanday ma’lumot kiritib bo’lmaydi. Chunki, u faqat o’qish rejumiga
o’tkazilgan.
Mazkur komponentdan foydalanishda onChange, onKeyPress, onClick va
onContextPopup ko’p qo’llaniladigan hodisalar hisoblanadi.
– ImageList komponenti kichik piktogrammali rasmlar ro’yxatini saqlovchi
component hisoblanadi. Mazkur komponentning asosiy xususiyatlari quyidagucha:
1. Width
– rasmning eni (pikselda);
2. Height
– rasmning bo’yi (pikselda);
3. Count
– rasmlar soni;
4. AllocBy
– Kattayuvchi rasmlar soni.
– DateTimePicker komponentiga tahldor bo’lgan eng asosiy xususiyatlar
quyidagilardan iborat:
1. Date
– xususiyati orqali joriy sana qabul qilish va o’rnatish
mumkin;
2. DateFormat
– Sanani qisqa va to’liq shakllaridan birini tanlash
xususiyati;
3. DateMode
– Sanani kirituvchi maydoni shaklini tanlash xuusiyati.
Bu maydonning ikki qiymati mavjud dmComboBox va dmUpDown.
4. Format
– sana va vaqtning Formati yoziladi. Odatda, bu maydon
bo’sh bo’ladi.
5. Kind
– Maydonni sana yoki vaqtni ko’rsatishga o’tkazuvchi
xususiyat;
6. MaxDate
– Ifodalanuvchi eng maksimal sana;
7. MinDate
– Ifodalanuvchi eng minimal sana;
8. ShowCheckbox – Checkbox maydonini ko’rsatish;
9. Time
– xususiyati orqali joriy vaqtni qabul qilish va o’rnatish
mumkin;
Mazkur komponentdan foydalanishda onChange, onKeyPress, onClick va
onContextPopup ko’p qo’llaniladigan hodisalar hisoblanadi.
21
– MonthCalendar komponentiga tegishli xususiyatlar quyidagilardan iborat:
1. MaxDate
– Ifodalanuvchi eng maksimal sana;
2. MinDate
– Ifodalanuvchi eng minimal sana;
3. Date
– xususiyati orqali joriy sana qabul qilish va o’rnatish
mumkin;
4. ShowToday
– Joriy kunni ko’rsatish;
5. ShowTodayCircle– Joriy kunni belgilab ko’rsatish;
6. WeekNumbers
– Haftalar tartib raqamini ko’rsatish;
– StatusBar komponenti faol ilova haqida har qanday ma’lumotlarni aks etib
turuvchi panel hisoblanadi. Mazkur komponent quyidagi alohida xususiyatlarga
ega:
1. Panels
– Holat satrini tashkil etuvchi panellar kirituvchi va
tahrirlovchi muharrir;
2. SimplePanel
– Agar bu xususiyat True qiymatiga teng bo’lsa, yagona
panel mavjudligini bildiradi;
3. SimpleText – Holat satrida xech qanday panel bo’lmasa, kerak xabar
mazkur xususiyat orqali yetkiziladi;
4. UseSystemFont – Mazkur xususiyat True qiymatiga teng bo’lsa,
StatusBar uchun asosiy shrift turi bu tizimda tanlangan shriftga teng bo’ladi.
Mazkur komponentdan foydalanishda onChange, onKeyPress, onClick,
onDbClick, va onContextPopup ko’p qo’llaniladigan hodisalar hisoblanadi.
Delphining standart komponentlarining asosiy hodisa va xususiyatlari
haqidagi ma’lumotlar quyida keltirilgan. Bu komponentlarni o’rganayotgan vaqtda
qo’l ostingizda komp’yuter bo’lgani ma’qul, chunki birvarakayiga ularning ishlash
printsipi bilan ham tanishishingiz mumkin.
– MainMenu komponentining asosiy xususiyatlariga quyidagilarni
kiritish mumkin:
1. Images – mazkur menu uchun biriktirilgan rasmlar kolleksiyasi;
22
2. Items
– mazkur menyuning tarkibiy qismlari. Ularni ichma-ich yoki
bir satrda joylashtirish mumkin;
3. AutoHotKeys – agar bu xususiyat Automatic qiymatiga teng bo’lsa,
ilova uchun tizim uchun standart qaynoq tugmachalar aktiv holatda qoladi, aks
holda ilova uchun ularni belgilash kerak bo’ladi.
– Yordamchi PopupMenu menyunining deyarli barcha xususiyatlari
MainMenu bir xil bo’lib, ular quyidagilardan iborat:
1. Images – mazkur menu uchun biriktirilgan rasmlar kolleksiyasi;
2. Items
– mazkur menyuning tarkibiy qismlari. Ularni faqat bir ustunda
joylashtirish mumkin;
3. AutoHotKeys – agar bu xususiyat Automatic qiymatiga teng bo’lsa,
ilova uchun tizim uchun standart qaynoq tugmachalar aktiv holatda
qoladi, aks holda ilova uchun ularni belgilash kerak bo’ladi.
4. MenuAnimation – ushbu maydondan tanlangan parametrlar bo’yicha
menyudan foydalanilgan animatsiya shaklida namoyon bo’ladi;
5. Aligment – menyudan foydalanilganda joylashuvini anglatadi, u uch
holatda bo’lichi mumkin: Left, Center va Right.
– Label komponentining asosiy xususiyatlari quyidagilarni o’z ichiga
olad:
1. Caption – Label komponentining ma’lumoti ushbu xususiyatda satrli tip
shaklida saqlanadi;
2. AutoSize – Ushbu xususiyat True qiymatiga teng bo’lsa, uning uzunligi
Caption qiymatining uzunligiga teng bo’ladi, aks holda foydalanuvchi
belgilagan parametrda bo’ladi;
3. GlowSize – mazkur xususiyat orqali satrning atrofida belgilangan qiymat
miqdorida soya hosil qilish mumkin;
4. WordWrap – agar bu xususiyat True qiymatiga teng bo’lsa, ilovaning
o’lchami o’zgartirilganda Label komponenti ham mos ravishda o’zgaradi.
23
TEdit – Windowsdagi standart ma’lumot kiritish oynasi bo’lib, u
quyidagilar xususiyatlarni o’z ichiga oladi:
1. CharCase – ushbu maydondagi qiymatlar kiritilayotgan belgilarning
registerini belgilaydi. Ular quyidagi qiymatlarda bo’lishi mumkin:
ecNormal, ecUpper va ecLower;
2. Color – ushbu xususiyatdan Editning foni uchun rang tanlanadi;
3. MaxLength – Kiritilgan matnning maksimal uzunligini belgilab
qo’yiladi;
4. NumbersOnly – bu xususiyat True qiymatiga teng bo’lsa, maydonga
faqatgina 0-9 oralig’idagi raqamlarni kiritish mumkin bo’ladi;
5. PasswordChar – bu maydon odatiy holatda #0 qiymatiga teng bo’ladi,
agar kiritilayotgan ma’lumot parol ko’rinishida bo’lishi talab etilsa,
mazkur maydonga * ni kiritish kerak;
– ComboBox komponenti quyidagi asosiy xususiyatlarga ega:
1. Items
– mazkur ro’yxat elementlarini kiritish, o’chirish va taxrirlash
bo’limi;
2. Style
– mazkur maydonni uslubini belgilovchi xususiyat.
Odatda,
csExDropDownList,
csExDropDown
va
csExSimple
qiymatlaridan biri tanlanadi.
3. Text
– ComboBox kompoonentida nofaol holatda aks etuvchi matn.
4. Columns – Elementlar nechta usutun shaklida namoyon etishi belgilaydi;
5. DrawCount – ComboBox elementlarini umumiy soni.
Mazkur komponentdan foydalanishda onChange, onKeyPress, onClick,
onDbClick, va onContextPopup ko’p qo’llaniladigan hodisalar hisoblanadi.
– Button komponenti quyidagi xususiyatlarga ega:
1. Caption – Button komponentining ma’lumoti ushbu xususiyatda satrli tip
shaklida saqlanadi;
24
2. Style – xususiyatidagi qiymatlar orqali Button komponentini ko’rinishini
o’zgartirish mumkin. U quyidagi qiymatlarning birida bo’lishi mumkin:
bsPushButton, bsCommandLink va bsSplitButton;
3. ModalResult – xususiyati qiymatlari orqali Modal holatda ishlatilgandagi
natijani olish mumkin.
Panel komponentlarining har ikkisi ham deyarli bir maqsadda
ishlatilgani uchun ularning Enabled, Visible, Width, Height, Align, va Caption
asosiy xususiyatlarga ega.
25
III. AMALIY QISM
Mazkur kurs ishini bajarishdan asosiy maqsad shuki, Informatika va axborot
texnologiyalari fanidan olingan bilimlarga tayangan holda ikki sonni
ko’paytmasini aniqlovchi intelektual o’yin dasturini yaratishdir. Mazkur intelektual
o’yinning qoidasi – kompyuter to’qqizgacha bo’lgan ikki sonni o’ylaydi,
foydalanuvchi esa ularning ko’paytmasi topadi. Foydalanuvchi topgan va
topolmagan ko’paytmalar hisoblanib boriladi. Agar foydalanuvchi yakunlash
tugmasini bossa foydalanuvchining o’zlashtirish ko’rsatkichi ko’rsatib dastur
ishini yakunlaydi.
Mazkur
dasturni
yaratishda
Edit,
Label,
BitBtn
va
StatusBar
komponentlaridan foydalanildi. Komponentlarning tartibli joylashuvi quyidagi
rasmda ko’rsatilgan.
Dasturning ko’rinishi quyidagicha:
Dasturning kodi quyidagi listingda keltirilgan:
var
Form1: TForm1;
26
i,j,n,s,m,p:Integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
if StrToInt(Edit1.Text) =i*j then
begin
p:=StrToInt(Label8.Caption);
Randomize;
i:=Random(n);
Randomize;
j:=Random(n);
Label1.Caption:=IntToStr(i);
Label2.Caption:=IntToStr(j);
Edit1.Text:='0';
p:=p+1;
Label8.Caption:=IntToStr(p);
end
else
begin
Edit1.Text:='0';
m:=StrToInt(Label9.Caption);
m:=m+1;
Label9.Caption:=IntToStr(m);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a,b,c:Integer;
f:Real;
begin
a:=StrToInt(Label8.Caption);
b:=StrToInt(Label9.Caption);
27
c:=a+b;
if c<>0 then
begin
f:=a*100 div c;
ShowMessage(IntToStr(c) + ' ta savoldan ' + IntToStr(a)+' tasiga to`gri javob
berildi.'+#13+'O`zlashtirish '+ FloatToStr(f)
+' %ni tashkil etadi.');
end;
Close();
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
Button2Click(Sender);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=10;
Randomize;
i:=Random(n);
Randomize;
j:=Random(n);
Label1.Caption:=IntToStr(i);
Label2.Caption:=IntToStr(j);
Label8.Caption:=IntToStr(0);
Label9.Caption:=IntToStr(0);
end;
end.
28
XULOSA
Hozirgi zamonaviy axborot kommunikatsion texnologiyalari behad
rivojlangan davrga kelib, jamiyat ahlining deyarli barcha qatlami axborot
kommunikatsion texnologiyalaridan keng foydalanmoqda. Shunday yo’nalishlar
qatoriga muhandisslik, iqtisodiyot, statistika kabi yo’nalishlarni kiritish mumkin.
Mazkur kurs ishida berilgan nazariy va amaliy topshiriqlar bilan ishlash
natijasida Delphi dasturlash tilida foydalaniladigan Edit, Label, StatusBar, va
BitBtn komponentlari taxlil etildi. Natijada esa, to’qqizgacha bo’lgan sonlarning
ko’paytmasini topuvchi intelektual o’yin dasturi yaratildi.
Mazkur dasturni yaratishda mantiqiy amallar va dasturlash texnologiyasi
bo’yicha bilimlarim yanada rivojlandi.
29
FOYDALANILGAN ADABIYOTLAR
1. Informatika va axborot texnologiyalari: Oliy ta`lim muassasalari talabalari
uchun darslik S.S. G`ulomov, B.A. Begalov; O`z.R Oliy va o`rta maxsus ta’lim
vazirligi, Toshkent Davlat Iqtisodiyot Universiteti.-T.: Fan,2010.-704 bet
2. Informatika. Akademik S.S.G’ulomov umumiy tahriri ostida. Darslik.
Toshkent. – TDIU, 2007.
3. Alimov R, Hodiyev B. “Milliy iqtisodda axborot tizimlari va
texnologiyalari”, Т.: “Sharq”-2004.
4. Фленов М. Е. Библия Delphi. — 2-е изд. БХВ-Петербург – 2008.
5.
http://www.ziyonet.uz
– Ziyonet axborot resurs portali.
6.
http://moodle.andmiedu.uz
– AndMI masofaviy ta’lim tizimi.
30
ILOVA
object Form1: TForm1
Left = 0
Top = 0
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = 'Topgan topaloq...'
ClientHeight = 271
ClientWidth = 245
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 144
Top = 8
Width = 93
Height = 19
AutoSize = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
31
Font.Style = []
ParentFont = False
end
object Label2: TLabel
Left = 144
Top = 48
Width = 93
Height = 19
AutoSize = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label3: TLabel
Left = 8
Top = 8
Width = 88
Height = 19
Caption = 'Birinchi son:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label4: TLabel
32
Left = 8
Top = 48
Width = 91
Height = 19
Caption = 'Ikkinchi son:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label6: TLabel
Left = 8
Top = 143
Width = 50
Height = 19
Caption = 'To'#39'g'#39'ri:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label7: TLabel
Left = 8
Top = 179
Width = 65
Height = 19
33
Caption = 'Noto'#39'g'#39'ri:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label8: TLabel
Left = 144
Top = 143
Width = 93
Height = 19
Alignment = taCenter
AutoSize = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label9: TLabel
Left = 144
Top = 179
Width = 93
Height = 19
Alignment = taCenter
AutoSize = False
BiDiMode = bdLeftToRight
34
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = []
ParentBiDiMode = False
ParentFont = False
end
object Label10: TLabel
Left = 8
Top = 247
Width = 229
Height = 24
Alignment = taCenter
AutoSize = False
Caption = 'AndMI, MYaMT 131_14 - 2015 yil'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Edit1: TEdit
Left = 8
Top = 79
Width = 229
Height = 21
Alignment = taRightJustify
TabOrder = 0
35
Text = '0'
OnKeyPress = Edit1KeyPress
end
object Button1: TButton
Left = 8
Top = 106
Width = 229
Height = 25
Caption = 'OK'
TabOrder = 1
OnClick = Button1Click
end
object Button2: TButton
Left = 8
Top = 216
Width = 229
Height = 25
Caption = 'Yakunlash'
TabOrder = 2
OnClick = Button2Click
end
end.
Do'stlaringiz bilan baham: |