Kirish Roʻyxatdan oʻtish

Docx

  • Referatlar
  • Diplom ishlar
  • Boshqa
    • Slaydlar
    • Referatlar
    • Kurs ishlari
    • Diplom ishlar
    • Dissertatsiyalar
    • Dars ishlanmalar
    • Infografika
    • Kitoblar
    • Testlar

Dokument ma'lumotlari

Narxi 20000UZS
Hajmi 812.9KB
Xaridlar 0
Yuklab olingan sana 29 Fevral 2024
Kengaytma docx
Bo'lim Kurs ishlari
Fan Informatika va AT

Sotuvchi

Shahboz Rajabboyev

Ro'yxatga olish sanasi 28 Fevral 2024

14 Sotish

C++ da o’qituvchi oylik maoshini hisoblash dasturi

Sotib olish
Mundarija
I KIRISH..............................................................................................................   2 
1.1.Masalaning qo’yilishi……………………………..……..……….……………4
II bob. Nazariy qism ........................................................................................... 
2.1 C++ dasturlash tili haqida ma`lumot ............................................................... .5 
2.2 C++ da dasturlashning asosiy qismi ................................................................ 6
2.3 C++ builder muhitida matematik ifodalarni hisoblash .................................... 7
2.4 Ma’lumotlar bazasi haqida ................................................................ .........     18
III. Amaliy qism  ……………………………………………………………
3.1  Dastur loyihasini yaratish ............................................................................... 21
3.2. Dasturdan foydalanish yo’riqnomasi ............................................................ 24 
IV. XULOSA .....................................................................................................  29 
V. FOYDALANILGAN ADABIYOTLAR ....................................................   30 
VI. ILOVA...........................................................................................................  31 I.KIRISH
Bizning  о ldimizda alg о ritmlarni EHM tushunadigan tilda yozish masalasi
turadi, buning uchun ma х sus alg о ritmik tillar mavjud. EHM payd о  bo’lganidan
b е ri juda ko’plab alg о ritmik tillar yaratilgan. Ularni shartli ravishda uch tipga
ajratish mumkin:
- Quyi darajadagi pr о grammalash tillari (mashina tillari)
- O’rta darajadagi pr о grammalash tillari
- Yuq о ri b о sqichli pr о grammalash tillari
Quyi   darajadagi   pr о grammalash   tillarida   buyruqlar   va   amallar   ma’lum
k о dlar   (raqamlar)   bilan   if о dalangan   bo’lib,   ular   EHM   qurilmalari   adr е slari   bilan
b е v о sita ishlashga mo’ljallangan va mashina tili d е b ham yuritiladi.
O’rta   darajadagi   pr о grammalash   tillarida   amallar   va   buyruqlarni
(k о mandalar)   ni   if о dalash   uchun   о dam   tushunishi   uchun   qulay   bo’lgan   har   х il
qisqartma   so’zlardan   f о ydalaniladi.   Bunda   ham   pr о gramma   tuzuvchi   EHM
qurilmalari adr е slari bilan ishlashi  l о zim. Bu qiskartmalar-mn е m о k о dlar  d е yiladi,
bu turdagi pr о grammalash tillari ass е mbl е rlar d е b ataladi.
Yuq о ri   darajadagi   pr о grammalash   tillarida   ko’rsatmalar   ins о n   tiliga   yaqin
bo’lgan so’zlar va birikmalardan ib о rat bo’lib, pr о gramma tuzish uchun juda qulay
va bir о r ma х sus amallardan tashqari h о llarda adr е slar va qurilmalar bilan b е v о sita
b о g’liq  ko’rsatmalarni   bilish  zarur  emas.   Yuq о ri   b о sqich  pr о grammalash   tillariga
mis о l   sifatida   F О RTRAN,   Alg о l,   RL-1,   BASIC,   PASCAL,   C,   C  tillarini
k е ltirish mumkin.
Inf о rmatsi о n   t ех n о l о giyalarining   jadal   suratlar   bilan   riv о jlanishi,
Internetning payd о  bo’lishi, yangidan yangi va ma’lum maqsadlarga mo’ljallangan
pr о grammalash tillari va muhitlari yaratildi va yaratilm о qda.
Ularga mis о l sifatida dBase, KARAT, LISP, F ох Pr о , Simula, Delphi, Visual
Basic,   Visual   C  ,   HTML,   Java,   Java   Script   kabi   tillar   va   pr о grammalash
muhitlarini k е ltirish mumkin. H о zirgi kunga k е lib  о b’ е ktga yo’naltirilgan va vizual
pr о grammalash t ех n о l о giyalari k е ng tarqalm о qda. Insoniyat   a х borotlashtirish   sohasida   haqiqiy   inqilobiy   o’zgarishlar   davrini
boshidan   kechirmoqda,   buning   natijasida   esa   umumjahon   a х borotlashgan
hamjamiyati   shakllanmoqda.   Bu   o’zgarishlar   asosini   a х borotlashtirish,
telekommunikatsiya   va   komp'yuter   te х nologiyalari   konvergentsiyasi   negizida
a х borotni   uzatish   hamda   iste'molchiga   etkazib   berishning   eng   zamonaviy   va
samarali   vositalarining   dunyoga   kelayotganligi   tashkil   etadi.   Oqibatda   XXI   asr
a х borotlashgan   jamiyat   asri   deb   e'tirof   etildi.   Ya'ni,   bilimlarga   asoslangan   yangi
iqtisodiyot   asri   boshlandi,   insoniyatning   global   masshtabdagi   noyob   za х irasi
hisoblangan hamda inson kapitali va te х nologiyalarni o’z ichiga oladigan bilimlar,
ya'ni intellektual kapital zamonaviy takror ishlab chiqarish jarayonida asosiy omil
darajasiga   ko’tarilmoqda.   Bu   sharoitda   O’zbekiston   iqtisodining   bilimlarni
absorbatsiya   qilish   va   oqilona   ishlata   bilish   qobiliyati   yaqin   kelajakda   millatning
iqtisodiy quvvatini va farovonligini belgilovchi asosiy faktoriga aylanadi. Hozirgi
kunda kam rivojlangan davlatlarning rivojlangan davlatlardan farqi ham birinchi 6
navbatda   bilimlar   va   yangi   te х nologiyalarning   kamligi   bilan   belgilanmoqda,
kapitalning kamligi esa ikkinchi darajali bo’lib qolmoqda 1.1. Masalaning qo`yilishi
                     Ushbu kurs ishim  kollej o’qituvchilarining ish haqini hisoblash dasturini
tuzishdan   iborat.   Bu   dasturimning   vazifasi   shundan   iboratki,   bu   dasturda
beriladigan   olikdan   soliqlar   ayriladi,   o’qituvchilarga   beriladigan   bonuslar
qo’shiladi   va   oxirida   o’qituvchilarga   beriladigan   oylik   maosh   kelib   chiqadi.
Bundan   tashqari   bu   dasturda   o’qituvchilarning   lavozimlari   ham   kiritiladi   va   bu
lavozimlar bo’yicha saralash imkoniyati ham bo’lishi kerak.
                     Ushbu dasturiy vositani  ishlab chiqishda  o’ziga hos talablar  mavjud. Bu
