VISUAL BASIC, DELPHI, C++DASTURLASH TILLARI VA ULARNING IMKONIYATLARI.
Akbarova Shahnoza Abdulahatovna
Namangan shahri
(Basic (BEYSIK) suzi Beginner’s All-purpose symbolic Instruction Code dan xosil bulgan (Boshlovchilar uchun umum yunnalishida dasturlash tili). Bu tilning mazkur dastur versiyasidagi Visual suzi dastur tuzish jarayonida kuplab operatsiyalar vizual vositalar yordamida, yani bevosita kodlarni yozmasdan bajarilishini anglatadi.
Dasturlar tuzish sermashakkat jaraen, lekin Visual Basic bu ishini sezilarli darajada soddalashtiradi va foydalanuvchiga uni osonrok bajarishga imkon beradi. Visual Basic ning yana bir yutugi shundaki, u Microsoft Office paketi dasturi va Internet resurslari bilan ishlaydi. Visual Basic bir necha versiyada ishlab chikariladi.
Learning Edition (Ukuv taxriri). Bu versiya boshlovchilar uchun juda mos bulib, Windows da ishlovchi dasturlar tuzish uchun zarur bulgan barcha elementlarini uzida jamlagan.
Visual Basic dasturi komandalari
Visual Basic ning asboblar paneli foydalanuvchining dasturlari uchun kurilish bloklaridan iboratdir.
Asboblar panelida «A» tugmasini bosing. Mazkur belgi shaklga yozuv (Label) kuyish uchun ishlatiladi. Bosilgandan sung belgining tasviri uzgarib, bu uning bosilganligini kursatadi. Visual Basic bilan ishlayotganda kup vakt asboblar panelida strelka kursatkich belgisi tanlanadi. Boshka asbob belgilari siz shaklga fakat yangi obektni joylashingiz kerak bulgan xollardagina tanlab olinadi.
Kursorni shakl ichiga joylang va sichkonchani chap tugmasini yozuvning chap yukori burchagi shaklda turishi kerak bulgan joyda bosing. Tugmani bosilgan xolda tutib turishda davom etib, yozuvni chuzish uchun kursorni ungga va pastga suring. Shundan sung tugmani kuyib yuboring. Agar siz yozuv joyi va ulchamlarini nokulay joylashtirib kuygan bulsangiz, yozuvni sakkizta markyordan biri yordamida uning joyi, xajmini uzgartirishingiz mumkin. Yozuvni shaklga joylashtirish uchun yozuv joylashtirilishi zarur bulgan joyga sichkoncha kursatkichi yordamida joylashtiriladi. Yozuvni joyini kengaytirish uchun sichkoncha tugmasini bosilgan xolda past-ung tomonga suriladi. Keyin tugmacha kuyib yuboriladi.
Asboblar panelining mazmuni Visual Basic ning urnatilgan versiyasiga xamda uning kanday urnatilganligiga boglik. Agar foydalanuvchi asboblar panelida sichkoncha ung tugmasini bossa, komponentlarni kushish yoki yukotishga imkon beruvchi menyu kurinadi.
VisualBasic da xossalar oynasi (Properties) – bu atributlar ruyxatidir. Xar bir atribut yoki «xossa» ayni paytda shaklda tanlangan obektga (yozuv, knopka, matn oynasi va x.k.) tasir kursatadi. Obekt xossalarining kiymatini uzgartirib, foydalanuvchi uning tashki kurinishi va xolatini boshkaradi. Tuzilajak dastur elementlari, tashkil etuvchilari: yozuv, tugmacha, matn oynasi va xokozolarning xossalari aks etadi. Elementlardan kaysi biri tanlanganiga karab xossalar oynasidagi manzara uzgarib turadi.
Shaklga yozuvnijoylashtiring. Shaklda yozuvtanlabolinganigaishonchxosilqiling.
Endi bazi kiymatlarni uzgartirish uchun xossalar oynasining ung tomonini bosing. Alignment (Tenglashtirish) xossasi kiymatini «2-Center» (Markaz) ga uzgartiring. «BorderStyle» (Shakl turi) xossasi kiymatini
«1-FixedSingle»ga uzgartiring. «Caption» (Sarlavxa) kursatkichiga «Mening yozuvim» matnini kiriting.
Foydalanuvchining xaraktalariga javoban yozuv kanday uzgarishiga etibor bering. Visual Basic xar bir obektining uz nomi bor (Name xossasi). Xossalar oynasining yukori kismida ayni (joriy) paytda tanlangan obektning nomi kursatilgan.
Visual Basic ilovalarning kupchiligi ekran shakli (formasi) asosida yaratiladi. Shakl – foydalanuvchi «rasm» chizishi mumkin bulgan ok matodir. Kupchilik xollarda ilova bir nechta shaklga ega buladi, lekin Visual Basic ish jarayonida ularni yashirish va kursatishga imkon beradi. Asosiy shaklni yopib, ilovadan chikish mumkin.
Shakl – bu oyna. Shuning uchun mazkur oyna boshka oynalar kabi Minimize (maksimallashtirish, urab kuyish), Maximize (Maksimallashtirish, ochish) vaClose (yopish) tugmachalariga ega. Shakl uchun MinButton va MaxButton xossalarining kiymatlarini False xolatiga utkazib dastlabki ikki tugmani uchirib kuyish mumkin.
Ican (belgi): kichik rasm bulib, shaklning yukorigi chap tomonida va shuningdek uning uralgan xolida paydo buladi.
Caption (sarlavxa) – shaklning sarlavxasi satrida paydo buladigan matn.
BorderStyle (shakl turi) kuyidagilarni aniklaydi; shakl chetlarining kurinishi, shaklning ulchamlarini, sichkoncha bilan uzgartira olasizmi? Shaklning eng yukori burchagida kanday tugmalar paydo buladi. Mazkur misol xossa FixedSingle da tasvirlangan.
StartUpposition (boshlangich xolat): shaklning Windows ish stolida boshlangich xolatni belgilaydi.
Background (fon): shakl foni rangini belgilaydi.
DELPHI dasturlash tili
DELPHI muxiti haqida tushuncha
DELPHIdasturiy vostasi-bu Windows uchun mo‘ljallangan dasturlash muxiti bo‘lib, 1995 yilda BORLAND kompaniyasi guruxi dastur tuzuvchilari Chak (Chuck) va Denni (Danny) tomonidan yaratilgan.
Bu til o‘zining keng qamrovli imkoniyatlariga egaligi bilan birga, boshqa dasturlash tillaridan o‘zining ba’zi bir xususiyatlari bilan ajralib turadi.
BorlandDelphining paydo bo‘lishi dasturlashni rivojlantirish tarixida yorqin ko‘rinish bo‘ldi. Delphining dunyoga kelishiga quyidagilar sabab bo‘ldi;
Windows uchun dastulash va komponentalar texnologiyasi.
Masalalarni yechish uchun ob’ektga yo‘naltirilgan usul.
Komponentalar texnologiyasiga asoslangan ilovalarni tez yaratishning vizual muhitlari.
Interpritatsiyadan emas, kompilyatsiyadan foydalanish. Bu shundan iboratki, interpretator bilan ishlashga qaraganda kompilyator bilan ishlash tezligi o‘n martalab ustunlikka ega bo‘ladi.
Universal usullar yordamida ma’lumotlar bazasi bilanishlash imkoniyatlarining mavjudligi.
Lokal va shu bilan bir qatorda server ma’lumotlari faylidan mijoz-server arxitekturasiga yoki ko‘p bosqichli N-tier sxemasiga o‘tishni ta’minlash.
BorlandDelphi yuqorida bayon etilgan tendentsiyalarni joriy etish maqsadida yaratilgan. Ammo, uning eng asosiy elementi Paskal tili bo‘lib hisoblanadi. Hozirgi kunda Delphi tilining bir necha xil variantlari mavjud (Delphi 2, Delphi 3... , Delphi 7 va h.k.).
Delphi dasturlash tili uchun Paskal dasturlash tili asos qilib olingan. Bu ikki tilning qanday o‘xshashlik va farqli tomonlari bor?
Bilamizki, Paskalda biror kattaroq dastur, masalan amaliy dasturlar majmuini tuzmoqchi bo‘lsak, albatta biz modulli dasturlashdan foydalanamiz. Ya’ni qo‘yilgan masalani kichikroq bo‘laklarga bo‘lib olamiz va shular bilan ishlaymiz. Natijani olish uchun esa, bu bo‘laklarni birlashtiruvchi bitta asosiy dastur qilinadi. Aynan shu narsa Delphi dasturlash tilining asosi xisoblanadi. Agar biz Delphida biror forma hosil qilsak, uholda Delphi bizga o‘zi avtomatik tarzda shu formaga mos bo‘lgan modullarni va bu modullarni boshqaruvchi dasturni tuzib beradi. Boshqaruvchi dasturni Delphida, agar unga o‘zimiz nom bermasak, Project1.dpr deb nomlaydi. Bunda .dpr fayl kengaytmasi. Avtomatik tarzda tashkil qilingan modulga biz nom bermasak, u holda Delphi uni Unit1.pas deb nomlaydi. O‘zimiz esa .pas kengaytmasini saqlagan holda hohlagan nomimizni berishimiz mumkin.
Tuzilgan dasturni EXM xotirasida saqlash uchun asosiy menyuning File bandidan foydalaniladi. Dasturni kompilyatsiya qilish uchun asosiy menyuning RUN bandidan foydalaniladi. Agar dasturda xatoliklar bo‘lsa, kompilyatsiya qilish jarayonida bu xatoliklar ko‘rsatib boriladi. Agar xatolik bo‘lmasa, dastur ishga tushadi.
Delphi dasturlash tilini ishga tushirilganda ekranda quyidagi muxit hosil bo‘ladi:
Delphi asosiy menyu bandlari vazifalari Microsoftoffis standart dasturlarining menyu bandlari vazifalaridan deyarli farqlanmaydi va ulardan foydalanishtartibi ham xuddi shunday saqlanadi.
Asboblar paneli va komponentalar ro‘yxati
Ob’ektlar inspektori
Dastur formasi
Ob’ektlar inspektoridan foydalanish
Windows uchun tuzilgan programmaning ichki tuzilishi konsol programmalarning ichki tuzilishidan farqlanadi. Dastur bajarilishida kalit so‘zlar bo‘lgan begin va end orasiga olingan operatorlarni windows boshqacha shaklda boshqaradi, yani ularni hodisa deb qaraydi. Har bir hodisaning o‘ziga mos xossalari mavjud. Dasturlashda bu xossalardan keragini tanlab ishlatiladi. Bu tanlash ob’ektlar inspektorida qilinadi. Ob’ektlar inspektori ikki qismdan iborat Properties yani xodisalar va Events xossalar. Delphi ning xarakterli tomoni shundan iboratki, agar biz biror kompanentadan foydalansak, ob’ektlar inspektori unga mos xodisalarni ajratib ko‘rsatib turadi. Masalan biz biror yangi forma xosil qilgan bo‘lsak, ob’ektlar inspektorida captionda Form1 yozuvi turadi. Agar biz xoxlasak Form1ning o‘rniga yangi o‘zimizning programmaga mos nomimizni berishimiz mumkin. Har bir kompanentaga obektlar inspektorida unga tegishli xodisa va shu xodisaga mos xossalar bo‘ladi.
Delphi dasturlash tilining yana bir xarakterli tomoni shundan iboratki, agar biz dasturda biror tugmaga qandaydir vazifani yuklamoqchi bo‘lsak, shu tugmaning ustida sichqonchani ikki marta chertilsa, shu tugmaga mos keluvchi protseduraning ichiga avtomatik ravishda kiritib qo‘yadi. Bundan tashqari dastur tuzish jarayonida formadan modulning ichiga va moduldan formaga o‘tishga extiyoj bo‘ladi, buning uchun asboblar panelidan ToggleForm-Unit tugmasi tanlanadi yoki F12 tugmasini bosish bilan amalga oshiriladi.
Formalar bilan ishlash
Delphida tuziladigan dasturlar biror forma asosida qilinadi. Delphida har bir yangi hosil qilingan formaga unga mos bo‘lgan modul avtomatik tashkil qilinib turiladi. Bu esa dasturchi uchun juda qulay imkoniyat, yani uning ishini tezlashtirishga yordam beradi.
Bu formaning shaklini tanlash, unda kompanentalarni joylashtirish bizning ixtiyorimizda bo‘ladi. Formaga biror kompanentani qo‘ymoqchi bulsak, shu kompanentaning ustida sichqonchaning chap tugmasini ikki marta bosiladi. Bu kompanenta formaning o‘rtasiga joylashadi. Biz uni xoxlagan joyimizga surib ko‘chirishimiz mumkin.
Komponentalar.
Matnli kompanentalar. Bu kompanentalar ma’lumotlarni kiritish, saqlash, tahrir qilish va turli xabarlar berish vositasi sifatida foydalaniladi.
-Tlabel (belgi) kompanentasi.
Belgi bu sizning dasturingizdagi boshqa ob’ektlarni identifikatsiyalashganligi uchun foydaliroqdir. Belgi sizga mo‘ljallashtirishda va bundan tashqari foydalanuvchiga o‘z nomidan tashqari axborot berishda hamda oyna va belgilarni tavsiflashda yordam beradi.
WordWrap va AutoSize xossalari. Belgining ushbu xossasi belgi kompanentasini o‘rnatishda foydaliroqdir. WordWrap qiymati true bo‘lsa, Delphi aftomatik ravishda qatorni tamg‘ani nomlanishiga o‘tkazadi. AutoSize xossasining qiymati true ga teng bo‘lsa bu uning asl qiymatidir (po umolchaniya).
Onclick hodisasi. Bu hodisa foydalanuvchiga dasturni mo‘ljallashtirishda yordam berishi uchun foydali hisoblanadi.
EDIT komponentasi orqali matnli ma’lumotlarni kiritish va keyinchalik dastur jarayonida bu qiymatdan foydalanish imkonini beradi.
MaskEdit ko‘p hollarda ma’lumotlarni yashirish holda yoki biror bir kodlash orqali kiritishga to‘g‘ri kelib qoladi. Shunday holda bu komponentadan foydalanish mumkin. Masalan parol kiritishda va hokazo.
Memokomponentasi sodda matn muhariri bo‘lib, u ko‘p satrli ma’lumotlarni kiritish va chiqarish uchun ishlatiladi.
Bu komponentalar mantlar ustida amallar bajarish uchun ishlatiladi.
PasswordChar xossasi. Ushbu xossa matnni kiritishdan ximoya uchun foydalaniladi. Parol kiritish kerak paytida foydalaniladi. Ushbu xossadan siz maxfiylikning qo‘shimcha darajasini ta’minlash uchun va foydalanuvchi ismini yashirish uchun foydalanish mumkin.
ReadOnly xossasi. Ushbu xossa ob’ektning qiymatini taxrirlash imkoniyatini boshqaradi. Siz uning qiymatini False yoki True qilib qo‘yishingiz mumkin. Agarda xossaning qiymati True bo‘lsa foydalanuvchi ushbu ob’ektdan foydalanishga, ya’ni ixtiyoriy matnni belgilash va nusxasini buferga olish uchun birmuncha ruxsat beradi.
MaxLength xossasi. Ushbu xossadan uchala ob’ektga kiritiladigan simvollarni cheklash uchun foydalaniladi.
MaskEdit komponentasining umumiy xossalaridan tashqari qo‘shimcha xossalarga ham egadir. Ushbu xossadan bu ob’ekt orqali klaviaturadan kiritiladigan simvollarni filterlash uchun foydalaniladi. Maska qanday simvol qabul qilinishi yoki qilinmasligini aniqlaydi.
-ListBox komponentasi.
Ushbu komponenta foydalanuvchiga tanlash uchun elementlar ro‘yxatini ko‘rsatadi. Ayrim payti siz o‘z dasturingizda juda ko‘p elementlarning ro‘yxatini ko‘rsatish lozim bo‘lib qoladi. Bunday xolatlar uchun ro‘yxatlar darchasida standart ko‘rinishdagi surgich paydo bo‘ladi va yordam beradi. Ro‘yxatlar paneliga elementlarni qo‘shish yoki olib tashlash mumkin. Ushbu komponentaning 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 komponentasi Combo Box ni formada joydan ekonom qilish uchun foydalanish qulayroqdir.
-ComboBox komponentasi.
Combo Box komponentasi Sombination Boxes so‘zidan qisqartirilgan bo‘lib List Box komponentasiga o‘xshashdir. Lekin kombinatsiyalashgan darcha kam joyni talab qiladi va bir vaqtning o‘zida bitta elementni ko‘rsatadi.
Demak List Box komponentasi bilan Combo Box komponentasining 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.
Button va Check Box komponentalari.
Button (tugma) va Check Box komponentalarining ko‘pgina Windows muhitida uchratish mumkin.
Button (tugma) komponentasi.
Bu komponenta odatda dialog darchalarida foydalaniladi. Ko‘pgina Windows dasturlarida tanish bo‘lgan Ok va Cancel juftligini ko‘rgansiz. Ammo sizga tugma komponentasidan foydalanish uchun diolog darchasini yaratish shart emas. Tugma komponentasini siz dasturingizning istalgan joyida joylashtirishingiz mumkin.
-BitBtn komponentasi.
Grafik tugma komponentasi oddiy tugma komponentasiga judaham o‘xshashdir. Delphi tugmalarning standart majmuasini taklif qiladi. Bularni dasturingizda yaratish uchun tanlab olishingiz mumkin.
Chek Box (belgilash tugmasi) kompanentasi ushbu tugma odatda dasturda «Xa» yoki «Yo‘q» javobini olish kerak bo‘lgan vaziyatlarda foydalaniladi. Demak bu komponentada ortiqcha bitga xolatga ega bo‘ladi.
Guruxlashgan komponentalar
Delphi dasturlash tilida komponentalarni guruxlashtirib foydalanish mumkin.
Odatda bir-biriga aloqador komponentalar bitta joyda guruxlashtiriladi.
-Croup Boxes guruxlashgan ramka komponentasi. Guruxlashgan ramka faqatgina bir toifadagi komponentalarni tashkil topgan bo‘lishi shart emas.
Scroll Bors komponentasi. Ushbu komponenta turli oynalarni ekranda ko‘rinmay turgan qismlarini ko‘rish va boshqa maqsadlarda ishlatiladi.
Delphi: dasturlash tilida Scroll Bors juda yaxshi tashkil qilingan va tuli xil xossalari mavjud.
Position joylashish xassasi oniy momentda qaerda joylashishini belgilab beradi. Bu xossaning qiymati faqat butun sonlarni qabul qiladi.
Grafik komponentalar
Grafik komponentalar formada figura va ob’ektlarni ko‘rsatish hamda ma’lumotlarni akslantirish uchun foydalaniladi. Bu komponentalarni ba’zilari juda ham oddiy ba’zilari juda ham murakkab. Ularni xar biri anik vazifa uchun mo‘ljallangan.
Image komponentasi
Bu komponentani formada rasmlarni joylashtirish uchun foydalaniladi. Rasmni nomi esa Picture xossasida keltiriladi. Bu rasmlarning kengaytmasi .VMR, ICO, WMF bo‘lishi mumkin. Agar siz Image komponentasining o‘lchamini o‘zgartirishni xoxlasangiz Auto Size xossasiga True qiymati berishingiz lozim. Stretch xossasiga True berilgan bo‘lsa, belgilangan sohaga joylashtiriladi.
Pait Box komponentasi. (chizish darchasi)
Ushbu komponenta formaning cheklangan qismida chizish imkonini beradi. Chizish darchasi o‘zining chegaralarini ko‘rsata olmaydi. Ushbu qiyinchilikni yo‘qotish uchun uning ichiga guruxlashgan panel Croup Boxes qo‘yish va uni o‘lchamini Pait Box komponenta o‘lchami bilan bir xil qilish lozim. Ana shundagina sizga chizish uchun ramka paydo bo‘ladi.
Shapes (figuralar) komponentasi
Figuralar komponentasi o‘z tabiati bilan judayam oddiy. Siz sodda geometrik figuralardan dasturingizni stillashtirish foydalanishingiz mumkin.
Figuralarning va konturlarning rangi mos ravishda Pen va Brush xossalari yordamida o‘rnatiladi.
Outlines (sxemalar) komponentasi
Sxemalar isxarxik tarzda tashkil qilingan ma’lumotlarni akslantirish uchun foydalaniladi. Misol uchun katologlar daraxti.
Sxema Lines va Items xossalari orqali murojat qilish mumkin bo‘lgan qatorlardan tashkil topadi.
Outlines Tile (sxemali) xossasi istalgan konfiguratsiyasini olish uchun foydalaniladi.
Color Crids komponentasi (ranglar to‘ri)
Bu komponenta chizish va fon ranglarini boshqarish uchun interfeysni ifodalaydi. Bu komponenta yordamida chizish va fon rangini tanlashda foydalaniladi.
Foreground (chizish rangli) va Background (fon rangi) xossalarda belgilangan rangdan tashkil topgan bo‘ladi.
Fayl va katalogga murojat qilish komponentalari
Ushbu komponentalar fayl va kataloglar bilan turli amallarni bajarishda foydalaniladi.
File List Box (fayllar ro‘yxati paneli) komponent fayllar ro‘yxati paneli komponentasi katalogga murojat interfeysini ifodalaydi.
Mask xossasi filter yoki maskani o‘rnatish uchun foydalaniladi.
Foydalanuvchi tomonidan belgilangan fayl nomi File Name xossasi orqli murojaat qilishingiz mumkin. Faylni ko‘rmoqchi bo‘lsangiz
Formalar bilan ishlash
Delphi da tuziladigan dasturlar biror forma asosida qilinadi. Delphi da har bir yangi hosil qilingan formaga unga mos bo‘lgan modul avtomatik tashkil qilinib turiladi. Bu esa dasturchi uchun juda qulay imkoniyat, yani uning ishini tezlashtirishga yordam beradi.
Bu formaning shaklini tanlash, unda kompanentalarni joylashtirish bizning ixtiyorimizda bo‘ladi. Formaga biror kompanentani qo‘ymoqchi bo‘lsak, shu kompanentaning ustida sichqonchaning chap tugmasini ikki marta bosiladi. Bu kompanenta formaning o‘rtasiga joylashadi. Biz uni xoxlagan joyimizga surib ko‘chirishimiz mumkin.
C++ Builder muxiti
C++ Builder muxiti SDI – ilovani uzida aks ettiradi, uning asosiy oynasi kuyidagilardan tashkil topgan: asboblar paneli (chapdan) va komponentlar palitrasi (ungda). Bundan tashkari C++ Builder ni yuklash jarayonida xech kanday surovsiz obektlar inspektori oynasi (chapda) va yangi ilova shakli oynasi (ungda) xosil buladi. Shakl Oynasa tagida kod muxarriri oynasi joylashadi.
Rasm.1. C++ Builder muxiti
Shakl oynasi C++ Builder muxiti ilovasining asosi xisoblanadi. Foydalanuvchi interfeysi ilovasini yaratish, shakl oynasiga C++ Builder muxitining “komponentlar” deb ataluvchi elementlarini joylashtirishdan iborat. C++ Builder muxitining komponentlari kup saxifali bloknot kurinishida tayyorlangan komponentlar palitrasida joylashgan buladi. C++ Builder muxitining asosiy jixati: uz komponentlarimizni yaratish va komponentlar palitrasini rostlashga yordam berish, shuningdek turli loyixalar uchun komponentlar palitrasining turli versiyalarini yaratishdan iborat.
Rasm2. Kurinuvchi va kurinmaydigan komponentlarni ishlatishga misol
Komponentni shakl oynasiga joylashtirish uchun palitradagi komponentni sichkoncha manipulyator orkali ajratib olib, loyixalanayotgan shakl oynasining kerakli joyiga chap tugmani bosib amalga oshirish mumkin. Komponent shakl oynasida paydo buladi, shundan sung uni joyini uzgartirish, ulchamlarini va boshka xarakteristikalarini uzgartirish mumkin.
C++ Builder muxitining xar bir komponenti uch turdagi xarakteristikaga ega: xususiyatlar, xodisalar, uslublar.
Agar komponentni palitradan tanlab olib shakl oynasiga joylashtirilsa, ob’ektlar inspektori ushbu komponent bilan birga kullanilishi mumkin bulgan xususiyat va xodisalarni avtomatik ravishda kursatadi. Ob’ektlar inspektorining yukori kismida sirgalib tushuvchi ruyxat bulib, u shakl oynasida joylashgan kerakli ob’ektni tanlash imkoniyatini beradi.
Rasm.3. Ob’ektlar inspektori.
Loyixalash jarayonida komponent xususiyatlarini aniklashda shakl oynasidagi komponentni tanlab olish, ob’ektlar inspektorida xususiyatlar saxifasini ochib olish va kerakli xususiyatni tanlab uni xususiyatlar muxarriri yordamida uzgartirish kerak buladi (bu – matn yoki sonlar kiritish uchun oddiy maydon, sirgalib tushadigan ruyxat, ochiladigan ruyxat, dialogli panel va boshkalar bulishi mumkin).
Xodisalar ishlab chikuvchini kushish uchun sichkonchaning tugmasi yordamida shakl oyonasida xodisalar ishlab chikuvchisi kerak bulgan komponentni ajratib olib, ob’ektlar inspektorining xodisalar saxifasini ochib, C++ Builder ni xodisalar ishlab chikuvchisining prototipini generatsiya kilish va uni kod redaktorida kursatishga majbur kilish uchun xodisa yonida kursatilgan kiymatlar kolonkasiga sichkonchaning chap tugmasi bilan ikki marta bosamiz. Bunda avtomatik ravishda bush funktsiyaning matni generatsiyalanadi va kodni kiritish kerak bulgan joyda muxarrir ochiladi. Kursor operator kavslari{ ... } ichida joylashtiriladi. Shundan sung xodisaning keltirilishida bajarilishi kerak bulgan kodni kiritish kerak. Xodisalar ishlab chikuvchisi funktsiya nomidan keyin kavslar () ichida kursatiladigan parametrlarga ega bulishi mumkin.
Rasm.4. Xodisalar ishlab chikuvchisining prototipi
Shuni aytib utamizki, yangi shaklni yaratishda unga boglangan modul va *.h kengaytmali sarlavxa fayl albatta generatsiyalanadi, yangi modulni yaratishda esa modul shakl bilan boglangan bulishi shart emas (masalan, agar unda xisoblash jarayonlari bulsa). Shakl va modullarning nomlarini uzgartirish mumkin, ularni yaratgandan keyin boshka shakl va modullar bilan aloka vositasi urnatilmasdanok darxol uzgartirish maksadga muvofik.
Rasm.5. Loyixalar menedjeri
Loyixa avval boshda shartli ravishda bita shakl va bitta modulning boshlangich kodi uchun faylni uzida ushlaydi. Birok kupchilik loyixalarda bir nechta shakl va modullar buladi.Loyixaga yangi shakl yoki modulni kushish uchun sichkonchaning ung tugmasini bosib undagi kontekstli menyudanNew Form punktini tanlash kerak. Xuddi shunday modul yoki shaklni tanlab loyixalar mendjerining kontekstli menyusidagi Add tugmasidan foydalanib, oldindan mavjud bulgan shakl va modullarni loyixaga kushish mumkin. Loyixani ishlash jarayonida istalgan vaktda shakl va modulni xotiradan uchirib tashlash mumkin. Birok shakl doim modul Bilan boglik bulganligi sababli birini koldirib ikkinchisini uchirib bulmaydi (modul shakl bilan boglik bulmagan xolat bundan mustasno). Modulni loyixalar mendjerining Remove tugmasidan foydalanib uchirish mumkin.
Agar loyixalar menedjerining Options tugmasi tanlansa, dialogli panel kurinishidagi ilovaning asosiy shaklini tanlash imkoniyatini beruvchi, dinamik kurinishdagi kanday shakl yaratilishi mumkinligini va modul kompilyatsiyasi (shu bilan birga Delphi 2.0 muxitida yaratilgan modullar xam, C++ Builder ularni uz loyixalariga kirita oladi)bilan kompanovkaning parametrlari kandayligini aniklovchi loyixa optsiyasi ochiladi.
Rasm.6. Loyixa optsyaisini unatish .
C++ Builder muxitining muxim elementi bulib uning sichkoncha ung tugmasini bosganda paydo buladigan va tez-tez ishlatiladigan buyruklarga tezrok murojaat kilish imkonini taklif kiladigan kontekstli menyusi xizmat kiladi.
C++ Builder muxiti interfeysning istalgan elementiga murojaat kilish mumkin bulgan va C++ Builder xakidagi ma’lumotga boy kullanma manbai xisoblangan, oldindan kiritilgan kontekstga boglik yordam tizimiga ega.
C++ Builder muxitida ilova ishlab chikishdagi birinchi kadam loyixa yaratish xisoblanadi. Loyixaning fayllari uzida kompilyatsiya kilinib bajarishga tayyorlanganda ilovaning kismiga aylanadigan, avtomatik ravishda generatsiyalangan boshlangich matnni mujassam etadi. Yangi loyixa yaratish uchun menyuning File/New Application punktini tanlash kerak buladi.
C++ Builder shartli ravishda Project1.cpp nomi bilan loyixa faylini yaratadi (shuningdek yana shartli ravishda Project1.mak nomi bilan make-faylini yaratadi). Loyixaga yangi shakl kushish kabi uzgartirishlar kiritishda C++ Builder loyixa faylini yangilaydi.
Rasm.7. Loyixa fayli
Ilova yoki loyixa odatda bir nechta shaklga ega buladi. Loyixaga shakl kushish natijasida kuyidagi kushimcha fayllar yaratiladi.
Shaklni konstruktsiyalash uchun kullaniladigan oyna resurslari xakida ma’lumot saklovchi .DFM kengaytmali shakl fayli:
C++ kodiga ega bulgan, .CPP kengaytmali modul fayli:
Shakl sinfini tasvirlovchi, .N kengaytmali sarlavxa fayli.
Siz yangi shakl kushganingizda loyixa fayli yangilanadi. Loyixaga bir yoki bir nechta shakl kushish uchun menyuning File/New Form punktini tanlang. Loyixaga kushilishi kerak bulgan bush shakl paydo buladi. Shuningdek menyuning File/New punktidan foydalanib, Forms saxifasidagi ob’ektlar repozitoriysidan mos shablonni tanlash mumkin.
Rasm.8. Shakl shablonlari
Loyixani shunchaki kompilyatsiya kilish uchun Compile menyusining Compile punktini tanlash kerak. Loyixani yaratib, shu loyixani ishga tushiruvchi fayl yaratish uchun Run menyusining Run punktini tanlash lozim. Loyixa kompanovkasi inkrement xisoblanadi (fakat uzgargan modullar kayta kompilyatsiyalanadi).
Agar ilovaning ishlash jarayonida amal bajarish vaktida xatolik yuzaga kelsa, C++ Builder dasturni bajarishda pauza kiladi va operatorda urnatilgan, xatolik manbai xisoblangan kod muxarririni kursor bilan birgalikda kursatadi. Kerak bulgan tuzatishni amalga oshirishdan oldin Run kontekstli menyusidan Run punktini tanlab ilovani kayta ishga tushirish, ilovani yopish va shundan sung loyixaga uzgartirishlar kiritish maksadga muvofik. Bunda Windows resurslarini yukotish extimoli kamayadi.
Rasm.9. Komponentlarni shakl oynasiga joylashtirish.
Shundan sung shakl oynasidagi Edit komponentini tanlaymiz va undagi Text kiymatini uchirib tashlaymiz. Undan keyin Button1 uchun Caption xususiyatini «kushish» axamiyati bilan urnatamiz .
«Kushish» tugmasi uchun OnClick xodisa ishlab chikuvchisini kushish uchun, bu tugmani shakl oynasidan tanlab olish, ob’ektlar inspektorida xodisalar saxifasini ochish va OnClick xodisasidan ungdagi kolonkaga sichkoncha bilan ikki marta bosish kerak. Kerakli kiritish satrida funktsiyaning nomi paydo buladi. C++ Builder xodisa ishlab chikuvchisi prototipini generatsiya kiladi va uni kod muxarririda kursatadi. Shundan sung kuyidagi funktsiyaning tanasi xisoblangan kodni operatorli kavslar { ... } ichiga kiritish kerak buladi.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (!(Edit1->Text == ""))
{
ListBox1->Items->Add(Edit1->Text);
Edit1->Text = "" ;
}
}
Ilovanikompilyatsiyakilishuchun Run menyusidan Run punktinitanlaymiz. Enditaxrirlanuvchimaydongabirornarsakiritib, sichkonchabilan «kushish» tugmasigabosib, kiritilayotgansatrlarruyxatgakushilayotganigaishonchxosilkilishmumkin.
Rasm.10. Tayyor ilova manna shu kurinishda buladi.
Endi ilovani «Uchirish » va «Chikish » tugmalarini kushib modifikatsiya kilamiz. Buning uchun yana ikkita tugma kushamiz, ularning Caption xususiyatini uzgartiramiz va shu tugmalarga bosish bilan boglik bulgan xodisa ishlab chikuvchisini yaratamiz:
Rasm.11. Modifikatsiyalangan ilova
«Uchirish» tugmasi uchun:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (!(ListBox1->ItemIndex == -1))
ListBox1->Items->Delete(ListBox1->ItemIndex);
}
«Chikish» tugmasiuchun:
Close();
Foydalanilgan adabiyotlar
A.A.Xaldjigitov, Sh.F.Madraximov, U.E.Adamboyev. Informatika va programmalsh.O'quv qo'llanma., O'zMU, 2005 yil, 145 bet
Павловская Т.С. Щупак Ю.С. С++. Объектно-ориентированное программирование. Практикум.- СПб.: Питер,2005-265с
10. Павловская Т.С. Щупак Ю.С. С/С++. Структурное программирование. Практикум.-СПб.: Питер,2002-240с
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.