VISUAL BASIC, DELPHI, C++DASTURLASH TILLARI VA ULARNING IMKONIYATLARI.
Оценка 4.6

VISUAL BASIC, DELPHI, C++DASTURLASH TILLARI VA ULARNING IMKONIYATLARI.

Оценка 4.6
docx
20.02.2020
VISUAL BASIC, DELPHI, C++DASTURLASH TILLARI VA ULARNING IMKONIYATLARI.
MAQOLA 5.docx

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:

 

 

        Sarlavxa satri    Proekt nomi

 

 

 


          Menyu satrining ko‘rinishi

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 daraxti

 

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.

cb200000.gif

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.

C++ Builder muxiti komponentlari.

Komponentlar kurinib turadigan(vizual) va kurinmay turadigan (novizual)turlarga bulinadi. Kurinib turadigan komponentlar ish bajarish vaktida xuddi loyixalash vaktida kanday bulsa shunday xolicha paydo buladi. Bunga tugmalar va taxrirlanuvchi maydonlar misol bula oladi. Kurinmaydigan komponentlar loyixalash vaktida shakl oynasida piktogrammalar kurinishida paydo buladi. Ular ish bajarish vaktida xech kachon kurinmay turadilar, lekin muayyan funktsiyani bajaradilar (masalan, ma’lumotlarga murojaat kilishni ta’minlaydi, Windows 95 va boshkalarning standart dialogli oynalarini chakiradi).

cb200001.gif

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.

cb200002.gif

                                                         Rasm.3. Ob’ektlar inspektori.

Komponentalar xususiyati uning tashki kurinishi va uzini tutishini aniklab beruvchi atribut xisoblanadi. Komponentning xususiyatlar kolonkasidagi kupchilik xususiyatlari xech kanday surovsiz rostlanadigan xolatga ega buladi (masalan tugmaning balandligi). Komponentning xususiyati xususiyatlar (Properties) saxifasida kursatiladi. Ob’ektlar inspektori komponentning ommalashgan (published) xususiyatlarini kursatib turadi. (published) xususiyatlardan tashkari komponentlar kuprok umumiy (public) fakat ish bajarish mobaynida murojaat kilish mumkin bulgan xususiyatlarga ega buladi. Ob’ektlar inspektori loyixalash vaktida xususiyatlarni belgilash uchun ishlatiladi. Xususiyatlar ruyxati ob’ektlar inspektorining xususiyatlar saxifasidan urin olgan buladi. Xususiyatlarni loyixalash vaktida aniklash mumkin yoki ilovani taxrirlash vaktida komponent xususiyatlarining kurinishini uzgartirish maksadida kod yozish mumkin.

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

Ob’ektlar inspektorining xodisalar (Events) saxifasi komponent kabul kiladigan xodisalar ruyxatini kursatib turadi (foydalanuvchining grafik interfeysiga ega bulgan operatsion tizimlar, xususan Windows 95 yoki WindowsNT lar uchun dastur tuzishda ilovaning u yoki bu xodisaga reaktsiyasini tasvirlash ma’kul kuriladi, operatsion tizimning uzi esa biror bir xodisa kutilayotganini aniklash maksadida kompyuterga doimiy ravishda surov yuborish bilan shugullanadi). Xar bir komponent uzining xodisalar ishlab chikuvchi tuplamiga ega. C++ Buildermuxitida xodisalar ishlab chikuvchi deb nomlanadigan funktsiyalar yozish va xodisalarni bu funktsiyalar bilan boglash kuzda tutiladi. U yoki bu xodisaning ishlab chikuvchisini yarata turib siz dasturga agar shu xodisa sodir bulsa, yozilgan funktsiyani bajarishga topshirik berasiz.

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.

cb200003.gif

Rasm.4. Xodisalar ishlab chikuvchisining prototipi

 

Uslublar

 

Uslub – komponent bilan bolgik bulgan funktsiya xisoblanadi va u ob’ektning kismi sifatida e’lon kilinadi. Xodisalar ishlab chikuvchisini yarata turib, kuyidagi notatsiyadan foydalanish mumkin;->, masalan:

