Ochiq darsi hujjatlari - bet 30

Maydon - Ma’lumotlar ombori strukturasi (tuzilishi)ni belgilaydi va unda obyektning faqat birgina xususiyati saqlanadi.
Yozuv – o’zaro mantiqan bog’langan maydonlar majmui bo’lib, biror obyektning asosiy xususiyatlarini ifodalaydi.
Nazorat savollari.
1. Ma’lumotlar ombori haqida ma’lumot bering.
2. Ma’lumotlarni strukturalash qanday amalga oshiriladi.
3. Rekvizitga ta’rif bering.
2-bob. Zamonaviy dasturlash tillari
17-ma’ruza
Delphi dasturlash tilida loyihalar.
Reja:
1. Dasturlash tillari tasnifi
2. Dasturlash tillarini sinflash
Dasturlash tillari paydo bo’lishidan oldin dasturlar mashina kodlarida (mashina kodi - prosessor tomonidan bajariladigan xotiradagi qo’llanmalar ketma-ketligidir) tuzilar edi. Katta-katta dasturlarni tuzishda juda ko’p variant talab qilinar, ularni xatolarini tuzatish juda qiyin, molifikasiyalash esa ko’p hollarda ilojsiz edi. Shularni hisobga olib, inson uchun tushinarli boshlagan dasturlash tillarini tashkil qilish muammosi paydo bo’ldi. Dasturlash tillari inson uchun tushinarli boshlagan dasturlarni tuzish imkonini beradi.
Zamonaviy dasturlash tillari EHMning ichki mashina tilidan keskin farq qiladi va EHM bevosita ana shu tilda ishlay olmaydi. Buning uchun dasturlash tilidan mashina tushunadigan tilga tarjima qiluvchi maxsus dastur translyatordan foydalaniladi. Dasturni translyasiya qilish va bajarish jarayonlari vaqtlarga ajraladi.Dasturlashning ixtiyoriy tili belgilar majmuini va algoritmlarni yozish uchun ushbu belgilarni qo’llash qoidalarini o’z ichiga oladi. Dasturlash tillari bir biridan alifbosi, sintaksisi va semantikasi bilan ajralib turadi.
Alifbo - tilda qo’llaniladigan ko’plab turli ramziy belgilar (harflar, raqamlar, maxsus belgilar).Tilning sintaksisi jumlalar tuzishda belgilarning bog’lanish qoidalarini belgilaydi, semantikasi esa ushbu jumlalarning mazmuniy izohini belgilaydi.
Hozirgi kunda dasturlash tillarini u yoki bu belgisi bo’yicha sinflash mumkin. Dasturlash tilining EHMga bog’liqlik darajasi bo’yicha sinflash eng umumiy hisoblanadi. Yuqorida aytilgan belgiga qarab, dasturlash tillari mashinaga bog’liq va mashinaga bog’liq bo’lmagan tillarga bo’linadi.Mashinaga bog’liq tillar, o’z navbatida, mashina tillari va mashinaga mo’ljallangan tillarga ajratiladi.
Dasturlash tilining mashina tiliga yaqinligi darajasini tariflash uchun til darajasi tushunchasi qo’llaniladi. Mashina tili 0 daraja deb qabul qilingan bo’lib, sanoq boshi hisoblanadi. Odamning tabiiy tili eng yuqori darajadagi til deb qaraladi.
Mashinaga bog’liq bo’lmagan tillar xam ikkita turga bo’linadi: birinchisi proseduraga mo’ljallangan tillar, ikkinchisiga - muammoga mo’ljallangan tillar.
Proseduraga mo’ljallangan tillar turli masalalarni yechish algoritmlarini (proseduralarni) tavsiflashga mo’ljallangan, shuning uchun ular ko’pincha oddiy qilib algoritmik tillar deb ataladi
Dasturlash tillarini sinflash.
Hisoblash texnikasining rivojlanishi masalalarning xususiyatlariga butunlay mo’ljallangan va aniq bir mashinaga bog’liq bo’lmagan yuqori darajadagi dasturlash algoritmik tillarining paydo bo’lishi hamda ularning rivojlanishiga olib keladi. Mazkur tillarning imlosi, so’z boyligi dastur bilan ishlaydigan insonga (dasturchiga) ham, kompyuterga ham bir xilda qulay qilib tanlanishi kerak. Yuqori saviyadagi dasturlash tillariga Algol, Fortran, PL/1, Paskal, Simula va boshqa juda ko’p tillar misol bo’la oladi. Kompyuter dasturda beriladigan buyruqlar ketma – ketligini oson talqin qilishi va bajara olishi kerak. Demak, dasturlash tilini inson va mashinaning muloqot vositasi, deb hisoblash mumkin.
Dasturlash tili quyidagi afzalliklarga ega:
- U jonli tilimizga o’xshash bo’lib, uni o’rganish oson;
- Bu tilda yozilgan dastur mashina tilidagidan qisqaroq bo’ladi;
- Dastur yozishga kamroq vaqt sarflanadi va kam xatolikka yo’l qo’yiladi;
- Yozilgan dasturni ixtiyoriy dasturchi o’qiy oladi;
- Dasturlash tili mashina turiga bog’liq emas.
Demak, dastrulash (yuqori saviyadagi) tilida dastur tuzish qulayroq, osonroq va buning uchun aynan bir mashina (quyi saviyadagi)tilini bilish shart emas ekan.
Hozirgi paytda dastrulash tillarining soni juda ko’payib ketmoqda. Lekin, shuni aytish kerakki, har qanday dasturlash tili o’zining darajasi va qo’llash sohasiga ega. Ba’zi bir tillar bir necha xil soha masalalarini yechishga ishlatiladi. Bunday tillar universal tillar, deb ham ataladi.
Foydalanuvchidan kompyuter bilan muloqot qilish uchun kompyuter tilini bilish ham talab qilinadi.Kompyuter tushunadigan til dasturlash tili deb ataladi.Biror masalani kompyuterda yechish uchun,avvalo,uning algoritmi tuzulishi va bu algoritmni kompyuter tushunadigan ko’rsatmalar va qonun-qoidalar asosida yozilishi kerak bo’ladi.Bu yozuv dastur bajarishi mumkin bo’lgan ko’rsatmalarning izchil tartibidan iborat ekan.Kompyuter uchun dastur tuzish jarayoni dasturlash va dasturni tuzadigan kishi dasturchi deb ataladi.Hozirgi kunda hisoblash,muhandis-texnik, iqtisodiy, matnli va sonli axborotlarni tahlil qilish va boshqa masalalarni yechish uchun yuqorish darajadagi dasturlar tillari mavjud
Masalan: FORTRAN tili 1954 yili ishlab chiqilgan bo'lib, FORmyla TRANslator –formulalar translyatori degan manoni anglatadi va ilmiy va muxandis - texnik masalalarni hisoblashlarda ishlatiladi.
ALGOL tili 1960 yili yaratilgan bo’lib, ALGOritmic Langauge -algoritmik til degan ma'noni anglatadi va ilmiy-texnik masalalarni hisoblashlarda ishlatiladi.
KOBOL tili 1959 yili yaratilgan bo’lib, Common Businees Oriented Langauge - savdo-sotiq masalalariga mo’ljallangan til degan ma'noni anglatadi. Korxona va tarmoqning moddiy boyligini, moliyasini, ishlab chiqargan mahsulotini hisobga olish bilan bog’liq iqtisodiy masalalarni yechish uchun ishlatiladi.
Pascal - 1969 yilda Syurix texnika universiteti professori N.Virt tomonidan yozilgan. Pascal tili 1971 yilda elon qilingan bo’lib, fransuz olimi Blez Paskal nomiga qo’yilgan bo’lib, talabalarga dasturlar tuzishni o’rgatishga mo’ljallangan. Keyinchalik bu dastur Amerikaning borland firmasi tomonidan qayta ishlangan va uni turbo pascal dasturlash tili deb nomlangan. turbo pascalni qayta ishlash natijasida ob’yektli dasturlash yo’lga qo’yildi va uni object pascal deb atala boshlandi.
hisoblash texnikasi va texnologiyasining rivojlanishi natijasida borland firmasi tomonidan Yangi delphi dasturlash tili yaratildi
PL/1 tili 1964 yilda yaratilgan bo’lib, Programming Langauge/1 - 1-tartib raqamli dasturlash tili ma'nosini anglatadi. Ushbu til universal tillar turkumiga kiradi. Bu tilda ishlab chiqilgan dasturlar EHMni Yangisi bilan almashtirilganda qaytadan tuzib chiqilishi zarur emas.
BEYSIK (BASIC - Beginner's All Purpose Sumbolic Instruction Code - boshlovchilar uchun ko’p maqsadli dasturlash tili) hisoblash algoritmlarini yozish uchun qo’llaniladigan algoritmik til. Bu til 1965 yilda Dartmut kolleji xodimlari Kemini va Kurslar tomonidan ishlab chiqilgan.Proseduraga mo’ljallangan tillardan masalalarning matematik ifodalari, algoritmlar va dasturlash usullari bilan tanish bo’lgan mutaxassislar foydalaniladilar. Bunda ulardan EHM-ning tuzilishini mukammal bilish talab qilinmaydi.
Muammoga mo’ljallangan tillar EHMda masala yechish usullari va dasturlash usullari bilan tanish bo’lmagan foydalanuvchilar uchun yaratilgandir. Foydalanuvchi masalani tariflashi, boshlang’ich malumotlarni berishi va natijani chiqarishning talab qilingan ko’rinishini aytishi kifoya
Nazorat savollari !
Alifbo nima?
Mashina tili qanday daraja deb qabul qilingan?
Algoritmik tillar nima?
Yuqori saviyadagi dasturlash tillariga tillar misol bo’la oladi?
Dasturlash tilining afzalliklarga ega?
FORTRAN tili qachjn ishlab chiqilgan?
ALGOL qanday masalalarni hisoblashlarda ishlatiladi?
KOBOL tili qandayma'noni anglatadi?
Fransuz olimi Blez Paskal nomiga qaysi algoritmik til qo’yilgan?
Turbo Pascal nima?
18-ma’ruza
Delphi dasturini ishga tushirish va unda ilova yaratish.
Reja:
1. Dasturlash tilining elementlari.
2. Delphi tizimining oynalari.
Hozirgi vaqtga kelib kompyuter olamida ko’plab dasturlash tillari mavjuddir. Ular Beysik, Paskal, Si va boshqa dasturlash tillaridir. Xo’sh ulardan qay biri yaxshiroq? Albatta bu savolga Paskal dasturlash tili deyish mumkin. Chunki, uning boshqa dasturlash tillaridan farqi, u universal dasturlash tili bo’lib, turli xil dasturlarni tuzish va o’rganish uchun qulay hisoblanadi. Bu til 1969 yil N. Virt tomonidan yaratilgan bo’lib, keyinchalik Amerikaning Borland firmasi tomonidan qayta ishlangan va uni Turbo Pascal dasturlash tili deb nomlangan. Turbo Pascalni qayta ishlash natijasida ob’yektli dasturlash yo’lga qo’yildi va uni Object Pascal deb atala boshlandi. Hisoblash texnikasi va texnologiyasining rivojlanishi natijasida Borland firmasi tomonidan Yangi Delphi dasturlash tili yaratildi.
Delphi dasturlash tili Windows uchun mo’ljallangan bo’lib, uning birinchi versiyasi Windows 3.1 operatsion sistema qobig’ida ishlagan. Windows 95 operatsion sistema yaratilganidan so’ng, 16-razryadli Delphi 2, keyinroq 32-razryadli Delphi 3 versiyasi yaratildi. Windows 98 operatsion sistemasi uchun Delphining to’rtinchi versiyasi va hozirgi kunda Delphi 7 paydo bo’ldi.
Ushbu kitobda biz Delphi 4 ob’yektli dasturlashning imkoniyatlari bilan tanishamiz.
Delphi 4 dasturlash tili – dasturlarni qayta ishlash muhiti bo’lib, 32-razryadli Windows operatsion sistemasida ishlaydi. Unda ob’yektli dasturlash tili bo’lgan Object Pascal mujassamlashgan.
Delphi - vizual proyektlar, turli holat proseduralarini va dasturlarni qayta ishlashda vaqtdan yutish va boshqalarni o’z ichiga oladi.
Delphi dasturlash tilining oynalari
Delphi dasturlash tilini ishga tushirganimizda uning ishchi oyna ko’rinishini ko’ramiz (qanday ishga tushirishni avvalgi ma’ruzada ko’rib o’tilgan).
U unchalik oddiy emas (-rasm). Oynada to’rtta oyna hosil bo’lib, ular quyidagilardir: Delphi4 – bosh oynasi, Form1 – forma oynasi, Object Inspector – ob’yekt inspyektori oynasi va Unit1.pas – kodlarini tahrirlash oynasi.
Delphining bosh oynasida Delphi buyruqlar satri, buyruq tugmachalari va komponentlar palitrasi joylashgan bo’ladi.
Object Inspector oynasi yordamida ob’yektlar hususiyatlarini o’zgartirish mumkin: formalar, tugmalar, kiritish maydonlari va hokazolarni.
Buyruq menyusi.
Delphining menyu satridan quyidagilar joy olgan: File, Edit, Search, View, Project, Run, Component, Database, Tools, Help.
Bularning barchasida ost menyular mavjuddir.
File ning ost menyusida bir necha buyruqlar bo’lib ular yordamida Yangi proyekt, formalarni ochish va ularni saqlash mumkin. Shu bilan birgalikda ochilgan proyektni yopish, Delphi dan chiqish va shularga o’xshash fayllar bilan ishlash imkoniyatlari bor:
Edit menyusi ost menyudan foydalanib kodlarni tahrirlash, umuman kodlar sirtida turli xil amallarni bajarish mumkin;
View yordamida esa Delphi ishchi muhiti ko’rinishini o’zgartirish mumkin;
Run menyusi yordamida dasturni ishga tushirishni turli yo’llari amalga oshiriladi;
Database menyusida ma`lumotlar ba’zasini tashkil qilish mumkin;
Help menyusi esa Delphi va unda dasturlash haqidagi barcha ma’lumotlarni olish imkoniyatini yaratadi.
Buyruqlar tugmachasi:
Buyruqlar tugmachasi yordamida Yangi formalar yaratish, mavjud faylni ochish, dasturni saqlash, Yangi forma yaratish va shunga o’xshash amallar tez bajariladi.
Komponentlar palitrasi:
Bu yerda standart yoki dasturchilar tomonidan yaratilgan komponentlar mavjud bo’lib, ulardan tez va sifatli dasturlar yaratishda foydalaniladi.
Object Inspector oynasi:
Object Inspector oynasi quyidagi ob’yektlarning holatini o’zgartiradi: formalar, buyruqlar tugmachasi, kodlar maydoni va boshqalar.
Dastur formasi:
Dastur tuzishda ishlatiladigan barcha komponentlar dastur formasiga joylanadi va ana shu yerdan ularga o’zgartirish kiritilishi mumkin. Dastur ishga tushirilgandan so’ng, barcha amallar dastur formasi yordamida bajariladi.
Nazorat savollari
Delphi dasturida kodlarini tahrirlash oynasi qaerda joylashgan?
Buyruqlar tugmachasi nima?
Komponentlar palitrasi nima?
Object Inspector oynasining vazifasi?
Dastur formasi nima?
Delphi proyekti nima?
Dastur kodi forma orqasiga yashiringan bo’lib, u yerga nimalar kiritiladi?
“Parol kiritish oynasi” loyihasi: Edit komponenti
Reja:
1. Dastur proekti haqida tushuncha.
2. Dastur koditushunchasi.
3. Label, Edit, Memo matn komponentlari va Button tugmasi bilan ishlash
Proyekt:
Delphi proyekti – bu kompilyator tomonidan, dastur yaratilganidan so’ng, yaratilgan dasturga tegishli bo’lgan fayllar to’plamidir. Proyekt, bir yoki bir nechta proyekt fayllarini va modullarni o’z ichiga oladi (Unit moduli).
Proyekt fayli *.dpv kengaytmasiga ega bo’lib, proyektning umumiy holatini o’zida saqlaydi. Proyekt moduli fayli esa *.pas kengaytmali bo’lib, ishchi faylini yaratishda kompilyatorga kerak bo’luvchi prosedura, funksiya matnlari, tiplarni tavsifi va boshqa ma’lumotlarni o’zida saqlaydi.
Dastur kodi:
Dastur kodi forma orqasiga yashiringan bo’lib, u yerga dastur matnlari kiritiladi. U oynaga F12 yoki Ctrl+F12 tugmalari yordamida o’tish mumkin.
Delphi kodlar muhitida dastur buyruqlarini kiritish va ularni qayta ishlash mumkin. Shuni ham ta’kidlash lozimki, Delphi kodlar muhiti avtomatik tarzda Object Pascal dasturlash tilidagi kalit so’zlarni (begin, end, procedure, const, var va bosh.) qalin harflar bilan belgilaydi.
Ma`lumot yozilgan satr(dastur izohi)ni belgilash uchun figurali qavslardan foydalaniladi. Qavs ochilsa undan keyin turgan kodlar ko’rinishi o’zgaradi. Kerakli joyda qavs berkitilsa ko’rinishi o’zgargan kodlar faqat qavs oralig’idagina qoladi va dastur ishlash jarayonida shu oraliq ishlatilmaydi.
Delphi kodlar muhitining imkoniyatlaridan yana biri shuki, u yerga biror funksiyani masalan: «StrToFloat» ni yozib, qavs ochsak satr ostida kichik oyna hosil bo’ladi. Bu oynada qavs ichidagi o’zgaruvchi tipi ko’rsatilgan bo’ladi, yoki biror operatorni masalan: Label1 ni yozib nuqta qo’yilsa satr ostida nuqtadan keyinga yozish mumkin bo’lgan operatorlar ro’yhati chiqadi va ulardan kerakligini tanlab qo’yishimiz mumkin.
Kodlar oynasida biror operator sirtiga kursorni olib borib CtrlQF1 tugmalari teng bosilsa shu operator haqidagi yordam oynasi hosil bo’ladi. U yerdan kerakli axborotni olish mumkin. Agar kursorni bo’sh joyga olib kelib, F1 bosilsa umumiy yordam ma’lumotlari chiqadi.
Kodlar oynasida tahrirlash oddiy matn muharrirlari kabi amalga oshiriladi. Ya’ni belgilangan (blokka olingan) kod nusxasini olish, qirqib olish va kerakli joyga qo’yish mumkin. Undan tashqari kodlar ichidan kerakli belgini izlab topish va almashtirish, Delete tugmasi yordamida kursordan keyin turgan belgini, Backspace yordamida esa kursordan oldin turgan belgi yoki belgilarni o’chirish mumkin. CtrlQ, CtrlQ tugmachalari yordamida bir so’z keyinga va oldinga, PgDn, PgUp tugmachalari yordamida esa bir oyna pastga va yuqoriga o’tiladi.
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.
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 erda a: Real; - o’zgaruchisi bo’lib, Edit1.Text maydonidagi ma’lumotni raqam qilib o’zlashtiradi. cod: Integer; deb e’lon qilinadi.
Nazorat savollari:
Parol kiritish loyihasi haqida ?
Label komponenti haqida
Edit komponenti haqida tushuncha?
“Raqamli soat hosil qilish” loyihasi Timer komponenti
Reja:
Ma’lumotlarni kiritish operatorlari
2. Ma’lumotlarni chiqarish operatorlari
Biror bir masalani yechishning chiziqli bo’lgan algoritmiga dastur tuzishda algoritmdagi keltirilgan ketma-ketliklar asosida operatorlar yoziladi. Bunday dasturlarni tuzushda asosan o’zgaruvchilar qiymatini kiritish, natijalarni chiqarish va shu bilan birga o’zlashtirish operatorlari ishlatiladi.
Dasturdagi o’zgaruvchilar qiymatlarini dastur ichida o’zlashtirish operatori yordamida ham berish mumkin. Lekin dasturda o’zgaruvchi qiymatini tashqaridan kiritish qulaylik tug’diradi va umumiylikni ta’minlaydi.
Timer obyektining xossalari. Ba’zan ilovada vaqtga bog‘liq
amallarni bajarishga to‘g‘ri keladi. Masalan, ilovada joriy vaqtni
ko‘rsatuvchi soat bo‘lsa, har sekundda ko‘rsatilayotgan vaqtni Yangilab turish kerak. Aks holda soatdagi vaqt orqada qolib ketadi.
Taymer obyektining o‘ziga xos xususiyati uning ekranda
ko‘rinmasligidir. Taymer obyekti obyektlar panelining System (Tizim) jildida joylashgan:
2. Elektron soat va Taymer ilovasi. Elektron soat ilovasini yaratamiz.
Y angi ilova yaratib, uning sarlavhasini elektron soatga o‘zgartiramiz. Ilova oynasiga ikkita obyekt: Label va Timer joylaymiz. Label ning Font (shrift) xossasini ikki marta bosib, shrift muloqot oynasida shrift o‘lchamini 24 ga teng qilib o‘rnatamiz:
Timer obyektini ikki marta bosib, uning protsedurasiga
Label1.Caption:=TimeToStr(Now); operatorini kiritamiz. Bu operatorda
ikkita standart funksiyadan foydalanilayapti. Ulardan birinchisi Now (hozir)
bo‘lib, uning qiymati kompyuterning soati bu funksiya ishga tushgandagi vaqtiga teng:
Taymer ilovasi. Yangi ilova yaratib, uning oynasiga Label, Button,
SpinEdit va Timer obyektlarini joylaymiz. Label va Button sarlavhalarini
QOLGAN VAQT: va START larga o‘zgartiramiz.
SpinEditning xossalarini quyidagicha o‘rnatamiz:
SpinEdit1.MaxValue:=100; SpinEdit1.Value:=30;
SpinEdit1.Enabled:=False; Button tugmasini ikki marta bosib, uning protsedurasiga Timer1.Enabled:=True; operatorini kiritamiz. Timerni ikki marta bosib, TForm1.Timer1Timer protsedurasiga quyidagi dastur kodini kiritamiz:
SpinEdit1.Value:=SpinEdit1.Value-1;
if SpinEdit1.Value=0 then
begin
Timer1.Enabled:=False;
ShowMessage('VAQT TUGADI.');
Form1.Close;
end;
Nazorat savollari:
1. Delphida dastur tuzilmasi qanday?
2. Kiritish operatori haqida gapiring.
3. Chiqarish operatori haqida gapiring.
4. Shartli o’tish operatori qanday bo’ladi?
“Futbol to’pini sakratish” loyihasi: Image komponenti
Reja:
1. Futbol to’pini sakratish loyihasi
2. Funksiya va protsedura tushunchasi
3. Image komponenti
Rasmga matn joylash. Rasmlar bilan ishlashda ko‘p uchraydigan amallardan biri bu rasmga matn joylashdir. Bu amalni bajarish uchun Canvasning usuli bo‘lgan TextOut (matn chiqarish) dan foydalaniladi. Unin
2. Koptok ilovasi. Timer obyektidan birinchi navbatda animatsion harakat yaratish uchun foydalaniladi. Bu qanday amalga oshirilishini ko‘rish uchun Yangi ilova yaratamiz. Unga yetarlicha katta Image obyektini, bittadan Timer, CheckBox va SpinEdit larni joylaymiz.
Timer obyektini ikki marta bosib uning protsedurasini quyidagicha to‘ldiramiz:
procedure TForm1.Timer1Timer(Sender: TObject);
var n:integer;
begin
n:=SpinEdit1.Value;
if not CheckBox1.Checked then
Image1.Canvas.Rectangle(-3,-3,Image1.Width+3,Image1.Height+3); x:=x+dx*n;
if x>Image1.Width then
begin x:=2*Image1.Width-x; dx:=-dx;end;
if x<0 then begin x:=-x; dx:=-dx;end;
y:=y+dy*n;
if y>Image1.Height then
begin y:=2*Image1.Height-y; dy:=-dy;end;
if y<0 then begin y:=-y; dy:=-dy;end;
Image1.Canvas.Ellipse(x-10,y-10,x+10,y+10);
end;
Beshinchi satrda CheckBox1 da bayroqcha o‘rnatilganligi tekshiriladi. Agar bu bayroqcha o‘rnatilmagan bo‘lsa, oltinchi satrda koptokning oldingi holati butun rasmni o‘chirib tashlash bilan yo‘qotiladi:
Amaliy ish:
1. Piksellar ilovasida nechta pikselning rangi o‘zgaradi?
2. Koptok ilovasida koptokning holati qaysi o‘zgaruvchilarga qarab
aniqlanadi.
3. Koptok ilovasida koptokning harakat tezligi qanday qilib
o‘zgartiriladi?
4. Koptok ilovasida koptok harakatining yo‘nalishi qaysi o‘zgaruvchida
saqlanadi?
5. Piksellar ilovasida ranglarni shakllashtirishda uchinchi asosiy
rangning ham ishtirok etishini ta’minlang.
6. Koptok ilovasida koptok yo‘nalishini dx va dy o‘zgaruvchilarning
boshlang‘ich qiymatlarini almashtirish bilan o‘zgartiring:
a) dx:=1; dy:=1;
b) dx:=1; dy:=2;
c) dx:=3; dy:=2;
d) dx:=3; dy:=1.
Nazorat savollari:
1. Rasmga ellips segmenti qanday qilib qo‘yiladi?
2. Rasmga ellips sektori qilib qo‘yiladi?
3. Rasmga bir nechta matn satri kiritadigan ilova yarating.
Chiziqli jadval elementlari yig’indisini hisoblash loyihasi: String Grid komponenti.
Reja:
1. Dasturlash tilining elementlari
2. Chiziqli jadval elementlari yig’indisini hisoblash loyihasi
3. String Grid komponenti
SHOWMESSAGE OYNASI
Ikkinchi itavaning IcamchiligL Ikkinchi ilovani ishga tushirib, undagi "++" tugmasini ming marta bossak, ilova ekranining eni 16000 pikseldan oshib ketadi. Bu esa dasturchi uchun kechirib bo'lmas xato. Uni bartaraf qilish uchun ilova oynasi eni 600 pikseldan oshsa, boshqa kattalashtirmaslikka kclishib olamiz. Lckin foydalanuvchi tugmani bossada, unda hech qanday o'zgarish ro'y bermasa, das turning to'g'ri ishlayotgani unda shubha tug'dirishi mumkin.
ShowMessage protsedurasL Buning oldini olish uchun ilova o'z oynasi eni 600 dan oshib ketganligi haqida ekranga alohida oynada xabar chiqarsin.
Bu ishni ShowMessage orqali amalga oshiramiz. Ikkinchi ilovadagi Button I tugmasini ikki marta bosib, paydo bo'lgan protseduradagi awalgi ikki operatomi quyidagicha qayta yozib chiqamiz:
Ilovani ishga tushirib, uning tugmasini bir necha marta bossak, ekranga quyidagi yozuv chiqadi. Undagi OK tugmasini bosmagunimizcha, ilova o'z ishini to'xtatib turadi.
IntToStr funksiyasL Ilovaning ishini yanada yaxshilaymiz. Ilova o'z oynasining o'lchamlarini o'zgartirganda ular qanday bo'lgani bizga mavhumligicha qolmoqda. Uni ilova oynasiga chiqarishning iloji bormi? Hozircha biz buning bitta yo'lini bilamiz: oyna o'lchamlarini oyna sarlavhasiga chiqarish. Buning uchun
operatoridan foydalanamiz. Lekin bu operatordan foydalanib bo'lmaydi, chunki unda bir turdagi o'zgaruvchiga ikkinchi turdagi o'zgaruvchini kiritishga urinish bo'layapti. Delphida bu xatoga olib keladi. Butun son turidagi kattalikni matn satri turidagi kattalikka o'tkazish uchun IntToStr (integer to string - butundan satrga jumlasidan olingan) funksiyasidan foydalanamiz:
Unga ilovaning haqiqiy nomini ham qo'shib qo'yamiz:
Buttonl tugmasini ikki marta bosib, dastur kodi oynasini chaqiramiz va oxirgi ikki satrni unga qo'shib qo'yamiz:
Ilovani ishga tushirib, uning sarlavhasi o'zgarishini kuzatamiz:
Nazorat savollari.
1. Ikkinchi ilovaning kamchiligi nimada?
2. ShowMessage qanday vazifani bajaradi?
3. IntToStr funksiyasi qanday vazifani bajaradi?
4. Uchinchi ilovani shunday o'zgartiring-ki, u a) ilova oynasining eni 800 dan, b) ilova oynasi bo'yi 450dan oshsa ekranga ogohlantiruvchi yozuvni chiqarsin.
Ilovada radibayroqchalardan foydalanish: CheckBox boshqarish obyekti
Reja:
1. Dastur proekti haqida tushuncha
2. Dastur koditushunchasi
3. CheckBox komponentlari va Button tugmasi bilan ishlash
1. Bayroqchalardan foydalanishga misollar. Ilovalarda ko’p foydalaniladigan boshqarish ob’yektlaridan biri bu bayroqchadir. Bayroqcha o’rnatilgan va o’rnatilmagan holatlarda bo’lishi mumkin. Agar bayroqcha o’rnatilgan bo’lsa, nimadir ish qilinadi, o’rnatilmagan bo’lsa, hech narsa qilinmaydi.
Bayroqchalardan foydalanishga misol sifatida Word matn muharririning abzas muloqot oynasidagi jildlardan bin yuqoridagj rasmda ko'rsatilgan. Unda oltita bayroqcha bo'lib, ulardan faqat birinchisi o'rnatilgan.
Delphida yaratilgan ilovalarda ham bayroqchalardan foydalansa bo'ladimi? Albatta bo'ladi, bu obyektlar ilovalardaii foydalanishni yanada qulaylashtiradi va ulardan interfaol ilovalarda keng foydalaniladi.
CheckBox boshqarish obyekti va uning xossalari. Delphida bayroqcha obyekti CheckBox (Tekshirish qutisi) deb ataladi. Bu obyekt obyektlar panelining standart jildida to'qqizinchi bo'lib joylashgan, Quyidagi rasmda u qizil hoshiyaga olingan:
CheckBox obyektining asosiy xossasi Checked (o'rnatilgan) bo'lib, u ikkita: rost va yolg'on qiymatlarni qabul qiladi. Uning yana bir foydali xossasi bizga boshqa obyektlardan tanish bo'lgan Caption (sarlavha)dir. Uning yordamida bayroqcha haqida uning yonida qisqa yozuvlar yaratish mumkin.
Ilovada global o'zgaruvchilar yaratish. Ilovada bayroqcha obyekti bo'lib, ilova ishlayotganida bayroqchaning necha marta o'rnatilganligi muhim bo'lsin. Bu ma'lumotni qanday saqlash mumkin.
Bu ma'lumotiii saqlash uchun quyidagicha ish tutish lozim. Ilovada birorta ortiqcha obyekt yaratib, uni ko'rinmas qilib qo'yamiz (Visible:=0). Dastlab uning enini 0 ga teng qilib olib (Width:=0), har safer bayroqcha o'matilganda uning enini bittaga oshiramiz (Width:=Width+l). Lekin bu chorasizlik alomati. Bu usul bilan o'zgaruvchilar massivini yaratib bo'lmaydi. Qaytadan velosiped yaratishni bir chetga
Global o'zgaruvchilar dastur (ilova) boshida tavsiflanadi. Bu joyni topish uchun yaratilgan ilovaning dastur kodi oynasiga o'tamiz va unda tavsiflash operatori var ni qidiramiz.
Uni topishimiz bilan undan keyin bizga kerakli tavsiflash operatori n: array[0..4] of integer; ni kiritamiz. Endi и ilova oynasi Form I o'zgaruvchisi bilan yonma-yon turibdi va Form 1 ga kabi ilovaning hamrna joyidan unga murojaat qilish mumkin. O'zgamvchilarni tavsiflash bilan ish bitmaydi. Ularga yana ilova ishga tushishi bilan boshlang'ich qiymatlar: 0 lami berishimiz kerak. Buni ilova oynasi yaratilayotgan paytda bajarishimiz mumkin.
4. Qiziqarli faniar DovasL Bayroqchalardan foydalanishni o'rganish uchun qiziqarli faniar so'rovnomasi ilovasini ishlab chiqamiz. Bu ilova o'quvchilar orasida so'rovnoma o'tkazib, ularning qaysi fanlarga qiziqishlarini o'rganadi Ilovani soddalashtirish uchun aniq va tabiiy fanlarning bir nechtasi bilan chegaralanamiz,
Dclphida Yangi ilova yaratamiz. Unga to'rtta CheskBoa, ikkita Button va bitta Label obyektlarini quyidagi rasmda ko'rsatilgandek qilib joylashtiramiz. Dova oynasi va undagi obyektlaming sarlavhalariiii Caption xossalari yordamida rasmdagidek qilib o'rnatamiz:
Ilova kodiga о: array[0. .4] of integer; operatorini oldingi bandda ko'rsatilgan joyga kiritamiz (bitta oldingi rasmga qarang).
Bu massiv elementlariga boshlang'ich qiymatni berish uchun ilova oynasi Formlni tanlaymiz (ilova oynasining boshqa obycktlardan bo'sh joyida sichqonchani bosamiz). Object inspector da Events (hodisalar) jildiga o'tib, undan OnCreate (yaratilayotganda) hodisasini topamiz va uning o'ng tomonidagi bo'sh katakchada sichqonchani ikki marta bosamiz.
Natijada ekranda dastur ilovasi oynasi va unda TForml.FormCrcatc protsedurasi paydo bo'ladi. Bu protscdurada begin dan oldin var i:intcgcr; tavsiflash operatorini, undan keyin for i:r0 to 4 do n[i]:0; sikl operatorini kiritamiz.
Endi ilova oynasida Button lni ikki marta bosib, ekranning kursor turgan joyiga quyidagi dastur kodini kiritamiz.
Bu operatorlardan birinchisi har safar OK tugmasi bosilganda (navbatdagi o'quvchi ovoz berganda) ovoz berganlar sonini bittaga oshiradi. Keyingi to'rtta if operatorining har bin CheckBox larda bayroqchalar o'matilganligini tekshiradi va ular o'rnatilgan (mos fanga ovoz berilgan) bo'lsa, ovozlar soni saqlanadigan o'zgaruvchi qiymatini bittaga oshiradi. if operatoridan keyingi operatorlar ovoz berish aniqlangandan keyin CheckBoxlarda bayroq halami olib tashlaydi va ilova keyingi ovoz bcrishga tayyor bo'ladi.
Nazorat savollari.
1. Bayroqchalar qanday vazifa bajaradilar.
2. Ilovaga bayroqchalar qaysi obyekt yordamida kiritiladi?3. Bayroqchalaming o'matilganligi qaysi xossasi yordamida tekshirlladi
Ilovada radiotugmalar guruhidan foydalanish. Radiogroup boshqarish obyekti
Reja:
1. Dasturlash tilining elementlari. Delphi tizimining oynalari
2. “Vazifalar ro’yxati” loyihasi
3.Radiogroup boshqarish obyekti
-List Box komponenti.
Ushbu component foydalanuvchiga tanlash uchun elementlar ro’yxatini ko’rsatadi. Ayrim vaqtda siz o’z dasturingizda juda ko’p elementlarning ro’yxatini ko’rsatish lozim bo’lib qoladi. Bunday holatlar uchun ro’yxatlar darchasida standart ko’rinishdagi surgich payda bo’ladi va yordam beradi. Ro’yxatlar paneliga elementlarni qo’shish yoki olib tashlash mumkin. Ushbu komponentning ichki ko’rinishini o’zgartirish uchun mo’ljallangan turli xil xossalari mavjud.
Ro’yxatlar darchasini formada joylash uchun ko’p joy zarur bo’ladi. Kombinatsiyalashgan panel komponenti Combo Box ni formada joydan iqtisod qilish uchun foydalanish qulayroqdir.
- Combo Box komponenti.
Combo Box komponenti Сombination Boxes so’zidan qisqartirilgan bo’lib List Box komponentiga o’xshashdir. Lekin kombinatsiyalashgan darcha kam joyni talab qiladi va bir vaqtning o’zida bitta elementni ko’rsatadi.
Demak, List Box komponenti bilan Combo Box komponentining farqi bir vaqtning o’zida qancha element ko’rsata olishda ekan. Joydan tejash maqsadida Combo Box dan foydalanish qulayroq bo’lsa, ko’proq elementni ko’rsatish uchun List Box dan foydalanish qulay. Eng So‘rovnomada har bir o‘quvchi faqat bittadan fanni ko‘rsata olsin. Bu ilovada Radiogroup obyektidan foydalanamiz. Avval uning sarlavhasini o‘zgartiramiz va undagi to‘rtta Checkbox obyektlarini olib tashlaymiz. Buning uchun ular ustida navbatma-navbat sichqonchaning chap tugmasini bosib, so‘ng klaviaturadagi Delete tugmasini bosamiz:
Uning o‘rniga yuqoridagi ko‘rsatilgan usulda Radiogroup obyektini joylashtiramiz va unga to‘rtta radiotugmani quyida ko‘rsatilgandek kiritamiz.
Endi OK tugmasini ikki marta bosib uning TForm1.Button1Click protsedurasiga quyidagi kodni kiritamiz:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;begin
n[0]:=n[0]+1;
i:= Radiogroup1.Itemindex; if i>=0 then n[i+1]:=n[i+1]+1;
Radiogroup1.Itemindex:=-1; end;
Bu protsedura har safar ishga tushganda (ilovadagi OK tugmasi bosilganda) ikkinchi qatordagi operator yordamida Yangi o‘zgaruvchi: i ni yaratadi. To‘rtinchi qatorda so‘rovda qatnashganlar sonini bittaga oshiradi. Beshinchi qatorda Radiogroup1 da qaysi variant tanlanganini i o‘zgaruvchiga uzatiladi.
Agar bu qiymat 0 dan katta yoki unga teng bo‘lsa, ya’ni biror variant tanlangan bo‘lsa, oltinchi qatorda bu variantning tanlanganligi soni bittaga oshadi. Yettinchi qatorda variantlar tanlanmagan holga o‘tkaziladi va protsedura o‘z ishini tugatadi. Ilova esa keyingi foydalanuvchining tanlovini qabul qilishga tayyor turadi:
qiziqarli fan ilovasi. Qiziqarli fanlar ilovasini bir oz o‘zgartiramiz.
Nazorat savollari.
1. Boshqarish tugmasi ilova oynasiga qanday o'tkaziladi?
2. Boshqarish tugmasining xossalari qayerda o'zgartiriladi?
3. Boshqarish mgmasi tanlanganda uning nima ish qilishi qayerda ko'rsatiladi?
.
“Oddiy arifmetika trenajori” loyihasi.
Reja:
Dastur proekti haqida tushuncha
Dastur kodi tushunchasi
3. “Oddiy arifmetika trenajori” loyihasi
1. Label boshqarish obyekti va uning xossalari. Har qanday ilova qandaydir ma'lumotlarni foydalanuvehi uchun ilova oynasiga yoki boshqa usulda chiqarib berishi kerak. Birning uchun bir qator boshqarish obyektlari yaratilgan bo'lib, ulardan eng soddasi Label (nishon, belgi, yozuv) obyektidir. Bu obyekt obyektlar panelining Standart jildida beshinchi bo'lib joylashgan.
Bu obyekt ilova oynasi obyekti formning ajdodi bo'lgani uchun uning ko'plab xossalarini meros qilib olgan. masalan, label obyektining width (kenglik), height (balandlik), left (chap), top (yuqori)lar mos ravishda obyekt egallagan joyning kengligi, balandligi, undan oynaning chap va yuqori chegarasigacha bo'lgan masofalami aniqlaydi.
Label ning asosiy xossasi Caption (Sarlavha) dir. U obyekt ekranga qanday matn satrini chiqarishini aniqlaydi.
Label boshqarish obyekti xossalarini dasturda o'zgartirish. Label obyektining ham boshqa obyektlar kabi o'z nomi bo'lib, u Name nomli xossasida saqlanadi. Bu xossadan obyektga va uning xossalariga murojaat qilganda foydalaniladi. Shu sababli, uni ilova ishlayotganida o'zgartirish muammolar paydo qilishi mumkin. Obyektlaming Name xossasi faqat bu obyektlar ilova oynasiga qo'yilayotgan paytda o'zgartiriladi.
Obyektlar ilovaga qo'yilishi bilan (buni yana obyektning nusxasi yaratilganda ham deyishadi) unga avtomatik tarzda nom beriladi. Masalan, Label obyektining nusxalariga navbatma-navbat Label 1, Label2, LabeB nomlar beriladi. Oldingi ilovalardagi Forml, Button 1 nomli obyektlarni esga oling.
Obyektning Name xossasining qiymati boshqa xossalariga murojaat qilish uchun qo'sh nomlarni yaratishda ishlatiladi:
obyekt_nomi.xossa_nomi. Masalan, Forml. Width, Button 1.Caption, Label 1 .Left. Bu borada muammolarga uchramaslik uchun hozircha faqat avtomatik berilgan nomlardan foydalanib turamiz.
Oyna o'lchamlari ilovasi. Oldingi darsdagi ilovani qaytadan yaratamiz. Ilova oynasi o'lchamlarini kattalashtirish va kichiklashtirish uchun ikkita Button dan, oyna o'lchamlarini ko'rsatish ikkita Label dan foydalanamiz.
Dastlab ilova oynasining xossalarini o'rnatamiz:
Yuqoridagi to'rtta obyektni ilova oynasiga joylaymiz va ulaming xossalarini o'rnatamiz:
Ilova oynasida Buttonlni ikki marta bosib, ekranda paydo bo'lgan dastur kodi oynasining kursor turgan joyiga quyidagi operatorlarni kiritamiz:
Ilova oynasida Buttonl ni ikki marta bosib, ekranda paydo bo'lgan dastur kodi oynasining kursor turgan joyiga quyidagi operatorlarni kiritamiz:
Ilovani ishga tushiramiz va uning ishlashini kuzatamiz:
Nazorat savollari.
1. Label boshqarish obyektining xossalari ilovada qanday o'zgartiriladi?
2. To'rtinchi ilovani shunday o'zgariring-ki, uning oynasi bo'yi va eni mos ravishda 5 va 8 qadam bilan o'zgarsin.
3. To'rtinchi ilovani shunday o'zgartiring-ki, uning oynasi enining qiymati 500 dan 800 gacha bo'lsin.
4.To'rtinchi ilova tugmalardagi yozuvlarni a->A va A->a ga o'zgartiring.
Rasmga boshqa obyektlarni joylash. Rasmga matn joylash;
Reja:
1. Dastur proekti haqida tushuncha
2. Dastur kodi tushunchasi
3. Memo matn komponentlari va Button tugmasi bilan ishlash
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,
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 erda 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 operatsiyalar) 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.
Nazorat savollari !
Komponentlar palitrasi nima?
Object Inspector oynasining vazifasi?
Dastur formasi nima?
Delphi proyekti nima?
Grafik va animatsion ilovalarga misollar. Ranglar palitrasi; koptok ilovasi.
Reja:
Grafik va animatsion ilovalarga misollar
Funksiya va protsedura tushunchasi
Koptok ilovasi
1. Ilovaga matn satrini kiritish. Edit boshqarish obyekti va uning xossalari. Har qanday ilova ma'lumotlarni chiqarishi bilan birga unga ma'lumotlarni kiritish imkoniga ega bo'lishi kerak. Delphi muhitida buning eng sodda usuli ilova oynasiga Edit (Kiritish maydonchasi) boshqarish obyektini kiritishdir. Bu obyekt boshqarish obyektlarining standart panelida oltinchi bo'lib joylashgan va uning yorlig'i
Bu obyektning ko'plab xossalari ilova oynasi obyekti Formniki kabi. Unda ham Left, Top, Width, Height xossalari bor. Unda Caption xossasi yo'q. Shuning uchun u odatda Label obyekti bilan birga ishlatiladi. Uning asosiy xossasi Text (Matn) bo'lib, unga kiritilgan mam satri shu xossada saqlanadi. Agar bu xossaga biron bir mam satri qiymatini bersak, bu satr uning kiritish maydonchasida aks etadi.
Kiritish maydonchasi obyektining yana bir muhim xossasi ReadOnly (faqat o'qish uchun) deb ataladi. Bu xossaning qiymati mantiqiy kattalik bo'lib, faqat True (rost) yoki False (yolg'on)ni qabul qiladi. Dastlab bu xossa qiymati False (yolg'on) deb o'rnatilgan. Shu sababli, unga ma'lumotlarni kiritish mumkin.
Agar bu xossa qiymati True (rost) ga o'zgartirilsa, u holda unga foydalanuvchi tomonidan ma'lumot kiritib bo'lmaydi. Lekin ilova undagi ma'lumotlami o'zgartira oladi. Bu nimaga kerak, degan savol tug'ilishi tabiiy. Edit obyekti Labeldan farqli ravishda ramkaga olingan va unga kiritilgan ma'lumot chiroyliroq ko'rinadi. Agar biz undan ma'lumot chiqarish uchun foydalanmoqchi bo'lsak, bu ma'lumot foydalanuvchi tomonidan o'zgartirmasligini ta'minlashimiz kerak bo'ladi.
2. Edit boshqarish obyektining boshqa xossalari. Edit obyektining yana bir foydali xossasi MaxLength deb ataladi. Uning yordamida maydonchaga kiritiladigan mam satri uzunligini chegaralash mumkin. Masalan, maydonchaga o'quvchining tug'ilgan yili kiritilishi kerak bo'lsa, MaxLengthni 4 ga teng qilib olish ko'p hollarda unga adashib boshqa ma'lumotlami kiritib yuborishning oldini oladi.
Edit obyektining yana bir foydali xossasi Font bo'lib, uning yordamida maydonchaga kiritiladigan mam uchun shriftni, shrift o'lehami, rangi va shriftning yana bir qator xossalarini o'matish mumkin. Bu xossa boshqa obyektlarda, masalan, Form obyektida ham bor. Agar biz shriftni ilova oynasi uchun o'rnatsak, u ilova oynasidagi barcha obyektlarga ham ta'sir qiladi. Buning oldini olish kerak bo'lsa, ilova oynasidagi obyektning ParentFont (ajdodi shrifti) xossasining qiymatini rostdan yolg'onga o'tkazish lozim.
Editning yana bir foydali mantiqiy xossasi AutoSize (o'lehamni avtomatik tanlash) bo'lib, maydonchaga kiritilayotgan mam ko'paygan sari maydoncha o'lehami kattalashib borishini ta'minlaydi. Agar bunda maydoncha yonidagi boshqa obyektlarni berkitib qo'ymasligi kerak bo'lsa, bu xossa qiymatini rostdan yolg'onga o'tkazish kerak bo'ladi.
Kiritish maydonchasi foydalanuvchining parolini kiritish uchun mo'ljallangan bo'lsa, parolni boshqalar ko'rmasligi uchun u boshqa belgi, masalan, "*" bilan almashtiriladi. Edit da bu imkoniyat ham ko'zda tutilgan. Uning Passwordchar xossasi maydonchaga kiritilgan harflar almashtiriladigan belgining tartib raqami (32-127)ni bildiradi. Dastlab u #0 ga teng va u kiritilgan harf boshqasiga almashtirilmasligini bildiradi. Agar biz uni #42 bilan almashtirsak, maydonchaga kiritilgan harflar o'miga "x"
harfi aks etadi. #42 o'miga bevosita ekranga chiqarilishi kerak bo'lgan bclgini kiritish ham mumkin. Masalan, "+",
3. Foydalanuvchini qutlash ilovasi. Ilovada foydalanuvchi o'z noraini va hamma uchun umumiy bo'lgan parol: "12345" ni kiritishi kerak bo'lsin. Buning uchun Delphida Yangi ilova yaratamiz va uning oynasiga ikkita label, uchta edit, bitta button obyektini kiritamiz. Ularning xossalarini obyekt inspektori (object inspector)da quyidagicha o'zgartiramiz:
Bu ishlarni bajarib bo'lgach, buttonl ni ikki marta bosamiz va ekranda hosil bo'lgan dastur matni oynasida kursor turgan joyga quyidagi operatorlarni bexato kiritamiz:
Bu operatorlar Buttonl tugmasini bosganimizda ishlab ketadi. Ulardan birinchisi Bdit2 maydonchasiga kiritilgan parol to'g'riligini tekshiradi. Agar to'g'ri bo'lsa, u holda uchinchi satrdagi operator uchinchi maydonchaga foydalanuvchini tabriklovchi mam satrini chiqaradi. Keyingi uchta satrdagi operatorlar endi keragi bo'lmay qolgan ikkita Labell, Label2, ikkita Editl, Edit2 va Buttonl obyektlarini oynada ko'rinmaydigan qilib qo'yadi. Aks holda uchinchi maydonchaga parol xato terilgani haqida xabar chiqadi va qayta urinib ko'rish mumkin.
Quyidagi rasmlarning birinchisida parol noto'g'ri terilgandagi, ikkinchisida parol to'g'ri terilgandagi holatlari aks ctgan.
Nazorat savollari.
1. Edit boshqarish obyekti qanday vazifa bajaradi?
2. 2* Edit obyektining Text xossasida nima saqlanadi?
3. Edit obyektining Readonly xossasi qanday vazifa bajaradi?
4. Oltinchi ilovada paiolni a) "I7:7200U"; b) "123-12-2G" ga almashtiring.
5. Oltinchi ilovada Edit3 o'rniga ShowMessage buyrug'idan foydalaning.
0>0>
|