talablar quyida sanab o’tiladi.
          Dastur kompleksi quyidagi vazifalarni bajarishi talab etiladi:
 Qoladigan oylik summani chiqarish;
 Familiya va lavozim bo’yicha saralash;
 Dasturdagi menyular orqali tez va oson ma’lumotlar olish; I BOB. NAZARIY QISM
2.1 C++ dasturlash tili haqida ma`lumot
                  Ma’lumki   EHM   berilgan   algoritmlarni   formal   bajaruvchi   avtomat
hisoblanadi.   Shuning   uchun,   biror   masalani   EHM   da   yechish   uchun   unga   mos
algoritmni   berish   zarur.   Algoritmni   EHM   ga   uzatishda   esa   uni   maxsus   «mashina
tili»ga   o’girib,   mashina   kodida   yozilgan   dasturga   aylantiriladi.   Shu   bilan   bir
qatorda,   turli   xil   EHM   lar   uchun   turli   tillar   yaratilgan   bo’lib,   biror   EHM   uchun
yozilgan  dastur   boshqa   EHM   uchun   tushunarsiz   bo’lishi   mumkin.  Shunday   qilib,
har bir EHM faqat o’zining «mashina tili»da yozilgan dasturlarnigina tushunishi va
bajarishi mumkin.
                    C++   dasturlash   tili   C   tiliga   asoslangan.   C   esa   o'znavbatida   B   va   BCPL
tillaridan kelibchiqqan.  BCPL  1967 yilda Martin Richards  tomonidan tuzilgan  va
operatsion sistemalarni yozish uchun mo'ljallangan edi. Ken Thompson o'zining B
tilida   BCPL   ning   ko'p   hossalarini   kiritgan   va   B   da   UNIX
operatsionsistemasiningbirinchiversiyalariniyozgan.   BCPL   ham,   B   ham   tipsiz   til
bo'lgan.Yani   o'garuvchilarning   ma'lum   bir   tipi   bo'lmagan   –   har   bir   o'zgaruvchi
kompyuter   hotirasida   faqat   bir   bayt   joy   egallagan.O'zgaruvchini   qanday   sifatda
ishlatish   esa,   yani   butun   sonni,   kasrlisonmi   yoki   harfdekmi,   dasturchi   vazifasi
bo'lgan.
                 C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell
Laboratoriyasida,   DEC   PDP-11   kompyuterida   qo'lladi.   C   o'zidan   oldingi   B   va
BCPL   tillarining   juda   ko'p   muhim   tomonlarini   o'zichiga   olish   bilan   bir   qatorda
o'zgaruvchilarni tiplashtirdi va bir qator boshqa yangiliklarni kiritdi. Boshlanishda
C   asosan   UNIX   sistemalarida   keng   tarqaldi.Hozirda   operatsion   sistemalarning
asosiy   qismi   C/C++   da   yozilmoqda.   C   mashina   arhitekturasiga   bog'langan
tildir.Lekin yaxshi rejalashtirish orqali dasturlarni turli kompyuter platformalarida
ishlaydigan qilsa bo'ladi.
                  1983   yilda,   C   tili   keng   tarqalganligi   sababli,   unistandartlash   harakati
boshlandi.   Buning   uchun   Amerika   Milliy   Standartlar   Komiteti   (ANSI)   qoshida
X3J11   texnikkomitet   tuzildi.va   1989   yilda   ushbu   standart   qabul   qilindi. Standartnidunyobo'yichakengtarqatishmaqsadida   1990   yilda   ANSI   va   Dunyo
Standartlar Tashkiloti (ISO) hamkorlikda C ning ANSI/ISO 9899:1990 standartini
qabul   qilishdi.   Shu   sababli   C   da   yozilgan   dasturlar   kammiqdordagi   o'zgarishlar
yoki umuman o'zgarishlarsiz juda ko'p kompyuter platformalarida ishlaydi.
                       C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan
tarzda   tuzildi.C++   juda   ko'p   qo'shimchalarni   o'zichiga   olgan,   lekinenga   sosiysi   u
ob'ektlar bilan dasturlashga imkon beradi.
              Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoqda.
Buni ta'minlash uchun ob'ektli dasturlash g'oyasi  ilgari surildi.Huddi 70-chi yillar
boshi   dastrukturalida   sturlash   kabi,   programmalarni   hayotdagi   jismlarni
modellashtiruvchi ob'ektlar orqali tuzishda sturlash sohasida inqilob qildi.
            C++ dan tashqari boshqa ko'p ob'ektli dasturlshga yo'naltirilgan tillar paydo
bo'ldi.   Shulardan   eng   ko'zga   tashlanadigani   Xerox   ning   Palo   Altoda   joylashgan
ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir.Smalltalk da
hamma   narsa   ob'ektlarga   asoslangan.   C++   esa   gibrid   tildir.Unda   C   ga   o'xshab
strukturali dasturlash yoki yangicha, ob'ektlar bilan dasturlash mumkin. Yangicha
deyishimiz   ham   nisbiydir.Ob'ektli   dasturlash   falsafasi   paydo   bo'lganiga   ham
yigirma yildan oshayapti. 2.2 C++ da dasturlashning asosiy qismi
C++ sistemasi  asosan quyidagi qismlardan iborat. Bular dasturni yozish
redaktori,   C++   tili   va   standart   kutubhonalardir.   C#   dasturi   ma'lum   bir   fazalardan
o'tadi.   Birinchisi   dasturni   yozish   va   tahrirlash,   ikkinchisi   preprosessor   amallarini
bajarish,   kompilyatsiya,   kutubhonalardagi   ob'ekt   va   funksiyalarni   dastur   bilan
bog'lash (link), hotiraga yuklash (load) va bajarish (execute).
2.3 C++ builder muhitida matematik ifodalarni hisoblash
C++ Builder muhitida vizual komponentalardan foydalanish 
Ilovalar   interfeysini   yaratish   uchun   C++Builder   vizual   komponentalarining
keng   to'plamini   taqdim   qiladi.   Ularning   asosiylari   komponentalar   palitrasining
Standart,Additional va Win32 varaqlarida joylashgan. 
Standart   varag’idagi  interfeys  komponentalarining aksariyati  Windows
boshlang'ich versiyalirida ishlatilgan interfeys komponentalaridan iborat: Additional  varag'ida komponentalar quyidagicha joylashgan:
BitBtn - Rasmli tugma; 
SpeedButton - Tezkor murojaat tugmasi; 
MaskEdit - Qolip buyicha berilganlarni kiritish uchun bir qatorli tahrir; 
StringGrid – Satrlarning ikki o’lchamli jadvali; 
DrawGrid – Rasm joylashtirish mumkin bo’lgan jadval; 
Image - Grafik shakl joylshtiriladigan soha; 
Shape – Standart geometrik shakllar; 
Bevel – Bo’rttilgan (o’yilgan) shaffof to’rtburchak soha; 
ScrollBox – Harakatlanish mumkin bo’lgan darcha; 
CheckListBox – Tanlashlar (belgilashlar) ro’yxati; 
Splitter – Sohani ajratuvchi chiziq; 
Statictext - Statik (turg'un) satr; 
ControlBar - Vositalar paneli uchun konteyner; 
ApplicationEvents - Ilovaning hodisalari; 
Chart – Diagrammalar, grafiklar chizishning vositasi. Vizual komponentalarning umumiy xususiyatlari
Barcha   vizual   komponentalar   uchun   TControl   sinfi   asos   hisoblanadi   va   u
elementning   o'lchami   va   joylashuvi,   uning   sarlavhasi,   rangi   va   shunga   uxshash
parametrlaridan   iborat   asosiy   funksional   atributlarni   ta'minlaydi.   TControl
sinfivizual komponentalar uchun umumiy bo'lgan xossalar, hodisalar va metodlarni
o'z ichiga oladi. Vizual komponentalarni ikkita katta guruhga ajratish mumkin: 
1. To'g'ri to'rtburchakli boshqaruv elementlari; 
  2. To'g'ri to'rtburchakli bo'lmagan boshqaruv elementlari.
To'g'ri to'rtburchakli boshqaruv elementi o'zida ma’lum bir maqsad uchun 
aniqlangan maxsus to'g'ri to'rtburchakni ifodalaydi. Bu elementlarga misol 
tariqasida boshqaruv tugmalarini, tahrir maydonlari, harakatlanish yo'laklarini 
ko'rsatishimiz mumkin. Ular uchun asos sinf TWinControl hisoblanadi. 
To'g'ri   to'rtburchak   elementlari   qiymar   kiritish   fokuslarini   ilishi   mumkin   .
Elementni fokus olganligi ikki xil usulda kursatiladi :
1. Tahrir kursori yordamida; 
2. To'g'ri to'rtburchak orqali. 
Matn   tahrirlari   bo'lgan   Edit   va   Memo   komponentalari   o'z   sohasida   tahrir
kursori   (matn   kursori)   paydo   bo'lishi   orqali   fokus   (boshqaruvni)   olganligini
bildiradi.
Mantlarni   tahrirlash   bilan   bog'liq   bo'lmagan   komponentalarda   qora   punktir
chiziqli   to'g'ri   to'rtburchak   paydo   bo'lishi   uning   fokus   olganligini   anglatadi.
Masalan, Button tugmasi fokus olganda sarlavha atrofida to'g'ri to'rtburchak paydo
bo'ladi,   ListBox   komponentada   esa   ro'yxatdagi   ayni   paytda   tanlangan   satrni
ajratilgan holda (aksariyat hollarda ko'k fonda) ko'rsatishi boshqaruvni olganligini
bildiradi.   Bulardan   tashqari,   to'g'ri   to'rtburchak   boshqaruv   elementlari   konteyner
sifatida   o'z   ichida   boshqa   boshqaruv   elementlarini   olishi   mumkin.   Bu   holda
boshqaruv elementi o'z ichidagilarga ota hisoblanadi. 
To'g'ri   to'rtburchak   bo'lmagan   boshqaruv   elementlari   TGraphicControl
sinfining   avlodlari   hisoblanadi.   Bu   guruh   elementlarii   qiymat   kiritish   fokusini olmaydi   va   interfeys   elementlari   uchun   “ota”   bo'la   olmaydi.   To'g'ri   to'rtburchak
bo'lmagan   boshqaruv   komponentalarining   afzalligi   -   ularni   nisbatan   kam   resurs
talab qilishida.
Vizual komponentalarning xossalari
Xossalar   ilovalar   yaratilishi   va   boshqarilishida   komponentalar   tashqi
ko'rinishi   va   amal   qilishini   boshqarish   imkonoyatini   beradi.   Odatda   komponenta
xossasinig   qiymatlari   ilovalarni   yaratish   vaqtida   Ob'ektlar   Inspektori   yordamida
amalga   oshiriladi.   Keltiriladigan   misollarda   tushunarli   bo'lishi   uchun   xossalar
qiymatlari   qiymat   berish   operatori   yordamida   amalga   oshiriladi.   Shuni   ta'kidlab
o'tish   kerakki,   komponentalar   barcha   xossaga   ega   bo'lmasligi   mumkin.   Masalan,
Edit   tahriri   Caption   xossasiga   ega   emas,   Label   yozuvi   ReadOnly   xossasiga   ega
emas va hakazo. 
Quyida komponentalarda uchraydigan asosiy xossalarga izox beramiz. 
Caption   xossasi   komponenta   sarlavhasini   yozish   satrini   o'z   ichiga   oladi.
Sarlavha   satridagi   ayrim   belgilar   tagiga   chizilgan   bo'lishi   mumkin,   ular   tezkor
murojaat   tugmalarining   kombinatsiyasini   bildiradi.   Ko'rsatilgan   belgini   <Alt>
tugmasi bilan bir vaqtda bosilishi shu sarlavhadagi komponentaga sichqonchaning
tugmasini  bosish  bilan bir  xil  amalni  yuzaga  keltiradi.  Tezkor  murojaat  belgisini,
shu belgi oldiga ‘&’ belgisini quyish orqali belgilanadi, masalan:
Label1->Caption=”Avtobus &nomerini kiriting”; 
Button1->Caption=”&Tamom”;
Suni   qayd   etish   kerakki,   Caption   xossasining   qiymatlarini   Object   inspector
darchasi   Properties   varagidagi   mos   qatoridagi   satr   maydonida   kiritish   ham
mumkin. 
Align   xossasi   komponentani   u   joylashgan   konteyner   ichidagi   joylashuv
variantlarini   aniqlaydi.   Aksariyat   hollarda   konteyner   sifatida   Form   formasi   yoki
Panel paneli keladi. 
Align xossasi quyidagi qiymatlarning birini qabul qilishi mumkin:  alNone   -   to'g'rilash   amalga   oshirilmaydi.   Komponenta   ilovani   yaratish
paytida qaerga joylashtirilgan bo'lsa, shu joyda qoladi; 
alTop - komponenta konteynerning yuqori qismiga ko'chiriladi, komponenta
balandligi o'zgarmaydi, eni esa konteyner eniga teng bo'ladi;
alBottom   -   AlTop   ga   o'xshash,   faqat   komponenta   konteyner   pastiga
joylashadi; 
alLeft   -   komponenta   konteynerning   chap   tomoniga   ko'chadi,   eni
o'zgarmaydi, buyi esa konteyner buyiga tenglashadi. 
alRight - alLeft ga o'xshash, faqat komponenta konteynerning o'ng tomoniga
ko'chadi; 
alClient - komponenta konteynerni to'la egallaydi. 
Misol. Panelni formaga nisbatan tog'rilash.
Panel1->Align=AlTop; 
Natijada Panel1 paneli Form1 formaning yuqori qismiga joylashadi.
Color   komponenta   fonining   rangini   aniqlaydi.   Color   xossasinig   qiymati   4
baytli 16 sanoq sistemasidagi son bo'lib, uning katta bayti rang palitrasini aniqlaydi
(odatda   $00),   kichik   uchta   bayti   qizil,   yashil   va   ko'k   ranglarning   RGB
intensivligini aniqlaydi. Bu ranglarni turli nisbatdagi aralashmasidan natijaviy rang
xosil bo'ladi. Masalan, $000000 - qora, $FFFFFF - oq, $0000FF - qizil, $00FF00 -
yashil, $FF0000 - ko'k rangni beradi. Ranglar qiymatini konstantalar orqali berish
ancha qulay. Masalan, clAqua - Och ko'k ($FFFF00), clBlack – Qora ($000000) va
hakoza.
Ctr3D   xossasi   boolean   turida   bo'lib,   vizual   komponenta   ko'rinishini
aniqlaydi.   Agar   Ctr3D   qiymati   false   bo'lsa   komponenta   ikki   o'lchamli   tasvir
kurinishida,   agar   true   bo'lsa   -   uch   ulchamli   tasvirlanadi   (kelishilgan   holdagi
ko'rinish). 
Cursor   xossasi   sichqoncha   ko'rsatgichining   ko'rinishini   aniqlab   beradi.   Bu
ko'rinishlar   rang   barang,   ular   ichida   eng   asosiylari   quyidagi   konstantalar   bilan
beriladi : 
crDefault - sichqoncha ko'rsatgichi kelishuv bo'yicha (odatda strelka) ;  crNone - ko'rsatgich ko'rinmaydi ; 
crArrow - ko'rsatgich strelka ko'rinishida; 
crCross - ko'rsatgich xoch ko'rinishida; 
crHourGlas - ko'rsatgich qum soati ko'rinishida.
Enabled   xossasi   boolean   turida   bo'lib   komponentani   faolligini,   ya'ni
sichqonchadan   yoki   klaviaturadan   kelayotgan   signallarga   aks   ta'sir   bera   olishini
aniqlaydi.   Agar   xossa   true   (kelishilgan   holat   qiymati)   qiymatga   ega   bo'lsa,
komponenta   faol   hisoblanadi.   Komponentaning   faol   bo'lmagan   holatini
sarlavhaning   yoki   matnning   oqargan   rangda   ekanligi   bildiradi.   Ayrim   hollarda
qandaydir   komponenta   o'chirilgan   (blokirovka   qilingan)   bo'ladi,   agar   u   bilan
bog'liq qandaydir amalni bajarishni iloji bo'lmasa. Masalan, Save tugmasi xujjatni
saqlash   amalini   bajaradigan   bo'lsin,   agar   saqlanadigan   xujjatning   o'zi   bo'lmasa,
saqlash   amalining   ma'nosi   yo'q.   Bunday   hollarda   tugma   faol   bo'lmagan   holatga
o'tkaziladi: 
Save->Enabled=false;
Font   xossasi   vizual   komponenta   akslanuvchi   matn   shriftini   aniqlaydi.   O'z
navbatida   TFont   sinfi   shrift   parametrlarini   boshqarishga   imkon   beruvchi
xossalariga ega. Bularning ichida asosiylari quyidagilar: 
Name - Shrift nomini aniqlaydi; 
Size - Punktlarda shrift o'lchamini beradi; 
Style - Shrift Stilini beradi; 
Color - Matn rangini boshqaradi. 
Masalan, Label1 yozuvining rangini berish: 
Label1->Font->Color=clGreen; 
Label1->Color=clWhite; 
Label1 sarlavhasi yashil fonddagi oq rangdagi matn ko'rinishida bo'ladi.
Height   va   Width   xossalari   komponentaning   mos   ravishda   vertikal   va
gorizontal o'lchamlarini piksillarda beradi.  Left  va  Top  xossasi komponentaning u joylashgan konteynerga (forma yoki
panelga)   nisbatan   koordinatalarini   aniqlaydi.   O'z   o'rnida   forma   ham   komponenta
va uning koordinatalari ekranning chap yuqori burchagiga nisbatan aniqlanadi. 
Hint   xossasi   kursor   komponenta   sohasida   va   bir   necha   soniya   harakatsiz
holatda   bo'lganda   ekranga   yordamchi   matnni   chiqaradi.   Yordamchi   matn   sariq
fondda chiqadi va komponentaning ishlatilish maqsadini qisqacha yoritadi.
Yordamchi   matn  ekranda   paydo  bo'lishi  uchun   boolean   turidagi   ShowHint
xossasining qiymatini true deb aniqlash zarur. 
PopupMenu   xossasi   suzib   chiquvchi   lokal   menuga   ko'rsatadi.   Bu   menyu
sichqoncha   ko'rsatgichi   komponenta   maydonida   (sohasida)   turgan   holda
sichqonchaning   o'ng   tugmasi   bosilganda   paydo   bo'ladi   va   bu   holat   ro'y   berishi
uchun   AutoPopup   xossasiga   (boolean   turidagi)   true   qiymatini   berish   kerak.
Kelishuv buyicha uning qiymati false bo'ladi. 
TabOrder   xossasi   konteynerdagi   komponentalarning   fokus   olish   tartibini
aniqlaydi   (“Tab”   tugmasi   bosilganda),   ya'ni   komponentalar   "aylanib"   chiqish
ketma   -   ketligini   aniqlaydi.   Kelishuv   bo'yicha   bu   ketma   -   ketlik   formani
ko'rinishini   yaratishda   komponentalarni   konteynerga   joylashtirish   tartibiga   mos
keladi: birinchi komponentaning TabOrder xossasining qiymati 0, ikkinchisiniki -
1 va hakoza. Tartibni o'zgartirish uchun komponentaning TabOrder xossasiga zarur
qiymatni   berish   kerak.   Har   bir   konteyner   boshqalariga   bog'liq   bo'lmagan
tabulyasiya   tartibiga   ega   bo'ladi.   Ikkita   komponenta   bir   xil   tabulyatsiya   tartibiga
ega bo'lishi mumkin emas .
TabStop   xossasi   TabOrder   bilan   birgalikda   ishlatilib,   komponentaning
fokus   olishi   yoki   yo'qligini   aniqlaydi.   Agar   TabStop   xossasining   qiymati   true
bo'lsa   komponenta   fokus   olishi   mumkin,   aks   holda   yo'q.   Vizual
komponentalarning   tabulasiya   tartibini   Edit   buyruqlar   menu   sida   joylashgan
EditTabOrder   (Tabulyatsiya   tartibini   o'zgartirish   )   dialog   darchasi   orqali   amalga
oshirish mumkin.  ReadOnly   xossasi   boolean   turida   bo'lib,   boshqaruv   elementiga   unda
joylashgan   matnni   kiritish   yoki   tahrirlash   bilan   bog'liq   amallarga   ruxsat   bor   yoki
yo'qligini aniqlaydi. Agar ReadOnly xossasi true qiymatga ega bo'lsa unda matnga
faqat   o'qish   uchun   murojaat   qilish   mumkin,   agar   ReadOnly   xossasi   false   qiymati
qabul qilsa, matnni tahrirlash mumkin bo'ladi. Masalan Edit satridan matnni faqat
o'qish   rejimida   bermoqchi   b'olsak,   quyidagi   amallar   ketma   -   ketligi   bajarilishi
kerak:
Edit1->Text=”O'zgarmas matn“; 
Edit1->ReadOnly=true;
Shuni   ta'kidlash   kerakki,   ReadOnly   faqat   ilova   ishlagan   paytdagina   amal
qiladi va ReadOnly xossasining qiymati true bo'lganda ham programma ishlashida
“ichkaridan” Text xossasining qiymatlarini o'zgartirishi mumkin . 
Vizual   komponentalar   Color,   Ctr3D,   Font   va   Showhint   xossalari   uchun
kelishuv bo’yicha qiymatni “ota” konteynerning (asosan forma) mos xossalarining
qiymatini   olishi   mumkin.   Ko'rsatilgan   xossalarning   qiymat   manbaini   boolean
turidagi quyidagi xossalar aniqlab beradi : 
ParentColor - Fon rangi uchun; 
ParentCtl3D - Komponenta o’lcham ko'rinishi; 
ParentFont - Matn shrifti uchun; 
ParentShowHint - Yordamchi matnni ko'rsatish uchun. 
Aksariyat hollarda kelishuv buyicha bu xossalar qiymatlari true bo'ladi. Agar
programma   tuzuvchi   komponentadagi   mos   xossalarni   o'zgartirsa,   unga   mos
keluvchi ParentXXX xossasining qiymati false o’tadi. 
Parent   xossasi   komponenta   uchun   “ota”   boshqaruv   komponentaga
ko'rsatadi.   Ota   boshqaruv   komponentasi   sifatida   konteyner   keladi   va   o'z   ichidagi
vizual komponentalarni qanday tasvirlanishiga javob beradi. 
Formani   loyihalashda   va   unga   turli   xil   komponentalarni   joylashtirishda
komponentani   qaysi   konteynerga   joylashishiga   mos   ravishda   Parent   xossasi
avtomatik ravishda to'g'ri qiymat qabul qiladi. Komponentalarni dinamik ravishda yaratish vaqtida komponentaning Parent xossasiga “qo'lda” qiymat berishga to'g'ri
keladi. 
Owner   xossasi   mavjud   bo'lib   u   komponentaning   egasi   bo'lgan   elementga
ko'rsatadi.   Odatda   komponentalar   egasi   ular   joylashgan   forma   bo'ladi.   Agar   ega
komponenta o'chirilsa, u egalik qiluvchi barcha komponentalar o'chib ketadi. 
Constraints   xossasi   interfeys   elementlari   o'lchamlarini   cheklash   uchun
kiritilgan.   Bu   turdagi   xossalar   ichida   eng   muhimlari   MinHeight,   MaxHeight,
MinWidth   va   MaxWidth   xossalari   hisoblanadi   va   ular   mos   ravishda   boshqaruv
elementining balandligi va enining maksimal  va minimal  qiymatlarini beradi. O'z
navbatida boshqaruv elementining bo'yi va eni piksel o'lchamida Height va Width
xossalarining   qiymatlari   orqali   aniqlanadi.   Boshqaruv   elementi   o'lchamlariga
cheklov   qo'yish   uni   ichida   joylashgan   boshqa   elementlarni   ko'rinmay   qolishligini
oldini olishga qaratilgan .
Vizual komponentalarning xodisalari
Vizual   komponentalar   katta   sondagi   turli   ko'rinishdagi   hodisalarni   yuzaga
keltirish   va   qayta   ishlashi   imkoniyatiga   ega   .   Eng   umumiy   hodisalar   guruhlariga
quyidagi kiritish mumkin: 
Boshqaruv elementini tanlash; 
Sichqoncha ko'rsatgichini harakatlantirish (ko'chirish); 
Hodisalar. 
Vizual   kompanintalar   katta   sondagi   turli   ko'rinishdagi   hodisalarni   yuzaga
keltirishi va qayta ishlashi imkoniyatlariga ega. Eng umumiy hodisalar guruhlariga
qo'yidagilar kiritish mumkun. 
Boshqaruv elementlarini tanlash; 
Sichqoncha ko'rsatkichini harakatlantirish (ko'chirish); 
Klaviatura tugmasini bosish; 
Boshqaruv elementi tomonidan qiymat kiritish fokusini olish va yo'qotish; 
Ob'ektlarni drag - and - drop usulida ko'chirish. 
void __fastcall TForm1::Button1Click(TObject *Sender)  { 
Label1->Caption=TimeToStr(Time()); 
} 
Sichqoncha   bilan   Button1   tugmasiga   bosilganda   Label1   joylashgan   joyda
ayni paytdagi vaqt akslanadi.
OnClick   xodisasi   boshqaruv   elementini   tanlaganda   ro’y   beradi.   Odatda   bu
xodisa   sichqoncha   tugmasi   bilan   kompanentaga   bosganda   ro'y   beradi.   Ilova
yaratishda   OnClick   juda   keng   ishlatiladi.   Misol   uchun   label1   yozuvini
tanlagandagi hodisani ishlash.
OnClick   xodisasi   boshqa   hollarda   ham   yuzaga   kelishi   mumkin.   Masalan,
Button1   komponentasida   kiritish   fokus   turgan   holda   “   “   (probel)   yoki   “Enter”
tugmasi   bosilsa   (CheckBox   komponentasi   uchun   probel   tugmasi   bosiladi)   ham
OnClick hodisasi ro’y beradi. 
OnMouseDown  hodisasi sichqoncha tugmasini bosganda ro'y beradi. 
OnMouseUp  hodisasi sichqoncha tugmasi qo'yib yuborganda ro'y beradi. 
Umuman   olganda   sichqoncha   tugmasi   bosib   qo’yib   yuborilganda   qo'yidagi
hodisalar ketma - ketligi ro'y beradi : 
OnMouseDown => OnClick (chap tugma uchun) => OnMouseUp. 
Agar komponenta sohasiga sichqoncha tugmasini ikkilangan bosishi amalga
oshirilsa,   OnDblClick   hodisasi   ro'y   beradi.   Bu   holdagi   hodisalar   ketma   -   ketligi
qo'yidagicha bo'ladi: 
OnMouseDown   =>   OnClick   =>   OnMouseUp   =>   OnDblClick   =>
OnMouseDown => OnMouseUp. 
C++   Builder   yuqorida   qayd   qilingan   holatlarda   qo'lda   yuzaga   keltirishga
imkon   beradi.   Masalan,   Button2->Click()   amali   Button2   tugmasi   bosilishini
immitatsiya qiladi. 
OnMouseMove   hodisasi   vizual   komponenta   ustida   sichqoncha
ko'rsatgiko'rsatgichini   harakat   qilishi   davomida   uzluksiz   ravishda   yuzaga   kelib
turadi. Bu hodisa funksiyasi ko’rinish quyidagicha: 
void __fastcall TForm1::FormMouseMove(TObject *Sender,  TShiftState Shift, int X, int Y) { } 
Bu yerda Sender  - sichqoncha  ko'rsatgichi  qaysi  boshqaruv  elementi  ustida
ekanligini,   X   va   Y   sichqoncha   ko'rsatgichining   Sender   boshqaruv   elementi
koordinata tizimidagi koordinatalarini ko'rsatadi. Shift parametri <Alt>, <Ctrl> va
<Shift>   tugmalarining   holatini   bildiradi.   Bu   parametr   quyidagi   qiymatlarning
kombinatsiyasini olishi mumkin : 
SsShift - <Shift> tugmasi bosilgan; 
SsAlt - < Alt > tugmasi bosilgan; 
SsCtrl - < Ctrl > tugmasi bosilgan;
SsLeft - sichqonchaning chap tugmasi bosilgan; 
SsMiddle - sichqonchaning o'rta tugmasi bosilgan; 
SsDouble - ikkilangan bosish amalga oshirilgan. 
Masalan. Sichqoncha ko'rsatgichining koordinatalarini chop qilish: 
void __fastcall TForm1::FormMouseMove(TObject *Sender, 
TShiftState Shift, int X, int Y) 
{ 
Form1->Caption=”Sichqoncha ko'rsatgichi koordinatalari: (” 
+ IntToStr(x) + “,“ + IntToStr(y)+”)” ) ; 
} 
Sichqoncha   ko'rsatgichini   forma   ustida   harakatlantirganda   uning
koordinatalari forma sarlavhasida ko'rsatiladi. 
OnKeyPress   va   OnKeyDown   hodisalari   klaviatura   tugmasini   bosganda
yuzaga keladi. 
OnKeyUp   hodisasi   klaviatura   tugmasini   qo'yib   yuborganda   yuzaga   keladi.
Klaviatura   tugmasini   bosganda   hodisalar   quyidagi   ketma   -   ketlikda   ro'y   beradi   :
OnKeyDown => OnKeyPress => OnKeyUp. 
Klaviaturani bosib turganda uzluksiz ravishda  OnKeyDown  hodisasi, tugma
quyib yuborilgandan keyin  OnKeyUp  hodisasi ro'y beradi. 
OnKeyPress  hodisasi klaviatura tugmasi bosilganda ro’y beradi va bosilgan
tugmaga mos keluvchi belgining ASCII kodini qabul qiladi.  OnKeyPress hodisasini qayta ishlashga misol: 
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) 
{ 
if(Key=='!') Key=0; 
} 
OnEnter   hodisasi   boshqaruv   elementlari   fokus   olgansda   yuz   beradi
(sichqoncha yoki <Tab> tugmasi yordamida). 
OnExit  hodisasi darcha boshqaruv elementi fokusni yuqotganda yuz beradi.
2.4. Ma’lumotlar bazasi haqida.
Microsoft   Office   k е ng   tarqalgan   ofis   ishlarini   avtomalashtiruvchi   dasturlar
pak е tidir.   Uning   tarkibiga   kiruvchi   Access   nomli   dasturlar   majmuasi   hozirda
MOBT   sifatida k е ng o`rganilmoqda  va  qo`llanilmoqda.  MOning  dastlabki   oynasi
sodalligi   va   tushunarligi   bilan   ajralib   turardi.   Undagi   oltita   ilova,   dastur
ishlaydigan   oltita   ob е ktni   tasvirlaydi.   Bular   « Таблици »   (jadvallar),   « Запроси »
(so`rovlar),   « Форми »   (shakllar),   « Отчети »(hisobotlar),« Макроси »   (makrosslar),
« Модули » (modullar).Ularning har biri haqida qisqacha to`xtalib o`tamiz;
1-« Таблици »   (jadvallar)-MOning   asosiy   ob е kti.   Unda   malumotlar
saqlanadi. 
2-« Запросы »(so`rovlar)-bu   ob' е kt   ma’lumotlarga   ishlov   b е rish,   jumladan,
ularni   saralah,   ajratish,   birlashtirish,   o`zgartirish   kabi   vazifalarni   bajarishga
mo`ljallangan. 
3-« Формы » (shakllar)-bu ob' е kt malumotlarni tartibli ravishda oson kiritish
yoki   kirtilaganlarni   ko`rib   chiqish   imkonini   b е radi.   Shakl   tuzilishi   bir   qancha
matnli maydonlar, tugmalardan iborat bo`lishi mumkin. 
4-« Отчети »(hisobotlar)-bu   ob' е kt   yordamida   saralangan   malumotlar   qulay
va ko`rgazmali ravishda qog`ozga chop etiladi. 
5-« Макроси »(makroslar)-makrobuyruqlardan   iborat   ob' е kt.   Murrakab   va
t е z-t е z   murojat   qilinadigan   amallarni   bitta   makrosga   guruxlab,   unga   jaratilgan tugmacha   b е lgilanadi   va   ana   shu   amallarni   bajarish   o`rniga   ushbu   tugmacha
bosiladi. Bunda amallar bajarish t е zligi oshadi. 
6-« Модули » (modullar)-Microsoft Access dasturining imkoniyatini oshirish
maqsadida ichki Visual Basic tilida yozilgan dasturlarni o`x ichiga olivchi ob' е kt.
Bundan   tashqari   « Страници »(saxifalar)   nomli   alohida   ob' е kt   ham   mavjud.
Bu   ob' е kt   HTMLkodida   bajarilgan,   WEB-sahifada   joylashtiriladigan   va   tarmoq
orqali mijozga uzatiladigan alohida ob' е ktdir. 
Biror ma`lumotlar omborini loyihalash va yaratish uchun Microsoft  Access
dasturini   ishga   tushirish   kerak.Buning   uchun   WINDOWS   oynasining   masalalar
panelidagi   <   Пуск   >tugmachasi   ustiga   sichqoncha   ko`rsatkichini   olib   borib   chap
tugmachasini   bosamiz   va   <   Программи   >   bo`iimiga   o`tib,   Microsoft
Accessqismini   tanlab   olamiz.   Dastur   ishga   tushgandan   k е yin   oyna   xosil   bo’ladi.
Malumotlar   ombarining   dastlabki   oynasida   yuqorida   sanab   o’tilgan   6   ta   asosiy
ob' е ktlarning ilovalaridan tashkari, yana 3 ta buyruk tugmachalari mavjud. Bo’lar:
« Открыт »   (Ochish),   « Конструктор »   (Tuzuvchi),   « Создат »   (Yaratish)
tugmachalaridir   .« Открыт »   (Ochish)   tugmachasi   tanlangan   ob' е ktni   ochadi.
« Конструктор »   (Tuzuvchi)   xam   tanlangan   ob' е ktni   ochadi,   l е kin   u   ob' е ktning
tuzilmasinigina ochib, uning mazmunini emas, balki tuzilishini tug’rilash imkonini
b е radi.   Agar   ob' е kt   jadval   bo’lsa,   unga   yangi   maydonlar   kiritish   yoki   mavjud
maydonlarning   xossalarini   o’zgartirish   mumkin.   « Создат »   (Yaratish)   tugmachasi
yangi   ob' е ktlarni:   jadvallar,   so`rovlar,   shakllar   va   xisobotlarni   yaratish   uchun
ishlatiladi.   Biror   Ma’lumotlar   omborni   yaratishdan   oldin   albatta   uning   loyixasini
ishlab   chiqish   lozim.   Buning   uchun   Ma’lumotlar   omborining   tuzilmasini   aniqlab
olish   k е rak   bo’ladi.   Ma’lumotlar   omborining   yaxshi   tuzilmasi   talablarga   mos
k е ladigan, samarali Ma’lumotlar omborni yaratish uchun asos bo’ladi.
MS Accessda Ma’lumotlar omborini yaratishning ikki usuli mavjud. Ulardan
biri   bush   bazani   yaratib,   so’ngra   unga   jadvallar,   shakllar,   xisobotlar   va   boshqa
ob' е ktlarni   kiritishdan   iborat.   Bu   usul   ancha   е ngil   va   qulay   bo’lgani   bilan
Ma’lumotlar   omborining   har   bir   el е m е ntini   aloxida   aniqlashga   tugri   k е ladi.
Shuning  uchun   ikkinchi   usuldan   Ko’proq   foydalanishadi.   Unda   « Мастер »  (Usta) yordamida   barcha   k е rakli   jadvallar,   shakllar   va   xisobotlarga   ega   bo’lgan   ma'lum
turdagi   Ma’lumotlar   ombori   birdaniga   yaratiladi,   sungra   t е gishli   o’zgartirishlarni
bajarish   mumkin.   Bu   boshlang’ich  Ma’lumotlar   omborini   yaratishning   eng   sodda
usulidir.
Visual Studio dasturida ma’lumotlar bazasidan foydalanish uchun dastlab 
MS   Access   office   dasturida   ma’lumotlar   bazasini   qurib   olinadi.   So’ngra   Visual
Studio dasturiga kiriladi. Undan so’ng kerakli kompanentalar tanlanadi.
Bular: 
 OleDbDataAdabter 
 DataSet 
 DataGridView 
 BindingSource 
 BindingNavigator 
Bu komponentalar asosida MS Access bilan Visual Studioni bog’laymiz III BOB. AMALIY QISM
3.1 Dastur loyihasini yaratish.
Dastur   loyihasini   yaratishda   oldimizga   asosiy   maqsadni   to’g’ri   qo’yib
olishimiz zarur bo’ladi, bu maqsad quyidagicha: dasturni qaysi muhitda tuzish, kim
uchun tuzish va qanday tuzish kerakligini aniqlab olish zarur.
Biz dasturni tuzish uchun C++ Builder 6 dasturidan foydalanamiz. Dasturni
ishga tushirgach biz uchun Form1 ochiladi va u unit 1 bilan birgalikda bo’ladi.
Biz   formaga   fon   qo’yib   olamiz   buning   uchun   Additional   bo’limidan   image
komponentasini   tanlaymiz     va   formaga   joylashtiramiz   so’ng   shu   bo’limdan
SpeedButton   tugamisini   joylashtiramiz   quyida   rasmda   bu   komponentalar
ko’rsatilgan:
Bu   komponentalar   o’rnatilgandan   so’ng   har   birining   caption   xususiyatiga
Kiritish,   Chiqish   kabi   so’zlarni   yozib   chiqamiz.   Keying   ishimiz   dasturni   baza
bilan bog’lash uchun komponentalar joylashtirishdan iborat bo’ladi buning  uchun
ADO bo’limidan ADOconnection komponentasini joylashtiramiz.
Keyingi komponenta DataAccess bo’limadagi DataSource komponentasi bo’ladi:
Bundan   uchtasini   joylashtiramiz   va   ADO   bo’limidagi   Adotable   dan   ham   uchta
joylashtiramiz. Button   komponentasini   ustidagi   Kiritish   so’zini   hosil
qilish   uchun   Object   Inspector   oynasining     Properties
bo’limidagi   Caption   xususiyatiga   Kiritish   deb   yozamiz
va   font   bo’limidan   uni   qalin   va   katta   shriftga
o’tkazishimiz mumkin bo’ladi.
Qolgan   komponentalarni   ham   xuddi   shu   tartibda   yozib
chiqamiz   natijada   quyidagi   oyna   hosil   bo’ladi   oynada
o’zgartirish   mumkin   bo’lgan   komponentalar   joylashgan
bo’ladi   bu   oyna   Form   1   deb   nomlangan   bo’ladi.
Biz formani tanlab caption xossasiga Oylik maoshni hisoblash deb yozib qo’yamiz
natija   quyidagi   ko’rinishni   oladi: Navbatdagi   ishimiz   jadvalni   bog’lashdan   iborat   bo’ladi:     Buning   uchun   quyidagi
ketma-ketlikni bajaramiz. 3.2 Dasturning asosiy ko’rinishlari
Dastur   oynasi   bir   necha   qismdan   tashkil   topgan   bo’lib   unda   asosan   ishchi
xodimlarning oylik maoshiga tegishli bo’lgan ma’lumotlar kiritiladi.
Hozir   biz   oynadagi   bo’limlar   bilan   va   unga   qanday   ma’lumotlar   kiritilishi   bilan
tanishib chiqamiz. Quyida oynaning asosiy ko’rinishi joylashgan.
Yuqoridagi  oynada  “FIO”ga xodimning ismi familiyasi kiritiladi, Lavozimiga esa
uning   lavozimi   ya’ni   nima   ish   qilishligi   kiritiladi,   “Belgilangan   summa”ga   esa
uning   ish   haqqi   ya’ni   bir   oyda   davlatdan   qancha   maosh   ajratiladi   usha   kiritiladi,
“Bonuslar”ga   mehnat   faoliyati   mobaynida   erishilgan   yutuqlari   va   tashkilotchilik
qobiliyatidan   kelib   chiqqan   holda   korxona   tomonidan   uning   uchun   ajratilgan
summa kiritiladi, “Soliqlar” bandiga Daromad solig’i, pensiya fondi va kollej fondi
uchun oylik maoshidan qaytarib qolingan summa kiritiladi.  
Bu quyidagi tartibda hosil bo’ladi: Bo’limlar   to’ldirilgandan   so’ng   “Kiritish”   tugmasi   bosiladi   va   ma’lumotlar
jadvalda   namoyon   bo’ladi:
Yuqoridagi oynada e’tibor beradigan asosiy joy bu “Beriladigan summa”   chunki
dastur bu bandni avtomatik hisoblashlar orqali to’ldiradi. Bu band quyidagi oynada
belgilab   ko’rsatilgan:
Dasturda   hisobchi   uchun   juda   kerakli   bo’lgan   tugmalar   ikki   xil   ko’rinishda
keltirilgan,   bu   tugmalar   orqali   tezkor   saralash   uchun   ishlatiladi.   Agar   bizga
familiyasi   bo’yicha   qidirish   kerak   bo’lsa   FIO   bo’yicha   tugmasini   faollashtiramiz
so’ngra quyidagi oyna hosil bo’ladi: Hosil   bo’lgan   oynaga   kerakli   familiya   yozilsa   jadvalda   shu   familiyali   kishilar
ro’yxati paydo bo’ladi. Agar biz lavozimi bo’yicha qidirmoqchi bo’lsak Lavozimi
bo’yicha   tugmasini   bosamiz   va   lavozimni   kiritamiz   natijada   quyidagi   oyna   hosil
bo’ladi:
Bu jarayonda faqat o’qituvchi ro’yxati hosil bo’ladi.
Eng   asosiy   tugmalardan   biri   bu   chiqish   tugmasi   bo’lib   u   dasturning   o’ng   pastki
tarafida   joylashgan:
Chiqish   tugmasi   bosilganda   dastur   oynasi   yopiladi   va   biz   kiritgan   ma’lumotlar
bazada saqlanib qoladi. Keyingi oynada dasturning menyular satri haqida ma’lumot olishimiz mumkin.
Menyular   satrida   quyidagi   xizmatlar   mavjud:
Asosiy   deb   nomlangan   menyuda   Saralashga   o’tish   oynasi,   saralashdan   chiqish
oynasi   va   dasturdan   chiqish   oynasi   joylashgan.   Keyingi   menyu   Yordam   deb
nomlangan: Bunda   ikkita   band   joylashgan   bo’lib   ular   dastur   haqida   va   dasturchi   haqida
qisqacha ma’lumot beradi.
Dastur haqida bandini bosganimizda quyidagi oyna hosil bo’ladi:
Yuqoridagi oynadan dastur haqidagi ma’lumotni o’qib bo’lgach Dasturga qaytishni
bosib   dastur   oynasiga     qaytishimiz   mumkin   yoki   Dasturdan   chiqishni   bosib
ilovadan chiqib ketamiz.
Dasturchi   haqida   F2   ni   bosganimizda   quyidagi   oyna   ochiladi: Yuqoridagi oynadan dastur haqidagi ma’lumotni o’qib bo’lgach Dasturga qaytishni
bosib   dastur   oynasiga     qaytishimiz   mumkin   yoki   Dasturdan   chiqishni   bosib
ilovadan chiqib ketamiz.
IV. XULOSA
Men   ushbu   kurs   ishini   bajarish   davomida   C++   dasturlash   tili   da   dasturlash
hamda   avtomatlashtirish   to’g’risidagi   bilimlarimni   mustaxkamlab   oldim.   Dastur
tuzish   davomida   C++   builder   da   ishladim.   C++   builder   ko’plab   komponentalarni
ishlatdim.   Kurs   ishini   bajarish   davomida   dasturdagi   ko’plab   komponentalar
palitrasidan   foydalanishni,   dastur   tuzishdan   oldin   uning   algoritmini   to’liq   tuzib
chiqish   lozimligini   o’rgandim.   Chunki   dasturchi   dasturni   tuzishdan   oldin   uning
algoritmini   ishlab   chiqib   dasturni   qanday   natija   qaytarishini   bilgan   holdagina
dastur   bexato,   samarali   ishlar   ekan   komponentalardan   foydalanishni   o’rgandim.
Men ushbu kurs ishini bajarish davomida juda ko’p narsalarni o’rgandim.
Hammamizga   ma’lumki,   XXI   asr   “Axborot   texnologiyalari   asri”
hisoblanadi.   Bu   asrda   dasturlash   sohasida   misli   ko‘rilmagan   o‘zgarishlar   bo‘ldi.
Bunda   avtomatlashtirish   dasturning   asosini   tashkil   qiladi.   Yuqorida   yaratilgan
dastur ham foydalanuvchiga turli qulayliklar yaratib, yozuv chizuv ishlaridan ozod
qiladi.   Men   dastur   tuzish   davomida   C++   Builderda   keng   imkoniyatlar
yaratilganligini   tushundim.   Ayniqsa   MySQL,   Access   kabi   dasturlar   bilan
hamkorlikda   ishlashi   menda   katta   qiziqish   uyg‘otdi.   Men   bu   kurs   ishini   qilish
davomida   C++Builder   dasturi   yordamida   ma’lumotlar   bazasini   boshqarishni   va
dasturda   turli   interfeyslarda   yaratishni,   formalar   ustida   amallar   bajarishni
o‘rgandim.  V. FOYDALANILGAN ADABIYOTLAR
1. C va C++ tili. Sh.A.Nazirov, R.V.Qobulov, M.R.Babajanov, Q.S.Rahmanov. 
Toshkent “Voris Nashriyot”, 2013-y. 
2. C++ Builder в задачах и примерах. Никита Кулътин. Borland C++ Builder -
краткий справочник. 
3. Программирование в C++ Builder, А.Я.Архангельский, Москва,2010 г. 
4. C++ Builder. Qudrat Abduraximov o’quv dasturi. 
5. C++ da dasturlash fanidan ma’ruza matnlari, TATU Farg’ona filiali, 2014-y. 
6. www.ziyonet.uz. Maruza matnlari C++ da dasturlash. 
7. www.dasturchi.uz. Qudrat Abduraximov sayti. C++ Builder dasturini videolari.  VI. ILOVA
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ADOTable1BeforePost(TDataSet *DataSet)
{ ADOTable1->Fields->Fields[5]->AsInteger=(ADOTable1->Fields->Fields[2]->AsInteger+ADOTable1-
>Fields->Fields[3]->AsInteger)-ADOTable1->Fields->Fields[4]->AsInteger; }
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOTable1->Open();
ADOTable1->Insert();
ADOTable1->Fields->Fields[0]->AsString=LabeledEdit1->Text;
ADOTable1->Fields->Fields[1]->AsString=LabeledEdit2->Text;
ADOTable1->Fields->Fields[2]->AsString=LabeledEdit3->Text;
ADOTable1->Fields->Fields[3]->AsString=LabeledEdit4->Text; ADOTable1->Fields->Fields[4]->AsString=LabeledEdit5->Text;
ADOTable1->Post();
LabeledEdit1->Clear();
LabeledEdit2->Clear();
LabeledEdit3->Clear();
LabeledEdit4->Clear();
LabeledEdit5->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
switch (RadioGroup1->ItemIndex){
        case -1: {Edit1->Visible=false;
                Edit2->Visible=false;
                Edit2->Clear();
                Edit1->Clear();
Saralash1->Enabled=true;
Saralashdanchiqish1->Enabled=false;
                break;}
        case 0: {Edit1->Visible=true;
                Edit2->Visible=false;
                Edit2->Clear(); 
Saralash1->Enabled=false;
Saralashdanchiqish1->Enabled=true;
                break;}
        case 1: {Edit2->Visible=true;
                Edit1->Visible=false;
                Edit1->Clear();
Saralash1->Enabled=false; Saralashdanchiqish1->Enabled=true;
                break;}
}                 }
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FIOboyicha1Click(TObject *Sender)
{
RadioGroup1->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Lavozimiboyicha1Click(TObject *Sender)
{RadioGroup1->ItemIndex=1;  }
//---------------------------------------------------------------------------
void __fastcall TForm1::Saralashdanchiqish1Click(TObject *Sender)
{
Saralash1->Enabled=true;
Saralashdanchiqish1->Enabled=false;
RadioGroup1->ItemIndex=-1;
Edit1->Clear();
Edit2->Clear();
Edit1->Visible=false;
Edit2->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender) {
                if (Edit1->Text.Length()>0 ){
                 ADOTable1->Filtered=false;
                 ADOTable1->Filter="FIO like '%"+Edit1->Text+"%'";
                 ADOTable1->Filtered=true;  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
                if (Edit2->Text.Length()>0 ){
                 ADOTable1->Filtered=false;
                 ADOTable1->Filter="Lavozimi like '%"+Edit2->Text+"%'";
                 ADOTable1->Filtered=true;  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Dasturhaqida1Click(TObject *Sender)
{
Form2->Show();
Form1->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Dasturchihaqida1Click(TObject *Sender)
{     
Form3->Show();
Form1->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{} //---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Form1->Visible=true;
Form2->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button2Click(TObject *Sender)
{
Form1->Close();
}
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
Form1->Visible=true;
Form3->Close();
}
//---------------------------------------------------------------------------

C++ da O’qituvchi oylik maoshini hisoblash dasturi

Sotib olish
  • O'xshash dokumentlar

  • Access dasturi yordamida “dorixona” ma‘lumotlar bazasini yaratish
  • Agile va Scrum metodologiyalari dasturiy ta'minot ishlab chiqish
  • Tashkilot miqyosida masofadan muloqot qilish.
  • Talabalar haqida ma'lumot saqlovchi tizim
  • HTML tili, uning asosiy elementlari. Jadval va rasm hosil qilish. Gipermatn va freymlar joylashtirish

Xaridni tasdiqlang

Ha Yo'q

© Copyright 2019-2025. Created by Foreach.Soft

  • Balansdan chiqarish bo'yicha ko'rsatmalar
  • Biz bilan aloqa
  • Saytdan foydalanish yuriqnomasi
  • Fayl yuklash yuriqnomasi
  • Русский