Edit1->Show();

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.

Loyixalar menedjeri.

Ilova, shakl va modullarni aks ettiradigan fayl – loyixaga biriktirilgan buladi. Loyixalar menedjeri fayllar ruyxatini va ilovaning modullarini kursatib turadi va ular urtasida navigatsiyani (kuchib yurish)amalga oshiradi. Loyixalar menedjerini View/ProjectManagerpunktini tanlab chakirish mumkin. Yangi yaratilgan loyixa shartli ravishda Project1.cppnomini oladi.

cb200004.gif

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.

cb200005.gif

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 ilovalar yaratish.

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.

cb200006.gif

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.

cb200007.gif

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.

 

Oddiy ilova yaratishga misol:

Endi taxrirlanuvchi maydonga matn kiritishga va sichkoncha yordamida tugmaga bosganda bu matnni ruyxatga kushishga yordam beruvchi oddiy ilova yaratib kuramiz. Loyixani yaratish uchun menyuning File/NewApplicationpunktini tanlaymiz va uning asosiy shakl oynasini samp1.cppnomi bilan, loyixaning uzini esa samp.maknomi bilan saklaymiz. Shakl oynasiga komponentlar palitrasining Standardsaxifasidan Button, Edit va ListBoxkomponentlarini joylashtiramiz.

cb200008.gif

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» tugmasigabosibkiritilayotgansatrlarruyxatgakushilayotganigaishonchxosilkilishmumkin.

cb200009.gif

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:

cb200010.gif

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

VISUAL BASIC, DELPHI, C++ DASTURLASH

VISUAL BASIC, DELPHI, C++ DASTURLASH

BorderStyle (shakl turi) kuyidagilarni aniklaydi; shakl chetlarining kurinishi, shaklning ulchamlarini, sichkoncha bilan uzgartira olasizmi?

BorderStyle (shakl turi) kuyidagilarni aniklaydi; shakl chetlarining kurinishi, shaklning ulchamlarini, sichkoncha bilan uzgartira olasizmi?

Sarlavxa satri Proekt nomi

Sarlavxa satri Proekt nomi

Dastur formasi Ob’ektlar inspektoridan foydalanish

Dastur formasi Ob’ektlar inspektoridan foydalanish

Onclick hodisasi. Bu hodisa foydalanuvchiga dasturni mo‘ljallashtirishda yordam berishi uchun foydali hisoblanadi

Onclick hodisasi. Bu hodisa foydalanuvchiga dasturni mo‘ljallashtirishda yordam berishi uchun foydali hisoblanadi

Button (tugma) va Check Box komponentalarining ko‘pgina

Button (tugma) va Check Box komponentalarining ko‘pgina

Figuralar komponentasi o‘z tabiati bilan judayam oddiy

Figuralar komponentasi o‘z tabiati bilan judayam oddiy

Rasm.1. C++ Builder muxiti Shakl oynasi

Rasm.1. C++ Builder muxiti Shakl oynasi

Agar komponentni palitradan tanlab olib shakl oynasiga joylashtirilsa, ob’ektlar inspektori ushbu komponent bilan birga kullanilishi mumkin bulgan xususiyat va xodisalarni avtomatik ravishda kursatadi

Agar komponentni palitradan tanlab olib shakl oynasiga joylashtirilsa, ob’ektlar inspektori ushbu komponent bilan birga kullanilishi mumkin bulgan xususiyat va xodisalarni avtomatik ravishda kursatadi

Kursor operator kavslari{ ... } ichida joylashtiriladi

Kursor operator kavslari{ ... } ichida joylashtiriladi

Modulni loyixalar mendjerining

Modulni loyixalar mendjerining

Ilova yoki loyixa odatda bir nechta shaklga ega buladi

Ilova yoki loyixa odatda bir nechta shaklga ega buladi

Rasm.9. Komponentlarni shakl oynasiga joylashtirish

Rasm.9. Komponentlarni shakl oynasiga joylashtirish

Rasm.11. Modifikatsiyalangan ilova «

Rasm.11. Modifikatsiyalangan ilova «
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
20.02.2020