118
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI BUXORO DAVLAT UNIVERSITETI Fizika – matematika fakulteti “Axborot texnologiyalari” kafedrasi Turayeva Mayram Hayit qizi BERILGAN TESTLARDAN, TEST VARIANTLARINI HAKLLANTIRUVCHI DASTUR YARATISH 5111000-Kasb ta’limi(5330200-Informatika va axborot texnologiyalari) ta’lim yo’nalishi bo’yicha bakalavr darajasini olish uchun BITIRUV MALAKAVIY ISHI “Ish ko`rildi va himoya qilishga Ilmiy rahbar _____katta o’qit.X.U.Xayatov ruxsat berildi” “_______” ______________ 2017 y. Kafedra mudiri. Taqrizchi ________dots. Sh.S.Yuldashev ___________ dots.T.B.Boltayev “_______” ______________ 2017 y. «______» __________________2017 y. “Himoyaga ruxsat berildi”

213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

  • Upload
    others

  • View
    83

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI

BUXORO DAVLAT UNIVERSITETI

Fizika – matematika fakulteti

“Axborot texnologiyalari” kafedrasi

Turayeva Mayram Hayit qizi

BERILGAN TESTLARDAN, TEST VARIANTLARINI HAKLLANTIRUVCHI DASTUR YARATISH

5111000-Kasb ta’limi(5330200-Informatika va axborot texnologiyalari) ta’lim yo’nalishi bo’yicha bakalavr darajasini olish uchun

BITIRUV MALAKAVIY ISHI

“Ish ko`rildi va himoya qilishga Ilmiy rahbar _____katta o’qit.X.U.Xayatov

ruxsat berildi” “_______” ______________ 2017 y.

Kafedra mudiri. Taqrizchi ________dots. Sh.S.Yuldashev

___________ dots.T.B.Boltayev “_______” ______________ 2017 y.

«______» __________________2017 y.

“Himoyaga ruxsat berildi”

Fakultet dekani _______________prof. Sh.M. Mirzayev

“_______” ________________ 2017 y.

Page 2: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Buxoro - 2017 yil

Mundarija:

Kirish.........................................................................................................................3

I. Dasturni yaratish uchun foydalaniladigan dasturiy vositalar.................................6

1.1. Delphi muhitida ishlash...................................................................................6

1.2. Delphidagi asosiy komponentalar va ularning xususiyatlari, hodisalari.......19

1.3. Delphi muhiti orqali OFFICE bilan ishlash..................................................36

I ning qisqacha xulosasi.......................................................................................44

II. Berilgan testlardan test variantlarini shakllantiruvchi dastur yaratish...............45

2.1. Delphida Offisni avtomatlashtirishning umumiy prinsiplari va word dasturiy

vositasi bilan ishlash.............................................................................................45

2.3. Test variantini formalari va uning modullari................................................60

2.4. Test variantini yaratuvchi dasturidan foydalanish uchun ko`rsatma.............75

II. ning qisqacha xulosasi.....................................................................................81

Xotima.....................................................................................................................83

Foydalanilgan adabiyotlar.......................................................................................84

2

Page 3: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Kirish

Biz tezkor texnikaviy taraqqiyot shiddat bilan rivojlanayotgan va muntazam

yangilanayotgan zamonaviy yuqori texnologiyalar, axborot –kompyuter tizimlari

asrida yashayotganligimizni unutmasligimiz kerak.

I.A.Karimov

Bugun kompyuter texnologiyalari dunyoda jadallik bilan rivojlanayotgan

sohalardan biriga aylanib bormoqda. Kompyuterlar asta-sekin insonlar hayotiga

kirib bormoqda. Ya’ni, faol ish yurituvchini internet global tarmog’isiz,

intellektual ishchini esa ish joyida kompyutersiz tasavvur qilish qiyin. Kompyuter

texnologiyalari inson hayot tarzida, kichik va katta korxonalarda, kompaniyalarda,

o’quv dargohlarida, davlat muassasalarida behad ahamiyat kasb etmoqda. Hozirda

kompyuterlarni qo`llashda ko`pgina foydalanuvchilar uchun yagona axborot

makonini ta'riflovchi tarmoqlarni tashkil etish muhim ahamiyatga ega. Buni butun

dunyo kompyuter tarmog`i hisoblanmish internet misolida yaqqol ko`rish mumkin.

Insonning barcha sohalardagi faoliyati axborot bilan to‘liq ta‘minlanganligi

va axborotlardan samarali foydalanishiga bog‘liq bo‘lmoqda. Katta hajmdagi

axborotlar oqimidan kerakli bo‘lganini tanlab olish, ularni qayta ishlash va

foydalanish uchun har bir mutaxassis shaxsiy kompyuter va aloqa

vositalaridan unumli foydalanishi kerakdir.

O’zbekiston Respublikasi Prezidentining «O’zbekiston Respublikasi Milliy

axborot-kommunikatsiya tizimini yanada rivojlantirish chora-tadbirlari to’g’risida»

2013 yil 27 iyundagi PQ-1989-sonli qaroriga muvofiq, unda davlat hokimiyati va

boshqaruvi organlari faoliyatiga zamonaviy axborot kommunikatsiya

texnologiyalarini keng joriy etish, ular tomonidan interaktiv davlat xizmatlari

ko’rsatish, elektron tijorat va elektron to’lovlar tizimini yanada ravojlantirish,

tijorat faoliyati va tadbirkorlikda axborot texnologiyalaridan samarali

foydalanishni rivojlantirish, Internet tizimi orqali kommunal va boshqa to’lovlarni

yo’lga qo’yish, mahalliy tovarlar va xizmatlarni tashqi bozorda realizatsiya qilish

maqsadida elektron tijorat infratuzilmasini yaratish borasida ustuvor vazifalar

3

Page 4: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

belgilab berilgan. Bundan tashqari O’zbekistonda o’qitish texnologiyalarini

zamonaviylashtirish, jadallashtirish rivojlangan iqtisodiyotli mamlakatlarga

qaraganda yanada dolzarb ahamiyatga ega. Chunki hozirgi kunda milliy ta’lim

tizimining salohiyatli tizimli rivojlanishi yanada yuqori pog’onaga ko’tarildi.

Mavzuning dolzarbligi: shundan iboratki, talaba dasturlash muhiti orqali

ofis hujjatlarini avtomatik shakllantirishni o`rganishi, buni namuna sifatida test

variantini dasturini yaratishidir. Hozirda test variantini shakllantirish hayotda ko`p

qo`llaniladi va buni avtomatlashtirilgan dastur orqali bajarish dolzarbdir.

Bitiruv malakaviy ishimizning maqsadi: Delphi dasturlash muhiti

texnologiyasi imkoniyatlaridan foydalangan holda test variantlarini

shakllantiruvchi dasturini yaratish.

Bitiruv malakaviy ishimizning vazifalari: Malakaviy ish maqsadidan kelib

chiqqan holda quyidagi vazifalar belgilandi. Delphi muhitida ishlashni o`rganish.

Delphi orqali Word ilovalari hujjatlatini shakllantirish. Qo`yilgan masalani

bajaruvchi dasturni yaratish.

Bitiruv malakaviy ishimizning o`rganilganlik darajasi: Bitiruv

malakaviy ishimni qilish jarayonida juda ko’p ma’lumotlarni o’rganib oldim. Ya’ni

dasturni tuzish jarayonida Delphi muhitini, Delphida office bilan ishlash bilimiga

ega bo`ldim. Dasturni tuzish uchun barcha imkoniyatlarni bajar olish jarayonlarni

mayda mayda dasturchalar tuzish evaziga o`rgandim.

Bitiruv malakaviy ishimizning predmeti: Delphi7, MS Office 2003,

VBA, Delphi orqali word bilan ishlash.

Bitiruv malakaviy ishimizning ob`ekti: Dasturni tuzish uchun

foydalanilgan elektron adabiyotlar.

Bitiruv malakaviy ishimizning ilmiy farazi: Barcha fanlar uchun bu

dasturiy vositadan foydalanish.

Bitiruv malakaviy ishimizning yangiligi: Ta`lim muassasalarda o`tiladigan

barcha fanlarga test variantini shakllantirish uchun qulay imkoniyatli dastur

4

Page 5: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

yaratish. Talabalar, fanni har bir mavzusini o`zlashtirishiga imkoniyat beradi. Uni

ta`lim jarayonida qo`llash.

Bitiruv malakaviy ishimizning amaliy ahamiyati: Dastur tuzish

jarayonida Delphi dasturlash tili, Office paketini boshqarishlarni zamonaviy

dasturlash tillari fanida foydalanish.

Bitiruv malakaviy ishimizning metodologik asoslari: Desktop

arxitekturali dasturlar yozish va Office hujjatidagi shablonlar.

Bitiruv malakaviy ishimizning metodlari: Dasturimizni tuzishda, Delphi

muhitidan va Word ilovasi hujjatlarini dasturlash orqali boshqarishda foydalanildi.

Bitiruv malakaviy ishimizning tarkibi va hajmi: Ushbu bitiruv malakaviy

ishi 85 betdan iborat bo’lib, kirish, 2 ta bob, xotima va foydalanilgan adabiyotlar

ro’yxatidan iborat.

5

Page 6: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

I. Dasturni yaratish uchun foydalaniladigan dasturiy vositalar1.1. Delphi muhitida ishlash

Oxirgi vaqtda dasturlashga qiziqish ortib ketdi. Bu axborot texnologiyalarning

hayotimizga kirib kelishi bilan bog’liq. Agar inson kompyuter bilan ishlasa, unda

dasturlashtirishga ehtiyoj va xohish paydo bo’ladi. Hozirgi kunda personal

kompyuter uchun Windows operatsion sistemasi juda mashhur. Dastur tuzishda

uni yozishda Windows operatsion sistemasi kompyuterlardan foydalaniladi.

Texnikaning rivojlanishi kompyuter dasturlarining tez ishlashiga olib keldi.

Bularga Borland Delphi va Windows Vizual Basic va boshqalarni misol keltirish

mumkin.

Delphi - dasturiy vositasi: Bu windows uchun mo’ljallangan dasturlash muhiti

bo’lib, 1995 yilda Borland kompaniyasi guruhi 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.

Borland Delphi ning paydo bo’lishi dasturlashni rivojlantirish tarixida yorqin

ko’rinish bo’ldi. Delphi ning vujudga kelishiga quyidagilar sabab bo’ldi;

- Windows uchun dasturlash 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 bilan ishlash imkoniyatlarining

mavjudligi.

Borland Delphi yuqorida bayon etilgan fikrlarni joriy etish maqsadida

yaratilgan. Ammo, uning eng asosiy elementi Paskal tili bo’lib hisoblanadi.

6

Page 7: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Hozirgi kunda Delphi tilining bir necha xil variantlari mavjud (Delphi 2, Delphi

3... , Delphi 7 va h.k.).

Delphi dasturlash muhiti uchun Object Paskal dasturlash tili asos qilib

olingan. 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 muhitining asosi hisoblanadi.

Agar biz Delphi da biror forma hosil qilsak, u holda Delphi bizga o’zi avtomatik

tarzda shu formaga mos bo’lgan modullarni va bu modullarni boshqaruvchi

dasturni tuzib beradi. Boshqaruvchi dasturni Delphi da, 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 xohlagan

nomimizni berishimiz mumkin.

Ishning boshlanishi. Delphi har doimgidek ochiladi, ya’ni quyidagicha.

1.1.1 – chizma. Delphi ni ishga tushurish.

Bu paytda bitta oyna o’rniga 5 ta oyna chiqadi.

Bu yerda Delphi ning asosiy tashkil etuvchilari keltirilgan:

1. Delphi ning asosiy oynasi.

2. Formalar konstruktori (Form Designer)

3. Ob’ektlar inspektori (Object Inspector)

7

Page 8: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Asosiy oynaUskunalar paneli Komponentlar paneliObyektlar daraxti

Obyektlar inspektoriForma dizayneri

Code Explorer oynasi Code Editor oynasi

4. Ob’ektlar daraxti (Object TreeView)

5. Dastur matni muharriri (Code Editor)

6. Dastur matniga yo’l ko’rsatuvchi oynasi (Code Explorer)

1.1.2 - chizma. Delphi 7 dasturining umumiy ko’rinishi.

Konsolli ilovalarni yasash

Konsolli ilovalar quyidagicha yasaladi. Dastlab File menyusidan New Other

Application buyrug’i tanlanadi, New bo’limi oynasidan yasaladigan Console

Application ilovaning tipini New Items oynasidan tanlash lozim. Natijada ekranda

konsolli ilova protsedurasining shabloni turgan Project1.dpr oyna paydo bo’ladi.

Bu oynaga dastur instruktsiyasini terish mumkin.

Konsolli ilova instruktsiyasi program dan keyin dastur nomi bilan boshlanadi.

Dastlab u loyiha nomi bilan bir xil nomlanadi. Saqlash vaqtida dasturchi saqlagan

loyiha nomi bilan yozib qo’yiladi. Shuni esda saqlash kerakki konsolli ilova

windows da yaratiladi, dastur esa DOS dasturi kabi bajariladi. DOS da ASCII

8

Page 9: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

kodirovkasi, Windows da — ANSI kodirovkasi ishlatiladi. Ularda rus alfaviti

tulicha kodlanadi. SHuning uchun konsolli ilovaga ingliz tilidagi ma’lumotlarni

kiritish lozim. Bu muammoni hal qilish uchun ASCII da kodlangan matnni ANSI

ga kodlashga ahamiyat berilsa kifoya.

1.1.3 - chizma. Konsolli ilovalarni yasash

1.1.4 -chizma. Konsolli ilovaning bosh protsedurasi shabloni.

Misol: N gacha bo’lgan tub sonlar ro’yxatini chiqaruvchi dasturni konsolli ilovada

qarab chiqamiz.

program Project1; {$APPTYPE CONSOLE}var s,i,j,n:integer;beginwrite('N ni kirit='); read(n);writeln; writeln(' Tub sonlar ro`yxati '); writeln;for i:=2 to n do begin s:=0; for j:=1 to i do if i mod j=0 then s:=s+1; if s=2 then writeln(' ',i); end;readln; readln;

9

Page 10: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

end.Dasturning matni {$APPTYPE CONSOLE} qatori bilan boshlanadi. Bu

direktiva ($) kompilyator uchun mo’ljallangan. Direktivaning ko’rsatmasi bilan

kompilyator bajarilayotgan dasturni konsolli ilova kabi generatsiya qiladi. Konsolli

ilovani kompilyatsiya qilish odatdagi tarzda ya’ni Project menyusidan Compile

buyrug’ini tanlash bilan amalga oshiriladi.

Muvaffaqiyatli kompilyatsiya qilingandan so’ng dastur Run menyusidan Run

buyrug’i bilan ishga tushiriladi. Konsolli ilovani ishga tushirgandan so’ng ekranda

DOS dasturi oynasi paydo bo’ladi. 3- rasmda Delphi da tuzilgan konsolli ilova

ishlaydigan DOS oynasi keltirlgan.

1.1.5 -chizma. Konsolli ilova ishlaydigan DOS-oynasi.

Konsolli ilova loyihasini yozib qo’yish standart holatda. File menyusidan

Save buyrug’ini tanlash natijasida ekranda loyiha nomi kiritiladigan Save Project

dialogli oyna paydo bo’ladi.

Windows muhitida dastur yaratish. Yangi loyiha yaratish.

Windows muhitida dastur yaratilishidan oldin siz yangi loyiha yaratishingiz

yoki mavjud bo’lgan loyihangizni ochishingiz kerak. Yangi loyiha yaratishdan

oldin ochilgan loyiha va uning formalarini yopishingiz shart. Loyiha va uning

formalarini yopish uchun asosiy menyudan (File\Close All) buyrug’ini tanlashingiz

kerak. Yangi loyiha yaratish uchun File\New Application (File\New\Application)

buyrug’ini berishingiz kerak. Loyihangizni xotiraga saqlashingiz uchun (File\

Save_All yoki Shift+Ctrl+S ) buyrug’ini tanlang. Saqlashda muloqot oyna

chiqganda ikkita faylni saqlashingiz kerak. Iloji boricha har bir loyihangizni

10

Page 11: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

alohida alohida papkalarda saqlang. Loyiha faylini (Project.dpr) uning

kengaytmasi *.DPR (Delphi Project) bo’ladi, va *.dfm (Delphi Form) forma fayli.

Forma faylini nomini nima berishingizdan qat’iy nazar shunaqa nomli *.pas faylini

ham saqlaydi, bu fayl shu formaning dastur matni fayli (modul). Faylni

saqlagandan keyin dasturingizni ishga tushirsangiz loyihangiz saqlanayotgan

papka ichida mustaqil hech qanday Delphi ga bog’liqmas dastur fayli yaratiladi va

loyiha nomi *.exe kengaytmali fayl paydo bo’ladi. Undan tashqari shu papka

ichida (*.~pas, *.~dfm ) kengaytmali fayllar ham paydo bo’lishi mumkin. Bu

fayllar saqlashdan oldingi fayllar. (*.ddp, *.dcu, *.dof, *.res, *.cfg) kengaytmali

fayllar ham paydo bo’ladi.

Delphining ixtiyoriy loyihasi kamida oltita fayl yaratadi. Ulardan uchtasi

loyiha tomonidan yaratiladi va dasturchilar ularning tarkibini ko’pincha

o’zgartirmaydilar. Ular quyidagilar:

- Loyihaning bosh fayli, dastlab Project1.dpr deb nomlanadi.

- Dasturning dastlabki moduli/unit/, u ishning boshida avtomatik ravishda

yaratiladi. Fayl  Unit1.pas deb nomlanadi va uning nomini ixtiyoriy nom bilan

almashtirish mumkin. Masalan: Main.pas.

- Bosh forma fayli Unit1.dfm deb nomlanadi, u bosh formaning tashqi ko’rinishi

haqidagi ma’lumotlarni saqlaydi.

- Project1.res loyiha uchun belgini saqlaydi.

- Project1.opt fayli matnli fayl hisoblanib, siz kompilyatorda qo’llagan

o’rnatmalaringizni saqlaydi.

- Project1.dsk fayli ishchi soha holati haqidagi ma’lumotlarni saqlaydi.

Albatta loyiha nomini o’zgartiriganda RES, OPT va DSK kengaytmali

fayllarning nomlari ham o’zgaradi.

Dastur kompilyatsiyasidan keyin quyidagi kengaytmali fayllar hosil bo’ladi:

DCU – tayyor modullar. EXE – ishchi fayl.

DSM – dasturning muhitda ishga tushishi uchun xizmat qiluvchi fayl, uning hajmi

juda katta va ish yakunlangach uni o’chirish tavsiya qilinadi.

11

Page 12: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

~PA, ~DP - backup. – muharrirning vaqtinchalik fayllari.

Dastur matni faylining tuzilishi

Yangi loyiha yaratganingizdan keyin ekranda bo’sh forma hosil bo’ladi – bu esa

dasturingizni asosiy formasi hisoblanadi. Dastur matni muhariri oynasida

Unit1.pas fayli ochiladi. Modulingiz ichida formangizda nima ishlar bajarilishi

saqlanadi. Formangiz Form1 deb nomlanadi. Modulingiz ichida quyidagi dastur

matni bo’ladi:

unit Unit1; // Modulingizni nomi Unit1

interface { Modulingizni interfeys qismi (bu yerda boshqa modullardan chaqirilishi

mumkin bo’lgan qismi). }

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

{Modulingizni interfeys qismida standart modullarning bog’lanishi (chaqirilishi)

bajariladi.}

Undan so’ng formangiz tipi e’lon qilinadi. Loyihangiz yaratilishi vaqtida, Delphi

ning sinflari asosida yangi tip e’lon qilinadi va ko’rsatilgan sinfni barcha

imkoniyatlarini merosga oladi.

type

TForm1 = class(TForm)

private

{ Private declarations }

public

{ Public declarations }

end;

formaning boshqa modullardan chaqirilishi mumkin bo’lgan qismi public da e’lon

qilinadi private da esa chaqirilishi mumkin bo’lmagan qismi elon qilinadi.

var

Form1: TForm1;// Bundan keyin TForm1 tipiga tegishli o’zgaruvchi e’lon qilinadi.

12

Page 13: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Delphining barcha komponentalari, vizual komponentalar bibliotekasida saqlanadi

Visual Component Library (VCL). Har qanday komponent hatto forma ham,

o’ziga mos komponenta nomi oldiga T harfi qo’shiladi. Masalan: Forma, TForm

sinfini barcha imkoniyatlarini merosga oladi. Nishon (Metka, Label) komponenti –

TLabel sinfini va h.k.

implementation {Modulingizni asosiy dastur qismi va bu yerda boshqa

modullardan chaqirilishi mumkin bo’lmagan qismi.}

Bundan so’ng bitta kompilyator direktivasi mavjud {$R *.dfm}. bunda mos

ravishda bu modul bilan ishlaydigan forma ko’rsatilgan.

Forma va formada joylashgan barcha komponentalar, Delphi da *.dfm kengaytmali

faylda saqlanadi va bu fayllar matn fayli ko’rinishida bo’ladi.

Loyiha matni faylining tuzilishi.

Loyiha fayli, ayrim qo’shimcha imkoniyatlari ham mavjud bo’lgan Pascal tilidagi

matni ko’rinishidagi fayldir. Dasturingizni asosiy qismi shu faylda joylashgan.

Dasturingizni asosiy ishlarini (vazifalarini) Delphi da modullarga bajariladi, asosiy

faylda (loyiha faylida) emas. Loyiha faylini matn muhariri oynasida ochish uchun

Project\View_source buyrug’ini bering. Yangi loyiha faylini matni quyidagicha:

program Project1; // Programma nomi yoki loyihani nomi

uses

Forms // Loyihada standart modullarning bog’lanishi (chaqirilishi) bajariladi.

Unit1 in 'Unit1.pas' {Form1}; //Form1 ning modulini bog’lanishi.

Unit2 in 'Unit2.pas' {Form2}; //Form2 ning modulini bog’lanishi.

Bundan so’ng bitta kompilyator direktivasi mavjud {$R *.res}. Unda

loyihangizdagi resurslar fayli ko’rsatiladi. ( *.res kengaytmali fayl ).

begin { Loyihangizni asosiy qismi bo’lib bu yerda dasturni bajarilish ketma ketligi

beriladi. }

Application.Initialize; //Loyihagizni yaratilishini tashkil etadi

Application.CreateForm(TForm1, Form1); // Loyihangizda Form1 ni yaratilishi.

Application.CreateForm(TForm2, Form2); // Loyihangizda Form2 ni yaratilishi.

13

Page 14: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

qavs ichida formani nomi, uning tipi (sinf tipi) beriladi.

Loyihada bir nechta forma yaratish mumkin lekin birinchi bo’lib yaratilgan forma

asosiy forma hisoblanadi va u yopilganda loyihangiz yopiladi.

Application.Run; //Loyihaniishga tushirish va asosiy formani chiqishi.

end. // dasturingizni tugagan qismi.

Delphi da ixtiyoriy komponentalarida ko’rinishi jihatidan uchga bo’linadi.

1. Komponent konteyner – bunda bu komponent o’zi ichiga yana boshqa

komponentni olishi mumkin. ( Masalan: Form, Panel, GroupBox va h.k.).

2. Komponent vizual - bunda bu komponent o’zi ko’rinmaydi uni chaqirish orqali

ko’rish mumkin. (Masalan: Faylni ochish, saqlash yoki rang tanlash muloqot

oynasi komponentlari).

3. Komponenta - bu komponent oddiy komponenta.

Delphi da ixtiyoriy komponentalarda (ob’ektlarda) uch xil buyruqlar bo’ladi.

1. Xususiyat (Properties) – Bunda komponentalarni ko’rinishi xossalari kiradi.

(Masalan: Color, Width, Height, Caption va h.k.)

2. Hodisa (Events) – Bunda komponentalarni ustida sodir bo’ladigan jarayonlari

kiradi. (Masalan: OnClick, OnDblClick, OnKeyPress va h.k.)

3. Metod – Bunda komponent ustida bajariladigan amallar kiradi. (Masalan: Memo

komponentiga LoadFromFile metodi orqali biror faylni o`qilishi va h.k.)

Forma va uning xususiyatlari va holatlari (komponent konteyner)

Forma Delphining asosiy komponenti hisoblanadi va bunda loyihangizdagi

barcha bajarilishi kerak bo’lgan loyihalashtirish va dasturingizni bajarilishi kerak

bo’lgan ishlari bajariladi. Delphida 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, ya’ni uning ishini

tezlashtirishga yordam beradi. Bu formaning shaklini tanlash, unda kompanentalar-

ni joylashtirish bizning ixtiyorimizda bo’ladi. Formaga biror kompanentani

qo’ymoqchi bo’lsak, shu kompanentaning ustida sichqonchaning chap tugmasini

14

Page 15: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

ikki marta bosiladi va komponenta formaning o’rtasiga joylashadi yoki

komponent ustida sichqonchaning chap tugmasini bir marta bosib va formani

ixtiyoriy joyida sichqonchaning chap tugmasini bosib komponentni joylashtirish

mumkin. Biz uni xohlagan joyimizga surib ko’chirishimiz mumkin.

Forma komponentining quyidagi xususiyatlari va holatlari mavjud.1.1.1 – Jadval. Forma komponentining xususiyatlari

Xususiyati VazifasiAction Formangizni oynasi faol bo’lsa true qiymatiga ega bo’ladi.ActiveControl Formangizni oynasi birinchi marta faol bo’lganda formadagi

qaysi ob’ekt faol bo’lishini saqlaydi.BorderIcon biSystemMenu sarlavha satridagi barcha tugmalarni olib

tashlash false bo’lsabiMinimize sarlavha satridagi pastga olib qo’yish tugmasini qo’yish true bo’lsabiMaximize sarlavha satridagi kattalashtirish tugmasini qo’yish true bo’lsabiHelp sarlavha satridagi yordamni chaqirishni ishilatib bilish true bo’lsa agar yordam o’rnatilgan bo’lsa.BorderIcon ni qiymati [biSystemMenu, biMinimize, biMaximize, biHelp] bo’lishi mumkin.Formangizdagi sarlavha satrida chiqadigan tugmalarni bo’lish bo’lmasligi.

BorderStyle Formangizni chegarasini ko’rinishlaribsDialog -Formangiz muloqot oynasi ko’rinishidabsSingle -Formangiz chegarasi o’zgartirilmaydigan ko’rinishidabsNone -Formangiz chegarasi o’zgartirilmaydigan ko’rinishida va sarlavha satri ham yo’qbsSizeable -Formangiz chegarasi o’zgartiriladigan standart ko’rinishidabsToolWindow -bsSingle ko’rinishda sarlavha satri kichray-tirilgan va yopish tugmasi mavjudbsSizeToolWin, bsSizeable, bsSingle ko’rinishda sarlavha satri kichraytirilgan va yopish tugmasi mavjud

Align Komponentaning joylashishi. Ixtiyoriy komponent joylashish o’rni shu xususiyat orqali beriladi. Bu xususiyatga quyidagi qiymatlarini birini berishimiz mumkin:alNone – Joylashish o’rni yo’q. Qanday joylashtirilgan bo’lsa shundayligicha .alBottom – Pastki tomoniga joylashishi.

15

Page 16: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

alLeft - CHap tomoniga joylashishi.AlRight – O’ng tomoniga joylashishi.AlTop - Yuqori tomoniga joylashishi.Komponenta, joylashgan komponenta ichida joylashishi.

AlphaBlend Mantiqiy qiymat qabul qiladi. Agar true, chin qiymat qabul qilsa formangiz shafof ko’rinishida bo’ladi. SHafoflik darajasi AlphaBlendValue xususiyati orqali beriladi

AlphaBlendValue

0..255 orasidagi butun sonni qabul qiladi. Formangiz shafoflik darajasi beriladi. Agar 0 qiymat berilsa forma to’liq shafof ko’rinishida, 255 da esa forma shafofmas ko’rinishida bo’ladi.

AutoScroll Mantiqiy qiymat qabul qiladi. Formangiz avtomatik tarzda yurgizuvchi hosil bo’lishi yoki bo’lmasligini ta’minlaydi

AutoSize Mantiqiy qiymat qabul qiladi. Komponetangizni o’lchamini avtomatik tarzda ichidagi ma’lumotlarga ko’ra o’zgarishini ta’minlashi uchun foydaliniladigan xususiyat.

BorderWidth Formangizni chegarasini qalinligi (Piksellarda beriladi)Canvas Formada chizish maydoniClientRect Forma o’lchami (foydalanish maydonining)ClientWidth Forma kengligi (foydalanish maydonining)ClientHeight Forma balandligi (foydalanish maydonining)Width Forma kengligiHeight Forma balandligiConstraints Forma oynasini o’lchamini maksimal, minimal qiymati

saqlanadi.MaxHeight – oynani maksimal balandligi.MaxWidth – oynani maksimal uzunligi.MinHeight – oynani minimal balandligi.MinWidth – oynani minimal uzunligi.Agar buning qiymatlarini bersangiz forma oynasini minimal qiymatidan kichik va maksimal qiymatidan kattalashtirib bo’lmaydi.

Color Forma rangiCaption Formangizni sarlavha satrida yoziladigan matn (Forma yozuvi)Icon Formangizni sarlavha satridagi belgisiLeft Formangizni chap tomondan chegarasi (joylashish koordinasi)Top Formangizni yuqoridan tomondan chegarasi (joylashish

koordinasi)Font Formangiz va undagi komponentalarning yozuvi (shrifti)Visible True yoki False qiymat qabul qiladi. True bo’lsa forma

ko’rinadi va aksincha.Enabled True yoki False qiymat qabul qiladi. False bo’lsa forma va

uning komponentalari bilan ishlashga imkoniyat yo’q va

16

Page 17: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

aksinchaShowHint True yoki False qiymat qabul qiladi. Sichqoncha komponent

ustida kelganda izoh chiqish chiqmasligini boshqaradiHint CHiqadigan izoh satriMenu Formadagi asosiy menyuni ko’rsatish (mavjud bo’lsa)WindowState Birinchi ochilgandagi formani holati

(wsNormal, wsMinimized, wsMaximized Normal, Kichiklashgan,Kattalashagan)

FormStyle Forma stili (ko’rinishi).fsMDIForm, forma asosiy oyna bo’lib qolgan oynalar buning ichida joylashadigan ko’rinishda (ko’p oynali).fsMDIChild, forma asosiy oynaga tobe oyna bo’lib asosiy oyna ichida joylashadigan ko’rinishda (ko’p oynali).fsNormal, forma oddiy ko’rinishda (bir oynali).fsStayOnTop, forma hamma oynalardan yuqorida (oldinda) ko’rinishda (bir oynali).

KeyPreview Formada joylashgan ob’ektlardan oldin klaviatura tugmasini bosilganligi haqida malumot olishi uchun qiymati true aks holda false

Position Formangizni ochiliyotgan vaqtida ekranga joylashishishi.poDefault siz formangizni joylashtirgan joyida (Left, Top) chiqishi poScreenCenter formangizni ekran markazidan chiqishi

1.1.2 – Jadval. Forma komponentining holatlari.Holatlari VazifasiOnActivate Forma oynasi faol (aktiv) bo’lish jarayonida.OnDeActivate Forma oynasi faolligini (aktivligini) yo’qotganda.OnClose Forma oynasi yopilayotgandaOnCloseQuery Forma oynasi yopilguncha bajariladi. Forma oynasini yopilishi

uchun so’rov yuboriladi, shuning uchun bu holatdan forma oynasi yopilishini tasdiqlash mumkin.

OnCreate Forma yaratilayotgandaOnDestroy Forma oynasi (unichtojaetsya) yo’qotilayotgandaOnHide Forma oynasi ko’rinmas holatiga o’tayotganda

(formaning Visible xususiyat false bo’lganda)OnShow Forma oynasi ko’rinadigan holatiga o’tayotganda

(formaning Visible xususiyat true bo’lganda)OnClick Forma oynasida sichqoncha bir marta bosilgandaOnDblClick Forma oynasida sichqoncha ikki marta tez bosilgandaOnKeyDown Klaviatura tugmasi bosilganda, bajariladigan holatOnKeyUp Klaviatura tugmasini qo’yverganda, bajariladigan holatOnKeyPress Klaviatura tugmasini bosib va qo’yivergandan keyin,

17

Page 18: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

bajariladigan holatOnMouseDown

Sichqoncha tugmasi bosilganda, bajariladigan holat

OnMouseMove Sichqoncha tugmasi bu komponenta ustida harakatlanayotganda bajariladigan holat

OnMouseUp Sichqoncha tugmasi qo’yiverganda, bajariladigan holat1.1.2 – Jadval. Forma komponentining holatlari.

Ba’zi xususiyatlarni tanlaganda masalan, BorderStyle xususiyatning faol

qiymatining o’ng tomonida ochiladigan ro’yxat belgisi paydo bo’ladi. Ko’rinib

turibdiki bunday xususiyatning qiymatini ro’yxatdan tanlash yo’li bilan berish

mumkin.

1.1.5 – chizma. Formaning style xususiyatini qiymatlari

Ba’zi xususiyatlar murakkab hisoblanadi, ya’ni ularning qiymatlari boshqa

xususiyatlar qiymatlari yig’indisidan hosil bo’ladi. Murakkab xususiyatlar nomlari

oldida “+” belgisi turadi va u belgilanganda xususiyatni aniqlovchi ro’yxat hosil

bo’ladi. Masalan, BorderIcons xususiyati, dasturning ishlashi jarayonida oynani,

boshqarish tugmalarining qaysisi kerakligini aniqlaydi.

Quyidagi misolni ko`rib chiqamiz. Unda Esc tugmasi bosilganda yopilsin.

OnKeyPress, OnCreate holatlaridan va KeyPreview xususiyatidan foydalanamiz.

procedure TForm1.FormCreate(Sender: TObject);

begin Form1.KeyPreview := True; end;

//Forma yaratilganda joylashgan ob’ektlaridan oldin klaviatura tugmasini

//bosilganligi haqida malumot olishi uchun KeyPreview xususiyatini

//qiymatini true qilamiz.

procedure TForm1.FormKeyPress (Sender: TObject; var Key: Char);

begin if key = #27 then Close; end;

18

Page 19: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

//Formada Esc klaviatura tugmasi bosilganda formaning yopilishi.

1.2. Delphidagi asosiy komponentalar va ularning xususiyatlari, hodisalari.Matnni (namoyish etuvchi) chiqaruvchi komponentalar.

Bu kompanentalar ma’lumotlarni kiritish, saqlash, tahrir qilish va turli

xabarlar berish vositasi sifatida foydalaniladi.

TLabel (belgi) kompanentasi. (Standart komponentlar to’plamidan)

Belgi sizga mo’ljallashtirishda va bundan tashqari foydalanuvchiga o’z nomidan

tashqari axborot berishda hamda oyna va belgilarni tavsiflashda yordam beradi.

Yozuvlarni namoyish etish uchun ko’pincha metka (Label) komponentidan

foydalanamiz. Bu komponenta oddiy matnni ishlatadi va dasturni ishlash

jarayonida foydalanuvchi bu matnni o’zgartira olmaydi.

Label komponentini matnini Caption xususiyati orqali o’zgartiramiz va

komponenta, o’lchamini mos ravishda o’zgartirishi uchun uning AutoSize

xususiyatidan foydalanamiz. Uning tipi mantiqiy bo’lib, chin qiymat berishimiz

kerak. Label komponenti ichidagi matnni tekislash uchun Alignment xususiyatidan

foydalanamiz. U TAlignment tipli bo’lib quyidagi qiymatlardan birini olishi

mumkin:

- taLeftJustify – matnni chap tomonidan tekislash

- taCenter - matnni markazlashtirish

- taRightJustify – matnni o’ng tomonidan tekislash

Agar AutoSize xususiyatini qiymati chin (true) bo’lsa unda Alignment ta’sir

etmaydi (ishlamaydi). Matnni uzunligi bo’yicha sig’maydigan so’zlarni avtomatik

tarzda boshqa satrda o’tishi uchun WordWrap xususiyatidan foydalanamiz. Uning

tipi mantiqiy bo’lib, chin qiymat berishimiz kerak. Agar AutoSize xususiyatini

qiymati chin (true) bo’lsa unda WordWrap ta’sir etmaydi (ishlamaydi).

Rang bilan to’ldirilish rangini Color xususiyati orqali beramiz. Label rang

bilan to’ldirilgan yoki rangsiz bo’lishini Transparent xususiyati orqali aniqlanadi.

Uning tipi mantiqiy bo’lib, chin qiymat berishimiz kerak. Qachonki Label rasm

ustida o’rnatilgan bo’lsa u holda rangsiz bo’lishi kerak. Transparent xususiyatini

19

Page 20: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

qiymatini chin qilamiz. masalan rasm geografik karta bo’lsa. Komponentdagi

yozuvlarni shriftini Font xususiyati orqali o’zgartirish mumkin. Label matnni

chiqaruvchi komponenti bo’lib, matnini tahrirlab bo’lmasligi uchun uni statik matn

deb ham aytadilar.

Label ni Left va Top xususiyatlari orqali bu komponentani, komponent

konteynerdagi joylashgan o’rnini beramiz. Unda Left chap tomondan necha piksel

Top esa yuqoridan. Label o’zi aktiv (faol) bo’la olmaydi, lekin tugmalar

kombinatsiyasi yordamida uni tanlash orqali boshqa komponentaga faolligini

berishi mumkin. FocusControl xususiyati shu uchun ishlatiladi, uni tipi

TWinControl. Masalan Label1, Edit1 ni izohi sifatida ishlatsak u holda

Label1.FocusControl := Edit1 berish o’rinli.

FocusControl ni faqat tugmalar kombinatsiyasi orqali ishlatish mumkin.

Label1 ni sichqoncha orqali tanlanganda Edit1 komponenti faol (aktiv) bo’lishi

uchun Label1 ni OnClick holatiga quyidagini yozamiz:

procedure TForm1.Label1Click(Sender: TObject);

begin

if Edit1.CanFocus then Edit1.SetFocus;

end;

Bunda tekshiriliyapti agar Edit1 faol bo’lmasa u holda faol (aktiv) lashtir.

Statik matn nomli komponent ham mavjud (StaticText). Bu ikkita

komponentani ishlash vazifasi va maqsadi bir xildir. StaticText, TWinControl

sinfining merosxo’ri (vorisi) bo’lib, TWinControl sinfi asosida yaratilgan boshqa

oynali komponentalar bilan bog’lash mumkin. Undan tashqari StaticText o’zining

atrofida ramka (chiziq) chizishi mumkin buni BorderStyle xususiyati orqali

bajaramiz. Bu xususiyatni tipi TStaticBorderStyle uchta qiymatdan iborat:

- sbsNone – Ramka yo’q

- sbsSingle – Ramka chiziqli bor

- sbsSunken – Ramka chiziqsiz bor (ichkariga kirilgan ko’rinishda).

20

Page 21: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Matnini tahrirlab bo’lmaydigan komponentlar uchun Edit dan ham

foydalanish mumin. Agar uni ReadOnly xususiyatini qiymati true (chin) bo’lsa.

Masalan:

Edit1.ReadOnly := true;

Edit1.Color := clBtnFace;

Edit1.Ctl3D := false;

Edit1.BorderStyle := bsNone;

Edit1.Text := 'Matn! faqat ko`rish uchun';

Edit1 ni hozirgi holatida StaticText va Label dan farq qilmaydi, ko`rinishidan

tashqari.

Matnni kirituvchi komponentalar

Ma’lumotlarni kiritish va tahrirlash uchun Delphi da maxsus turli xil

komponentlar berilgan. Masalan Edit, MaskEdit, Memo, RichEdit. Bulardan

tashqari Delphi7 da yangi LabelEdit komponenti ham yaratilgan. Bu komponentlar

orqali nafaqat ma’lumotlar chiqarish, hatto foydalanuvchi bu ma’lumotlarni

o’zgartira olishi ham mumkin.

Bir satrda matnni kirituvchi komponentalar

Bir satrda matnni kirituvchi komponentalarda ma’lumotni bir satrda

chiqaradi va tahrirlashga ruxsat beradi. Delphida bir nechta shunday komponentlar

bor, bulardan ko’p foydalaniladiganlardan Edit komponentidir. Bu komponentga

ma’lumotlarni kiritish yoki undan foydalanish uchun Text xususiyatidan

foydalanamiz. Atrofidagi ramkalarni o’zgartirish, ranglash, shriftlarni sozlash

barcha komponentlar uchun bir xil. Satrda belgilarni registrini o’zgartirishi uchun

CharCase xususiyatidan foydalanamiz va uning tipi TEditCharCase bo’lib uchta

qiymatdan birini qabul qiladi:

- ecLowerCase – Belgilar kichik registrga o’tkaziladi (kichik harflarga).

- ecNormal – Belgilar registri o’zglartirilmaydi (kiritilgan belgi o’zligicha

qoladi).

21

Page 22: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

- ecUpperCase– Belgilar katta registrga o’tkaziladi (katta harflarga).

Edit ni parol kiritishda ham foydalanish mumkin. Unda PasswordChar

xususiyatidan foydalanamiz va uning tipi Char. Ma’lumot kiritish vaqtida,

kiritilayotgan belgi o’rnida bu xususiyatda berilgan belgi chiqaveradi. Masalan:

Edit1.PasswordChar:= ‘*’; Edit1.Text:=’Parol’;

Edit da ‘*****’ ko’rinishda chiqadi va uning Text xususiyatida ’Parol’ qiymati

turadi.

MaskEdit komponenti. Bu komponent ham Edit komponentiga o’xshaydi.

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. Edit komponentidan farqli MaskEdit

komponentida EditMask xususiyati mavjud. Bu xususiyat MaskEdit

komponentida ma’lumotlarni qanday ko’rinishda chiqishini ko’rsatadi. Quyidagi

jadvalda uning o’zgartirilgan xususiyatlari keltirilgan.

Xususiyati QiymatiFont 14 shrift va qalin yozuv tanlanganEditMask Date ( qanday bog’langani 1- rasmda keltirilgan)PasswordChar #0 (simvolning asl ko’rinishi)

* - simvolni * ko’rinishda chiqarishMax Length 10 - bu maydonga 10 tadan ortiq simvol kiritib

bo’lmaydi. Bu xususiyatdan kiritiladigan simvollarni cheklash uchun foydalaniladi.

1.2.1 – jadval maskedit komponentasini xususiyatlari qiymatini o`zgartirish

1.2.1-chizma. MaskEditning editmask xususiyatiga standart qiymatlar

22

Page 23: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Ko’p satrli matnni kirituvchi komponentalar

Memo komponenti sodda matn muhariri bo’lib, u ko’p satrli ma’lumotlarni

kiritish va chiqarish uchun ishlatiladi. Bu komponent mantlar ustida amallar

bajarish uchun ishlatiladi. Bu matn muhaririga Memo1.Lines[ ] xususiyati orqali

ma’lumotlarni olish yoki qo’shish mumkin. Lines.Count orqali Memo1

maydonidagi matnning satrlari soni olish mumkin.

PasswordChar xossasi. Ushbu xossa matnni kiritishdan himoya 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.

Name xossasi. Komponent nomi. Dasturda foydalaniladigan

komponentga kirish yo’li.

Text xossasi. Memo maydoniga kiritiladigan matn. Bir butun holda

namoyon bo’ladi.

Font xossasi. Kiritilgan matnni tasvirlash uchun ishlatiladigan shrift

RichEdit – komponenti sodda matn muhariri bo’lib, u ko’p satrli ma’lumotlarni

kiritish va chiqarish uchun ishlatiladi. Bu komponent ham Memo komponentiga

o’xshaydi faqat unga nisbatan imkoniyati yuqoriroq. Bu komponent Win32

komponentlar to’plamida joylashgan. Misol: Berilgan matndan berilgan so’zni

o’chirish dasturini qarab chiqamiz. Matn kiritish uchun Memo komponentidan,

so’z kiritish uchun Edit komponentidan, natijani chiqarish uchun yana Memo

23

Page 24: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

komponentidan, izohlar yozish uchun Label komponentidan va bajarish uchun

Button komponentidan foydalanamiz. Loyihani ko’rinishini quyidagicha

tayyorlaymiz. (1.2.2-chizma)

1.2.2-chizma. Berilgan matndan berilgan so’zni o’chirish dasturini oynasi.

Bajar tugmasiga quyidagi kodni kiritamiz. Dastur g’oyasi quyidagicha Memo1

ning har bir satrdan berilgan so’zni o’chirib Memo2 ni satrlariga qo’shib

boraveramiz to Memo1 ni oxirgi satriga kelguncha.

procedure TForm1.Button1Click(Sender: TObject);var i:integer; s,s1:string;begin s1:=Edit1.Text; { s1 o’zgaruvchiga kiritilgan so’zni olish }for i:=0 to Memo1.Lines.Count do begin {i ni qiymatini satrlar oxirigacha}s:= Memo1.Lines[i]; {s ga i- satrni olish }while pos(s1,s)>0 do {satrda so’z borligini tekshirish}begindelete(s,pos(s1,s),length(s1)); { satrdan so’zni o’chirish } end;Memo2.Lines.Add(s); {o’chirilgan satrni memo2 ga qo’shish} end; end;

Dasturni bajarish uchun F9 tugmasini bosamiz va ma’lumotlarni kiritib tekshirib

ko’ramiz. (1.2.3-chizma)

24

Page 25: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

1.2.3-chizma. Berilgan matndan berilgan so’zni o’chirish dasturining natijasi.

Tugma komponentlari va ularning turlari.

Delphi dasturida Button, BitBtn va SpeedButton tugma komponentlari

mavjud ularni joylashgan o’rni quyidagicha. Button Standart komponentalar

palitrasiga, BitBtn va SpeedButton Additional komponentalar palitrasiga

joylashgan. Delphi da bu komponentlardan sichqoncha tugmasini bu komponentlar

ustida bir marta yoki ikki marta bosganda yoki boshqa xil holatlarda qandaydir

amallar bajarishda foydalaniladi.

Button komponentining ba’zi bir xususiyatlari va holatlari to’g’risida

ma’lumotlar beramiz. Button komponentining xususiyatlari quyidagicha: 1.2.2 – jadval Button komponentasini xususiyatlari

Xususiyatlari Vazifasi

Caption Komponentdagi matnni o’zgartirish

Cursor Sichqonchani bu komponent ustida kelganda ko’rinishini

o’zgartirish

Font Komponentdagi matnni shriftini o’zgartirish

Hint Sichqonchani bu komponent ustida kelganda chiqadigan izoh

matni

ShowHint Izoh matnini ko’rinishi yoki ko’rinmasligi

1.2.3 – jadval Button komponentasini holatlari

25

Page 26: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Holatlari Vazifasi

OnClick Button komponentida sichqoncha bir marta bosilganda

OnDblClick Button komponentida sichqoncha ikki marta tez bosilganda

OnKeyDown Klaviatura tugmasi bosilganda, bajariladigan holat

OnKeyUp Klaviatura tugmasini qo’yverganda, bajariladigan holat

OnKeyPress Klaviatura tugmasini bosib va qo’yivergandan keyin,

bajariladigan holat

OnMouseDow

n

Sichqoncha tugmasi bosilganda, bajariladigan holat

OnMouseMove Sichqoncha tugmasi bu komponenta ustida harakatlanayotganda

bajariladigan holat

OnMouseUp Sichqoncha tugmasi qo’yiverganda, bajariladigan holat

BitBtn komponentining xususiyatlari ham Button komponentining

xususiyatlariga o’xshaydi. Button komponentida mavjud bo’lmagan ba’zi bir

xususiyatlarini keltiramiz.1.2.4 – jadval Bitbtn komponentasini xususiyatlari

Xususiyatlari Vazifasi

Glyph Komponentda *.bmp kengaytmali rasmni qo’yish. (1-rasm)

Kind Matn bilan birga turli xil belgilarni qo’yish

Layout Belgilarni matnning turli tomonlardan qo’yish

Komponentda *.bmp kengaytmali rasmni qo’yish uchun komponentning

Glyph xususiyatini tanlaymiz va quyidagi oyna chiqadi. (1.2.4-chizma)

26

Page 27: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

1.2.4-chizma. Bitbtn komponentasining Glyph xususiyatiga rasm joylashtirish

Bu yerdan Load… - tugmasi orqali birorta *.bmp kengaytmali rasmni

chaqiramiz va Ok - tugmasi orqali bu rasmni komponentda joylashtiramiz.

1.2.5-chizma. Bitbtn ga rasmni joylashtirish.

SpeedButton komponentining xususiyatlari ham Button va BitBtn

komponentlarining xususiyatlariga o’xshaydi. Bu komponentlarda mavjud

bo’lmagan ba’zi bir xususiyatlarini keltiramiz.1.2.5 – jadval SpeedButton komponentasini xususiyatlari

Xususiyatlari Vazifasi

Flat Komponent rangini forma rangi bilan bir xil qilish

GroupIndex Bir guruh tugmaga bitta tugmani bosilib qolishi

Down Tugmani bosilgan holatimi yo`qmi

SpeedButton komponentining Glyph xususiyati orqali rasm qo’yish,

Caption xususiyatida SpeedButton1 matni berish, Font xususiyati orqali shrifti

o’zgartirish, Flat xususiyatida true qiymat berish orqali rangsizlantirish va Layout

27

Page 28: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

xususiyatida rasm matning o’ng tomonida chiqishi ko’rsatishimiz mumkin. Misol:

berilgan matnni tugma bosilganda oxirgi belgisini o’chirish dasturini qarab

chiqamiz. Dasturni ko’rinishini quyidagicha tayyorlaymiz. (1.2.6-chizma)

1.2.6-chizma. Berilgan matnni oxirgi belgisini o’chirish dasturi.

Dastur ko’rinishini tayyorlashda bitta Label bitta Edit va bitta SpeedButton

komponentlaridan foydalanilgan. Matn kirit yozuvi Label da, kiritish maydoni

Edit da, o’chirish tugmasi SpeedButton komponentida. O’chirish tugmasi

SpeedButton komponentining OnClick holatiga quyidagi kodni kiritamiz.

procedure TForm1.SpeedButton1Click(Sender: TObject);

var s:string;begin s:=Edit1.Text;delete(s,length(s),1);Edit1.Text:=s;end;

StringGrid komponentidan foydalanish.

Massivni kiritishda StringGrid komponentidan foydalanish qulay. StringGrid

komponenti Additional ichida joylashgan bo’ladi .

StringGrid komponenti o’zida jadvalni namoyon qilib jadvalning elementlari

yacheykalarda joylashgan bo’ladi. Quyidagi jadvalda StringGrid komponentining

bir necha xususiyatlari sanab o’tilgan. 1.2.6. jadval. StringGrid komponentining xususiyatlari

Xususiyati Ma’nosi

Name Programmada foydalaniladigan komponent nomiColCount Jadvaldagi ustunlar soni

RowCount Jadvaldagi satrlar soni

Cells[i,j] Jadval elementi

28

Page 29: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

FixedCols Jadvalning chap tomonidagi fiksirlangan ustunlar soni. Fiksirlangan qism alohida rang bilan ajratiladi va gorizontal ajratuvchidan so’ng jadval o’z o’rnida qoladi.

FixedRows Jadvalning yuqori qismidagi fiksirlangan satrlar soni. Fiksirlangan satr alohida rang bilan ajratiladi va vertikal ajratilgandan so’ng jadval o’z o’rnida qoladi.

Options.goEditing Jadval yacheykalari ichida tahrirlashga ruxsat beruvchi belgi. true – tahrirlashga ruxsat beradi, false- tahrirlashni bekor qiladi.

Options.goTab Jadvalning keyingi yacheykasiga o’tishda kursor joyini o’zgartirish uchun Tab tugmasidan foydalanishga ruxsat beradi (true) yoki bekor qiladi(false)

Options.GoAlways-ShowEditor

Komponentda tahrirlash rejimini o’rnatish belgisi. Agar bu xususiyat qiymati false bo’lsa u holda yacheykada kursor paydo bo’ladi. Uni tanlash uchun F2 tugmasi bosish lozim yoki sichqonchani chertish lozim

DefaultColWidth Jadvaldagi ustunning kengligi

DefaultRowHeight Jadvaldagi satrning balandligiGridLineWidth CHiziqning kengligi,jadval yacheykalarning uzviyligiLeft Jadval maydonining chap chegarasidan to formaning

chap chegarasigacha bo’lgan masofa.Top Jadval maydoning yuqori chegarasidan to formaning

yuqori chegarasigacha bo’lgan masofaHeight Jadval maydoning balandligi

Width jadval maydoning kengligiFont Jadval yacheykalari ichida tasvirlash uchun ishlatiladigan

shriftParentFont formaning xarakteristik shriftidan meros oluvchi

Misol sifatida StringGrid komponentidan foydalanib massiv elementlarining

o’rta arifmetik qiymatini hisoblovchi dasturni ko’rib o’tamiz (1.2.7-chizma).

Dastur oynasida massivni kiritish uchun StringGrid komponentidan, hisoblash

natijalarini tushuntirish uchun va natijani chiqarish uchun Label1 va Label2

komponentlaridan, hisoblash jarayonini chiqarish uchun Button1 komponentidan

foydalanilgan.

29

Page 30: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

1.2.7 – chizma. Massiv elementlarining o’rta arifmetigini hisoblash.

1.2.7 – jadval. Misolda StringGrid komponentining xususiyati.Xususiyat QiymatiColCount 5

FixedCols 0RowCount 1DefaultRowHeight 24Height 33DefaultColWidth 64Width 345Options . goEditing True

GridLineWidth 4

Options .goTabs TrueFont 16 shrift, qalin yozuvda

Yuqoridagi misolning dasturi quyidagicha:

procedure TForm1.Button1Click(Sender: TObject);var i:integer; s,k:real;begin s:=0; for i:=0 to 4 do s:=s+strtofloat(StringGrid1.Cells[i,0]);k:=s/5;Label2.Caption:=Label2.Caption+floattostr(k)+' ga teng';end;F9 tugmasini bosib, massivga qiymat kiritib bajarib ko’ramiz. (1.2.8-chizma)

30

Page 31: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

1.2.8-chizma. Massiv elementlarining o’rta arifmetigini hisoblash natijasi.

Ma’lumotlarni ro’yxat ko’rinishda chiqaruvchi komponentlar.

Delphi dasturida ma’lumotlarni ro’yxat ko’rinishda chiqaruvchi

komponentlardan faqat ma’lumotlarni chiqarish uchun foydalanish mumkin. Bu

komponentlar ma’lumotlarni xotiraga saqlash imkoniyatiga ega emas. Agar

ro’yxatdagi ma’lumotlarni xotiraga saqlamoqchi bo’lsak albatta fayl

o’zgaruvchilardan foydalanish mumkin. Bu komponentlardan qaerda, nima

maqsadda foydalanish mumkin misollar yordamida qarab chiqamiz.

ListBox – komponenti. Bu komponent Standart komponentlar to’plamida

joylashgan. Bu komponentdan ma’lumotlarni ro’yxat ko’rinishida chiqarish uchun

foydalanish mumkin. Bu komponentda ro’yxatning barcha elementlari ko’rinib

turadi, bu elementlardan ixtiyoriy bittasini tanlash imkoniyatiga ega bo’lamiz. 1.2.8 – jadval. ListBox ning xususiyatlari

Xususiyat Ma’nosiColor Komponent rangiColumns Ro’yxatni nechta ustun buyicha chiqarilishi kiritiladiFont Ro’yxatdagi ma’lumotlar shriftiItems Ro’yxatga ma’lumotlar kiritish va undan foydalanishMultiSelect Ro’yxatdan bir nechta elementni tanlashSorted Ro’yxatga ma’lumotlarni saralab joylashtirishMisol: Ro’yxatdan element tanlanganda uni Edit komponentiga chiqarsin.

Masalani bajarish uchun formaga ma’lumotlarni tanlash uchun Listbox1

komponentidan, natijani chiqarish uchun Edit komponentidan va izohlar uchun

31

Page 32: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Label komponentlaridan foydalanamiz. Listbox1 komponentining Items

xususiyatiga quyidagi ma’lumotlarni kiritamiz: Oq, Qora , Sariq, Qizil, Yashil.

Listbox1 komponentining Onclick holatiga quyidagi kodni kiritamiz.

procedure TForm1.ListBox1Click(Sender: TObject);

begin

Edit1.Text:=ListBox1.Items.Strings[ListBox1.itemindex];

end;

1.2.9 - chizma. ListBox ga dastur misoli.

ComboBox komponenti. Bu komponent ham Standart komponentlar to’plamida

joylashgan. Bu komponentda ma’lumotlar, ochiluvchi ro’yxat ko’rinishida turadi.

Listbox komponentidan farqi bu komponentda ro’yxatning faqat bitta elementi

ko’rinib turadi. Joyni tejash maqsadida bu komponentdan foydalangan ma’qul. 1.2.9 – jadval. ComboBox ning xususiyatlari

Xususiyat Ma’nosiColor Komponent rangiFont Ro’yxatdagi ma’lumotlar shriftiItems Ro’yxatga ma’lumotlar kiritish va undan foydalanishItemIndex Ro’yxatga chiqadigan element indeksi, agar -1 bo’lsa bo’sh turadiText ItemIndex=-1 bo’lsa Text da kiritilgan ma’lumot chiqadiSorted Ro’yxatga ma’lumotlarni saralab joylashtirish

Misol: Ro’yxatdan tanlangan rang bo’yicha forma rangi o’zgarsin. Masalani

bajarishda, formaga ranglarni tanlash uchun Combobox1 komponentidan va

izohlar uchun Label komponentlaridan foydalanamiz. Combobox1 komponenti-

ning Items xususiyatiga quyidagi ma’lumotlarni kiritamiz: Oq, Qora, Sariq, Qizil,

Yashil. Combobox1 komponentining Onclick holatiga quyidagi kodni kiritamiz:

procedure TForm1.ComboBox1Change(Sender: TObject);

32

Page 33: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

var s:string;begin s:=ComboBox1.Items.Strings[ComboBox1.itemindex]; if s='Oq' then Form1.Color:= clWindow; if s='Sariq' then Form1.Color:= clYellow;if s='Qora' then Form1.Color:= clBlack;if s='Qizil' then Form1.Color:= clRed;if s='Yashil' then Form1.Color:= clLime;end;

1.2.10 - chizma. ComboBox ga dastur misoli.

TreeView komponenti. Bu komponent Win32 komponentlar to’plamida

joylashgan. Bu komponent ro’yxatdagi ma’lumotlarni daraxtsimon shaklda

tasvirlaydi. 1.2.10 – jadval. TreeView ning xususiyatlari

Xususiyat Ma’nosiColor Komponent rangiFont Ro’yxatdagi ma’lumotlar shriftiImages Rasmlar ro’yxatini bog’lashItems Ro’yxatga ma’lumotlar kiritish va undan foydalanishMultiSelect Ro’yxatdan bir nechta elementni tanlashSortType Ro’yxatga ma’lumotlarni saralash usuli

1.2.11 - chizma. TreeView ning ko`rinishiga misol.

33

Page 34: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

ListView komponenti. Bu komponent Win32 komponentlar to’plamida

joylashgan. Bu komponent ro’yxatdagi ma’lumotlarni turli xil ko’rinishlarda

chiqarish uchun ishlatiladi.1.2.11 – jadval. ListView ning xususiyatlari

Xususiyat Ma’nosiColor Komponent rangiColumns Bu xususiyat orqali ustunlarga ajratish, ustun sarlovhalari

kiritiladi, ustun kengligi kiritiladi.Font Ro’yxatdagi ma’lumotlar shriftiItems Ro’yxatga ma’lumotlar kiritish va undan foydalanishGridLines Jadvaldagi chiziqlar ko’rinishi yoki ko’rinmasligiMultiSelect Ro’yxatdan bir nechta elementni tanlashSortType Ro’yxatga ma’lumotlarni saralash usuliViewStyle Jadval ko’rinishi

Belgilanuvchi va bezashda ishlatiladigan komponentlar.

Delphi dasturida bir qancha komponentlarni qarab chiqdik. Lekin shunday

masalalar borki biz bir nechta holatlardan bittasini yoki bir nechta holatlardan bir

nechtasini tanlashimizga to’g’ri keladi. Bunday hollarda albatta belgilanuvchi

komponetlardan foydalanishga to’g’ri keladi. Delphi dasturida bunday

komponentlar yaratilgan bo’lib, ulardan qanday foydalanish to’g’risida

ma’lumotlar keltiramiz.

CheckBox (belgilash tugmasi) kompanentasi chap tomonida kichkina

darchasi bo’lgan matn satrini akslantiradi. Darchaga uning belgilanganligini

bildiruvchi belgi quyish mumkin. Bu komponent Standart komponentlar

to’plamida joylashgan. Ushbu tugma odatda dasturda «ha» yoki «yo’q» javobini

olish kerak bo’lgan vaziyatlarda foydalaniladi. Demak bu komponentning qiymati

mantiqiy qiymatga ega. Bu komponentdan dasturda bir nechta holatlardan bir

nechtasini tanlash uchun foydalanish mumkin.

RadioButton (belgilash tugmasi) kompanentasi. Bu komponent Standart

komponentlar to’plamida joylashgan. Bu komponent ham CheckBox

kompanentasiga o’xshaydi. Ushbu komponentning qiymati ham mantiqiy

qiymatga ega. Lekin bu komponentda bir nechta holatlardan birini tanlash

34

Page 35: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

imkonini beradi. Demak bu komponentlarning bir biridan farqi CheckBox da bir

nechta holatlarni tanlash mumkin, RadioButton da esa faqat bitta holatni tanlash

mumkin. Bu komponentlarni asosiy xususiyatlarini keltiramiz.1.2.12 – jadval. RadioButton ning xususiyatlari

Xususiyati Ma’nosiCaption Belgilash tugmasidagi yozuv matniChecked Komponent belgilanganligi. Qiymati mantiqiy

Color Komponent rangiFont Matn shriftiHint Izoh matniName Komponent nomiShowHint Izohni chiqish yoki chiqmasligi

CheckListBox komponenti. Bu komponent CheckBox komponentlarini

ro’yxat ko’rinishda ifodalaydi. Bu komponent Additional komponentlar to’plamida

joylashgan. CheckListBox komponenti ro’yxatidagi elementlarni uning Items

xususiyati orqali hosil qilamiz.

RadioGroup komponenti. Bu komponent RadioButton komponentlarini

gruhlashtirilgan ro’yxatini ifodalaydi. Bu komponent Standart komponentlar

to’plamida joylashgan. RadioGroup komponenti ro’yxatidagi elementlarini uning

Items xususiyati orqali hosil qilamiz. Elementlarni Columns xususiyati orqali bir

nechta ustunlarda chiqarish mumkin. Caption xususiyati orqali sarlavha matni

kiritiladi.

GroupBox guruhlashgan ramka komponentasi. Bu komponent Standart

komponentlar to’plamida joylashgan. Bu komponent, komponent konteyner bo’lib,

uning ichida bir nechta komponentni joylashtirish mumkin. Guruhlashgan ramka

faqatgina bir toifadagi komponentalardan tashkil topgan bo’lishi shart emas.

ScrollBox formada ekranga sig’maydigan ob’ektlarni ko’rsatish imkonini

beruvchi komponent. Bu komponent Additional komponentlar to’plamida

joylashgan. Bu komponent ham komponent konteyner bo’lib, uning ichida bir

nechta komponentni joylashtirish mumkin.

35

Page 36: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Panel - Bu komponent Standart komponentlar to’plamida joylashgan. Bu

komponent ham komponent konteyner bo’lib, uning ichida bir nechta

komponentni joylashtirish mumkin. Dasturni bezashda qismlarga ajratishda juda

qulay. Bundan tashqari multimedia vositalarida ekran vazifasida ham ishlatish

mumkin.

Shape - Bu komponent Additional komponentlar to’plamida joylashgan.

Formada oddiy geometrik figura (aylana, kvadrat ...) larni namoyish qiladi.

Dasturni bezashda qo’l keladi.

TBevel - Bu komponent Additional komponentlar to’plamida joylashgan.

Interfeysni relefli bezash uchun xizmat qiladi.

1.3. Delphi muhiti orqali OFFICE bilan ishlashMS Office ning obyektli modeli

Agar murakkab masalani yechmoqchi bo`lsak, biz odatda o`ylaymiz, nima

bilan boshlanishni va qay tarzda buning yechimiga kelishimizni, kuchimizni

saqlagan holda va qanday vaqtni to`gri taqsimlashni. Agar bizlarga

avtomatizatsiyalash masalasi qo`yilgan bo`lsa va uning hisobotlari Ms Word yoki

Ms Excel formatidagi hujjatlari chiqarish kerak bo`lsa, ishni nimadan boshlashni

o`ylashimiz zarur bo`ladi.

Ms Word matn protsessori va Ms Excel jadval muhariri Ms Office ichiga

kiradi va COM – obyekti hisoblanadi. Ixtiyoriy Windows operatsion tizimiga

yozilgan dasturiy vosita bu obyektlarni boshqara oladi, agar COM interfeysini

qo`llab quvatlasa. Maxsus adabiyotlarda bu mexanizmning ishlash prinsiplari

yozilgan. Bizlar Word, Excel obyektlari va ularning hujjatlari bilan ishlaymiz. Bu

dasturiy vositalarning hujjatlari ham obyektdir.

Ms Office obyektli modelning tuzilmasidan ishni boshlashimiz kerak bo`ladi.

Bu tuzilmani bilishimiz bizga dasturlash muhiti orqali Ms Office ni obyektlari

hujjatlarini avtomatizatsiyalashga qo`l keladi. Endi Ms Office obyektli modelining

tuzilmasini ko`rib chiqamiz.

36

Page 37: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

1.3.1 – chizma. Ms Wordning obyektli modeli.

MS Wordning obyektli modeli

1.3.1 – cizmada ko`rsatilganidek MS Word obyekt modelining tuzilmasi

daraxt ko`rinishida bo`lib, Application obyekti uning eng yuqorisidadir. Obyekt

modelida kiruvchi (Collection) kollektsiyalar, bir tipli ro`yxatdan iborat bo`lib

unga murojaat indeksi bo`yicha amalgam oshadi. Alohida obyektlarning o`zi ham

kolektsiyalardan tashkil etilgan bo`lishi mumkin, bu obyektlar o`z navbatida

obyektlar. Biror obyekt yoki kolektsiyaning elementiga faqat Application obyekti

orqali murojaat qilish mumkin. 1.3.1 – chizmada, obyektli modelning

umumlashgan shakli keltirilgan. Bu modelning ba`zi qismlarini ajratilgan holda

batafsil o`rganishimiz mumkin, masalan, Documents kolektsiya elementi –

Document (hujjat) obyektini. 1.3.2 – chizmada Document obyektining tuzilmasi

keltirilgan bo`lib, uning har bir elementi va ular orasidagi bog`lanishlar keltirilgan.

37

Page 38: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

1.3.2 – chizma. Ms Word hujjatining obyektli modeli.

Document obyektining tarkibiga unu to`liq tasvirlanishini va hujjatni

qismlarini o'z ichiga oladi. Masalan, biror kollektsiyaning xususiyatlari, hujjat

foydalanuvchisining xususiyatlari (nomi, mavzusi, avtori va h.k). Bu hujjatga

tegishli bo`lib lekin namoyish etmaydi. Jadval kollektsiyasi – hujjatni tashkil

etuvchi qismi bo`lib sahifaga namoyish etadigan elementdir. Kolektsiya

elementining obyekti o'z navbatida kollektsiya ham bo`lishi mumkin. Masalan, har

bir jadval elementi satr va ustunlar kollektsiyasidan va yacheyka tipli lementdan

iboratdir. Kollektsiyalar nafaqat bir tipli elementlardan tashkil etilgan bo`ladi,

balki har bir elementi biri – birida farqli bo`lishi ham mumkin. Forma kollektsiyasi

(Shapes) ning elementlari yaratilish va joylashish bo`yicha bir tipli bo`lishi

mumkin, tuzilishi jihatdan har xil.

Shapes kollektsiya elementi tuzilishi jihatidan, yozuv (Textbox), tashqi obyekt

(OLEObject), chiziq (line), siniq chiziq (Ployline) va boshqa tipdagi obyektlarni

olishi mumkin. Hujjatning asosiy obyekti bu albatta matndir. Matnga murojaat

qilish uchun Words kollektsiyasi yoki Range obyektidan foydalanishimiz mumkin.

38

Page 39: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Words kollektsiya elementlarining obyektlari matnda so`zni namoyish etish va

uning xarakteristikaslarini saqlaydi. Range obyekti matnni yoki matnning bir

qismini bilan ishlash uchun imkoniyat beradi. Albatta, 1.3.2 – chizmadagi

hujjatning obyektli modeli uni butunlay tasvir eta olmaydi. Boshqarish obyektlari

modelini, “shrift” obyekti va sahifa parametrlarini tasvir etuvchi obyektlarni ko’rib

chiqish ham foydali bo’ladi. 1.3.3 – chizmada Ms Word boshqaruv elementlarining

obyektli modelini umumiy tuzilmasini ko’rinishi ko’rsatilgan.

1.3.3 – chizma. MsWord boshqaruv elementining obyektli modeli

1.3.3 - chizmada ko’rsatilganidek, MS Wordning boshqaruv elementlari bitta

kolleksiyaga yig’ilgan, daraxtsimon tuzilmasi keltirilgan, har bir tugun obyekt yoki

ichki kollektsiyadan tashkil etilgan. Bu tuzilmaga sozlash va qo`shimcha qo`shish

mumkin. Foydalanuvchi va dasturchi, ixtiyoriy uskuna orqali, bu tuzilmaning

tuguniga obyektni o`chirishi, qo`shish, o`zgartirish yoki faollashtirishi mumkin.

Boshqaruv elementlarini faollashtirish bo`yicha mos ravishda metodlari bajariladi.

Ms Word obyektli modelining asosini ko`rib chiqdik, bu bizning loyihalar

yaratishimizda yordam berishi mumkin.

MS Excelning obyektli modeli

MS Excelning obyektli modeli umumiy qoidalariga ko’ra MS Word bilan

aynan o’hshashdir. Bu model ierarxiv strukturaga ham ega bo’lib, ildizida

39

Page 40: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Application (Excel.Application) obyekti turadi va u orqali MS Excel ilovalarining

har qanday ichki obyektidan, kolleksiyalardan yoki ochiq ish kitobi

komponentlaridan foydalanish ta’minlanadi. MS Excel obyektli modelining

tuzilmasi umumiy ko’rinishi 1.3.4 - chizmada ko’rsatilgan.

1.3.4 – chizma. Ms Excelning obyektli modeli.

Aytib o’tilganidek, MS Excel obyektli modelining cho’qqisi Application

obyekti bo’lib, o’ziga bevosita Selection – joriy belgilangan obyekt, WorkBooks –

ochiq ish kitoblari kolleksiyasi, har xil boshqaruv elementlari kolleksiyasi,

muloqot oynalar va boshqa MS Excel ilovalarining xususiyatlarini, obyektlar va

kollektsiyalarni o’z ichiga oladi oladi. Selection obyekti, joriy belgilangan obyekt

xususiyatlariga ega, shuning uchun bu yerda shu obyektning model tuzilmasini

ko’rib o’tishda ma’no yo’q. Agar yacheyka belgilangan bo’lsa,

Selection=Yacheyka, agar diagramma bo’lsa, unda Selection=Diagramma. Agar

yacheykalar sohasi tanlangan bo’lsa, Selection=ustunlar va satrlar kolleksiyasi. Ish

kitoblari kolleksiyasi ochiq ish kitoblari bo’lib, indeks bo’yicha foydalaniladi. Bu

kolleksiyaning har bir elementi “ish kitobi” dir. Ilovani boshqarish uchun

mo’ljallangan boshqarish panelida, menyu, tugmalar, dialoglar va boshqa

40

Page 41: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

obyektlar mos boshqarish elementlari kolleksiyasiga yig’ilgan. “Ish kitobi” ning

eng asosiy elementi bu ish varoqlari kolleksiyasidir. Alohida bir ish varog’i

kolleksiya elementi hisoblanadi va u oddiy varoq (jadvallar ko’rinishida) yoki

diagrammalar ko’rinishida bo’lishi mumkin. Oxirgi ko`rgan holatimizda,

diagrammalardan boshqa obyektni saqlay olmaydi. Jadvallar ko`rinishidagi

variantni 1.3.5 – chizmada ko`ramiz.

1.3.5 – chizma. Ish kitobi varig`ining obyektli modeli.

Ish varog`i bilan ishlashning asosida yacheyka obyekti hisoblanadi. Yachey-

kani obyekt sifatida qaraganda, o`zi ham bir qator xususiyat va obyektlarni o`z

ichiga oladi. Bulardan zaruriy va ko`p ishlatiladiganlari: matn, shrift, matn stili,

chegaralar, rang to`ldirishlardir. Bu xususiyatlarga murojaat qila olishimiz,

qiymatinit o`zgartirishimiz uchun, yacheykaga ham murojaat qilib bilishimiz

kerak. Range sohasi yacheykalari, Birlashgan yacheykalarday foydalaniladi.

Yacheylalar sohasining xususiyatlari, yacheyka xususiyatlari bilan ustma – ust

tushadi, lekin ularning sohasini o`lchami va koordinatalari farqlidir. Yacheykalar

satr va ustunlarning birlashmasidan iborat. Birlashgan satr va ustunlar kolleksiya

ko`rinishida bo`lib, sonlar indeksi yoki ustunlar harfiy belgilari bilan boshqariladi.

Ishchi varoqida tashqi obyektlar joylashtirishimiz mumkin. Tashqi OLE obyektlar

41

Page 42: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

kollektsiyasi sifatida quyidagi obyektlarni joylashtiramiz. Bular: rasmlar, word

hujjatlari qismlari, ovozlar video yozuvlari va boshqa obyektlar, Tizimda OLE

server sifatida ro`yxatdan o`tgan dasturlar ularni ustida amallar bajara oladi.

Bunday obyektlarni OLEObjects kolleksiyasi elementlari bilan foydalanish

mumkin. Ularning xossalaridan faqatgina OLE serverlari yordamida foydalanish

mumkin. Excel dasturi ko`plab grafik obyektlar to`plamiga ega bo`lib, ularni ish

varog`iga joylashtira olamiz. Rasmlar geometrik shakllar, diagrammalar ko`pincha

kolleksiyaga birlashtirilgan va undan foydalanishimiz mumkin. Masalan:

ChartObjects diagrammalar to`plami kolleksiyasi ishchi varoqda yoki alohida

varoqda joylashshishi mumkin. Har bir dagramma, o`z o`rnida obyektlar va

kolleksiyalar to`plamini o`z ichiga oladi.

1.3.6 – chizma. a) Excelda izlashning obyektli modeli. b) Wordda izlash.

MS Office dasturlashtirishdagi universalligiga va ko`plab imkoniyatlariga

egaligiga ishonch hosil qilishingiz uchun Wordga hamda Excelda ishlovchi yana

bir obyektlar kolleksiyasini ko`rib chiqamiz. Bu muloqot oynasi kolleksiyasi

bo`lib, uni ochish uchun foydalanuvchi menyu buyrug`ini tanlasa yetarli. U

Application obyektiga tegishli. Obyektli modelda hamma dialoglar Dialogs

kolleksiyasiga tegishli va sonli indekslar yordamida ulardan foydalanishimiz

mumkin. Show metodi parametrlari orqali dialogga parametrlarni yuborish va

ularni bajarish - bu excel dasturidagi dialoglar modeli. (1.3.6, a-chizma), word

42

Page 43: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

dasturlari uchun model farq qiladi. Farq shundaki, Worddagi dialog parametrlari

kolleksiya obyekti- elementlari orqali yuboriladi (1.3.6, b-chizma).

Item() obyektida tipik xususiyat va metodlardan tashqari o`ziga xos

xususiyatlari va metodlari mavjud. Masalan: “найти и заменит” dialogida find

xususiyati mavjud, u dialog ish boshlanmasidan oldin qidiruvch matnini aniqlaydi.

Excelda Dialogs kolleksiyasi obyekti Word dialoglaridan farq qiladi. Quyida faqat

Excel obyektli modelini ko`rib chiqamiz (1.3.7-chizma) .

1.3.7 – chizma. Excelning dialog kollektsiyasi obyektli modeli.

Bu rasmda dialog kolleksiyasining oz qismi keltirilgan bo`lib, dasturchi va

foydalanuvchilar ko`p ishlatadigan dialoglari ko`rsatilgan. Odatda dialogga

qiymatlar beriladi va foydalanuvchi ish harakatiga qarab “True” yoki “False”

qiymati qaytariladi.

Xulosa qilib aytganda MS Office tarkibidagi dasturlar, masalan, Word va

Excel, bir-biriga bog`liq obyekt va obyektlar kolleksiyasi ko`rinishidadir. O`z

43

Page 44: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

o`rnida obyektlar va obyektlar kolleksiyalari ham (Parent) xo`jayiniga ega va unda

joylashgan. Obyektli model eng yuqorisida Word.Application, Word matn

protsessori va Excel.Application, Excel jadval protsessorining obyekti joylashgan.

Asosan shu obyektlar orqali tashqi dasturlar bilan aloqa o`rnatiladi.

I. bo`yicha xulosa.Bitiruv malakaviy ishimning birinchi bobi yuqorida aytilganidek, “Dasturni

yaratish uchun foydalaniladigan dasturiy vositalar” deb nomlanadi. Bu bobning

o’zi ham uch qismga bo’lingan bo’lib, birinchi qismi “Delphi muhitida ishlash”

deb nomlanadi. Bu qismda Delphi muhitida ilovalar yaratish, muhitning oynalari

va dasturni kompilatsiya qilish va ishga tushirish haqida aytib o`tdik. Delphida

konsol va windows ilovalar yaratish haqida gapirib o`tdik. Ikkinchi qismi

“Delphidagi asosiy komponentalar va ularning xususiyatlari, hodisalari” deb

nomlanib, bunda Delphida foydalaniladigan komponentalar va ularning qaysi

palitraga joylashganligi haqida gapirib o`tdik. Har bir komponentani xususiyatlari

va ularning vazifalari keltirilib, ayrimlarini misollar bilar yoritdik. Bu

komponentalarning hodisalarini qarab o`tdik. Bu hodisalar qachon va qay vaqtda

ishlashi haqida ham tushuntirdik. Bu komponentalar haqida ma`lumot bizlarga

zarur bo`lgani uchun buni ko`rib chiqdik. Sababi test variantlarni hosil qilishimiz

uchun dephi dasturlash muhitida shu komponentalardan foydalanamiz. Uchinchi

qismi “Delphi muhiti orqali MS Office bilan ishlash” deb nomlanib, bunda COM

texnologiyasi haqida gapirib o`tdik. Bu texnologiya orqali MS Office ning modelli

obyektlari va ularni dasturlash muhitlari bilan boshqarish haqida ko`rib o`tdik.

Word va Excel dasturiy vositalarini elementlarini tuzilmasi bilan ishlash haqida

ham g`apirib o`tdik.

44

Page 45: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

II. Berilgan testlardan test variantlarini shakllantiruvchi dastur yaratish2.1. Delphida Offisni avtomatlashtirishning umumiy prinsiplari va word

dasturiy vositasi bilan ishlash

Ko`p masalali operatsion tizimlarning ajoyib tomonlardan biri bu- dasturlar

bir-biri bilan ma`lumot almashtira olish xususiyati bo`lib hisoblanadi. Windows

operatsion tizimi- bu qoidadan istisno emas va shunaqa ko`plab mexanizmlarni

taqdim etadi. Windows operatsion tizimda axborot yuborish va qayta ishlash,

operatsion tizimva dasturi orqali, hamda ilovalar o`rtasida yoki dinamik kutubxo-

nalar orqali amalga oshiriladi. Bu mexanizm windowsning birinchi versiyalaridan

boshlab ishlab kelmoqda va shu operatsion tizimlar uchun ishlangan dasturlarda

ko`rinadi. Windowsning birinchi versiyalarida obyektli dasturlash,

dasturlashtirishning asosiga aylandi, chunki operatsion tizimdagi har bir dastur

obyekt ham hisoblanadi. Operatsion tizimlar takomillasha boshlashi bilan

dasturlarning o`zaro mexanizmi ham takomillashdi. Axborot almashishning o`sib

borishi, DLL (Dynamic Link Library - dinamik bog`lanuvchi, protseduralar va

funksiyalar kutubxonasi) dan foydalanishi va DDE (Dynamic Data Exchange -

ma`lumotlarni dinamik almashtirish) larni zamonaviy texnologiyalarda ishlatish,

asosan OLE (Object Linking and Embedding- obyektlarga murojaatlarni va

obyektlarni o`zini ulash), COM (Component Object Model – obyektlarni

komponentli modeli), DCOM (Discributed Component Object Model -

obyektlarning taqsimlangan komponentli modeli) lar asosida qurilgan. Tashqi

dasturlar va kutubxonalardagi funksiyalar va protseduralardan foydalanish

yetarlicha bo`lmaganai uchun bu o`tish asos bo`lgan. Birinchidan, ko`plab

obyektlarni boshqarish zarurat kelib chiqqan, qaysikim dasturlar yoki hujjatlarni

o`ziga olgan va yagona xotiralar maydonida bajaruvchi dasturning joylashgan

bo`lishi yoki uning tashqarisida, hatto local tarmoqning boshqa kompyuterida

joylashishi mumkin. Masalaning bunday qo`yilishi, windowsning tuzilmasiga juda

katta o`zgarishlarni keltirishdan tashqari ilovalarni ishlab chiqaruvchi dasturlarni

45

Page 46: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

ham o`zgartirdi. MS Office dasturlari, tashqi dasturlar orqali boshqarib bo`ladigan

obyekt-serverlar ko`rinishida bo`ldi va bu yerda COM va OLE mexanizmlari katta

rolni o`ynaydi.

COM modeli, ko`plab shu interfeysni qo`llaydigan dasturlarda ishlatiladigan

obyektlarni yaratishga yordam beradi. Tizimda maxsus rasmiylashtirilgan va

ro`yxatdan o`tgan dastur serverlari, COM obyektlari deb ataladi. Ular Exe

formatida yoki DLL modulida taqdim etiladi. Bu serverlar chaqiriluvchi dastur

manzilining sohasida (fazosida) yuklanishi va bajarilishi mumkin, mustaqil jarayon

ko`rinshida yoki tarmoqning boshqa kompyuterlarida bajarilishi mumkin

(taqsimlangan model COM - DCOM). Ular COM interfeysini qo`llovchi har

qanday tilda yozilishi shart. OLE Automation (OLE avtomatlashish )

texnologiyasi, COM texnologiyasini davom ettirayotgan bir qismidir. Uning farqi

shundaki, u COM imkoniyatlarini dasturlash tili kompilyatorlardan tashqari

interpritatorlarida va dasturning ishlash vaqtida ham metodlarni chaqiradi. Bu usul

kechikgan bog`lanih deb nomlanadi. Shu tariqa chaqirilgan metodlar sekin

bajariladi va shu obyektlar va ularning metodlari to`g`ri yozilganligini oldindan

tekshirib bo`lmaydi. Bu metodning yutug`i shundaki, kerak bo`lgan obyektni

dastrulash, dasturlash muhitini tanlanishiga bog`liq emasdir.

Delphi muhiti, serverlar avtomatizatsiyasini metodlarini chaqirishni qo`llab -

quvvatlaydi. Serverlar avtomatizatsiyasi shunday dastur sifatida qaraladiki, tashqi

dasturiy vositalarni avtomatlashtirish kontrollerlari orqali boshqara oladi. Word

yoki Excel bizning holda bu server, kontrollarlar esa dasturchi tomonidan ishlab

chiqiladi.

Buning uchun avtomatizatsiya obyektlariga murojaat qilish uchun Variant

tipidagi o`zgaruvchilar ishlatiladi. Dasturning bajarilish bosqichida avtomatizatsiy

serverining Variant tipidagi o`zgaruvchisiga, oldindan satr ko`rinishidagi yozilgan

buyruq yuboriladi. Misol tariqasida quyidagi dasturning bir bo`lagini ko`ramiz:

Internet Explorer dasturini yuklash

Uses ComObj;

46

Page 47: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Var IE:variant;Procedure TMainForm.ButtonlClick(Sender: TObject);beginIE:=CreateOleObject('InternetExplorer.Application');IE.Visible:=true; // Ikkita buyruqda birini tanlash kerakIE.Visible:=false; // va qaday ishlashini tekshirish kerak. //false ko`rinmasin, true ko`rinsin. . . end;

Variant tipidagi IE o`zgaruvchi hech qanday xususiyat va metodlarga ega

emas lekin, shunga qaramay dastur kompilatsiyasidan o`tadi va ishlaydi. Agar biz

Visible xususiyatining o`rniga boshqa xususiyatni bersak, IE ni qo`llab-

quvvatlamaydigan xususiyatni yozsak, kompilyator xatoni ko`rsatmaydi, lekin

ishlash jarayonida xatolik kelib chiqadi. Bu kech bog`lovchi xususiyatidir -

xussusiyatlar va metodlar dastur - serverning bajarish paytida tekshiriladi. Barcha

mexanizm, COM API hisobida ishlaydi. Ushbu ishimizda bir boshdan barcha

funksiya va protseduralarini chaqirishni ko`rib chiqishdan ma`ni yo`q. Bizning

asosiy maqsadimiz MS Office dasturlari Word va Excelda avtomatizatsiya

kontrollerlarini yaratish va ishlatishni o`rganishdir. Delphi muhitida yaratilgan

dasturlarda avtomatizatsiya kontrollerlarini ishlatib, Word va Exceldagi oddiy

ishiga o`xshab, mumkin bo`lgan elementlariga ega bo`lgan hujjat yaratishimiz

mumkin. Jadvallar, matnlar, diagrammalar va boshqa hujjatlarning komponentlari

xuddi foydalanuvchi yaratgandek bo`lib chiqadi.

Avtomatizatsiya kontrollerlariga o`tsak. Avtomatizatsiya kontrollerlari- MS

Office dasturlarini boshqara oladigan va Word va Excel muhitlarida hujjat

yaratilishini boshqara oladigan dastur. Bular to`g`ri ishlashi uchun, dastur-

kontroller quyidagi funksiyalarni bajarishi shart:

1. (Word, Excel) dasturini ishga tushgan yoki tushmagangini tekshirish.

2. Agar dastur ishga tushmagan bo`sa ishga tushirish.

3. Dastur yoki hujjat ustida kerakli murakkab ishlarni bajarish.

4. Hujjat va dasturni yopish.

5. Xotirani tozalash.

47

Page 48: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Aytib o`tilganidek, MS Office dasturlarining obyektli modeli cho`qqisida

turuvchi obyektlar yordamida hujjatlar va dasturlardan foydalanishimiz mumkin.

Ular yordamida biz hujjatlar va dasturlar ichki strukturasiga kirish huquqiga ega

bo`lamiz, shuning uchun avtomatizatsiya kontrollerlarni yaratishda faqat ulardan

foydalanishimiz mumkin. 2.1.1 va 2.1.2 jadvallarda shu obyektlar xarakteristikasi

bilan tanishib o`tamiz.2.1.2 – Jadval. MS Word Obyektlari

Identifikatorlar Qisqacha izohi

Word.Application

Word.Application.8(9,10)

Bu o`zgaruvchilar yordamida Application obyektiga

murojaat bo`ladi va Word ilovasi yuklanadi

Word.Document

Word.Document.8(9,10)

Word.Template.8

Bu o`zgaruvchilar yordamida Document oyektiga

ruxsat beriladi va Word ilovasi ishga tushadi va

yangi hujjat yaratiladi. Agar Word ilovasi ungacha

ishga tushgan bo`lsa, u holda shu ilova ichida yangi

hujjat yaratiladi2.1.1 – Jadval. MS Excel Obyektlari

Identifikatorlar Qisqacha izohi

Excel.Application

Excel.Application.8(9,10)

Bu o`zgaruvchilar yordamida Application

obyektiga murojaat bo`ladi va Excel ilovasi

yuklanadi

Excel.Addln Bu o`zgaruvchilar yordamida Excel ilovasi ishga

tushadi va Add-In maxsus obyekti yaratiladi

Excel.Chart

Excel.Chart.8

Bu o`zgaruvchilar yordamida Excel ilovasi ishga

tushadi va ishchi kitob yaratiladi va uning tarkibida

diagramma, diagrammali ish varog`i ham bo`lishi

mumkin

Excel.Sheet

Excel.Sheet.8

Bu o`zgaruvchilar yordamida Excel ilovasi ishga

tushadi va ishchi kitob yaratiladi va uning tarkibida

ish varoqlari bo`ladi

48

Page 49: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Delphi muhitida avtomatizatsiya kontrollerlari yaratishni ko`rib chiqdik.

Endi Office paketini tarkibida kiruvchi Word ilovasi bilan ishlashni ko`rib

chiqamiz.

Word.Application obyekti bilan ishlash.

Bunda biz MS Word matn muharriri uchun avtomatizatsiya kontrollerini

yaratishni ko`rib chiqamiz. Aytib o`tilganidek avtomatizatsiya kontrollerini

yaratish uchun Word dasturi obyekt modelidagi Appication obyekti uchun

foydalanish huquqi kerak bo`ladi (bundan foydalanish uchun Word.Application

identifikatori kerak bo`ladi).

Word.Application modelini yaratish, dasturning oynasini yuklash va

namoyish etish.

OLE obyekti mexanizmidan foydalanishga ijozat beruvchi funksiya

ComObj.pas kutubxonasiga joylashgan bo`lib u CreateOleObject funksiyasi orqali

chaqiriladi. Uning yagona argumenti satr identifikatori va u obyektga murojaatni

qaytaradi. Bu funksiyani ishlashini ko`rib o`tamiz.

Bir formaga ega bo`lgan yangi Delphi loyihasini yaratamiz. Forma modulida

ComObj kutubxonasini ishlatish uchun murojaat qilamiz (Uses ComObj) va

W:Variant o`zgaruvchisini e`lon qilamiz. Formada tugmani joylashtiramiz.

Formadagi tugmaning bosilish hodisasiga quyidagi dastur matnini yozamiz.

Word.Application obyektini yaratish

Uses ComObj;Var W:variant;Procedure TForm1.Button1Click (Sender:TObject);beginW:=CreateOleObject('Word.Application');end;

Agar dasturning shu fragmenti bajarilsa unda word dasturi ishga tushadi,

lekin uning oynasi monitor ekranida aks etmaydi. Kompyuter xotirasiga hamma

ichki obyektlar, kolleksiyalar va xususiyatlardan foydalanish huquqini beruvchi

Application obyekti yuklanadi. Hozirgi vaqtda bu obyektning faqat bitta xususyati

- Visible bizni qiziqtiradi. Agar uning qiymatini true deb olsak word dasturi oynasi

49

Page 50: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

ko`rinadi. Bizning formamizga CheckBox1 komponentini joylashtiramiz, uning

sichqoncha tugmasini bosilish hodisasida quyidagi dastur kodini kiritamiz.

Word dasturi oynasi ko`rinishi berilishi

procedure TForm1.CheckBox1Click(Sender:TObject);beginW.Visible:=CheckBox1.Checked;end;

CheckBox1 obyekti holatini o`zgarishini ko`rob chiqsak, dastur oynasi goh

paydo bo`ladi, goh ekranda ko`rinmaydi. Dastur hech qanaqa ochiq hujjatlarsiz

xotiraga yuklangan (2.1.1-chizma).

2.1.1-chizma. Delphi orqali Word dasturni yuklash.

Hujjatni shakllantirish vaqtida Visible xususiyatini False qiymatida saqlash

va shakllantirilgandan so`ng true qiymati berilsa muvaffaqiyali bo`ladi deb

o`ylaymiz.

Shu yo`l orqali hisobotlar yaratishda vaqtini tejashimiz va dasturni ishlash

samaradorligini oshirishimiz mumkin. Dasturini ishini nazorat qilib nima natija

olishimizni testlash vaqtida monitorda ko`rsatib turgani yaxshi. Bunda Application

obyektini ish faoliyati testlanadi. Shuning uchun Visible:=True qiymat berib

qo`yamiz va Word hujjatlari ustiga ishni boshlaymiz.

Hujjat yaratish.

Shunday qilib, Application obyekti kompyuter xotirasiga yuklanadi va biz

undan W:Variant o`zgaruvchisi yordamida foydalanishimiz mumkin. Shu

50

Page 51: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

obyektning xususiyatlarini o`rganib chiqamiz. Documents kolleksiyasiga

e`tiborimizni jalb qilamiz. U o`z ichiga hujjatlarni, ularning xususiyatlarini va ular

bilan ishlaydigan metodlarini oladi. Hozirgi vaqtda kolleksiya elementlari ochiq

hujjatlar hisoblanadi. Bu hujjatlarga murojaat qilishimiz uchun Item(doc:variant)

metodidan foydalanamiz. Bunda doc – kollektsiyadagi hujjatning nomi yoki

indeksi. Kolleksiyaning Count buyrug`ida, kolleksiya elementlari sonini bildiradi.

Agar Count=0 bo`lsa unda hech qanday ochiq hujjat yo`q. Yangi hujjat yaratamiz.

Buning uchun shu kolleksiyaning ADD metodidan foydalanamiz. Formaga

tugmani joylashtiramiz, tugma bosilish hodisasida quyidagi dastur matnini

yozamiz.

Hujjatlar kolleksiyasiga hujjatning yaratilishi

procedure TForm1.Button2Click(Sender: TObject);beginW.Documents.Add;end;

ADD metodi bajarilganidan so`ng dastur oynasida hujjat yaratiladi (2.1.2-

chizma). Documents kolleksiyasining ADD metodiga argument bilan yoki

argumentsiz ham murojaat qilsa bo`ladi. Argument bo`lmaganda, oddiy hujjat

yaratiladi. Argument bilan murojaat qilinganda shablon bo`yicha hujjat yaratiladi.

MS Office paketida bir nechta shablonlarni qo`yish imkoniyati mavjud. Shablonlar

…\MicrosoftOffice\Шаблоны da joylashgan. O`zining dasturlari uchun

qo`shimcha hujjat shablonalrini yaratish mumkin, masalan: soliq deklaratsiya

shabloni. Keyinchalik ADD metodini shablonga yo`llanma bilan ishlatshda osonlik

bilan kerakli hujatni yaratish mumkin. Yangi hujjatlar yaratishda shablonlar

ishlatilishi Delphi muhitidagi foydalanuvchi uchun qulay dasturlar yaratishda

yordam beradi. Shablon asosida yangi hujjat yaratamiz. Buning uchun tugmani

formaga joylashtiramiz va quyidagi dastur kodini kiritamiz:

51

Page 52: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.1.2 – chizma. Add metodi yordamida argumentisiz, hujjat yaratilgan.

2.1.3 – chizma. Add metodi yordamida argumenti orqali, hujjat yaratilgan.

Shablon bo`yicha hujjat yaratish.

Procedure TForml.Button3Click(Sender: TObject);var dir_:string;beginGetDir(0,dir_);If not OpenDialog1.Execute then begin chdir(dir_); exit; end;chdir(dir_);W.Documents.Add(OpenDialog1.FileName);End;

Berlgan dastur kodi bo`lag,i dialoglar oynasini ochishga va kerak bo`lgan

shablonni tanlash orqali yangi hujjatni yaratishda yordam beradi. …\Microsoft

Office\ Шаблоны\Другие документы papkasidan Contemporary Fax.dot faylini

tanlaymiz. ADD metodining bajarilgan natijasi 2.1.3-chizmada ko`rsatilgan. Agar

52

Page 53: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

avvalroq yaratilgan hujatga o`zgartirishlar kiritish kerak bo`lsa. Documents

kolleksiya metodlari yordaimda uni o`zgartiramiz.

Hujjatni ochish.

Oldinroq yaratilgan hujatlarni Open metodi yordamida ochish mumkin.

Metodni chaqirishda ko`plab argumentlar kiritishimiz mumkin, lekin ularning eng

asosiysi bu faylning ismi va yo`liga murojaatdir. Oldinroq ochilgan hujatni

ochamiz. Dasturning matn bo`lagi quyidagi ko`rinishda bo`ladi.

Hujjatning ochilishi:

Procedure TForml.Button4Click(Sender:TObject);Var dir_:string;beginGetDir(0, dir_);If not OpenDialog2.Execute then begin chdir(dir_); exit; end;chdir(dir_);W.Documents.Open(OpenDialog2.FileName);end;

Berilgan kodning natijasi 2.1.4-chizmada ko`rsatilgan.

Documents kolleksiyasining Open metodini ko`plab argumentlari yordamida

chaqirish mumkin. VisualBasic ma`lumot tizimiga murojaat qilamiz va bu

metodning sintaksis va argumentlarini ko`rib chiqamiz (2.1.3 - jadval).

2.1.4 – chizma. Open metodi orqali hujjatni ochish

Open metodini sintaksisi

53

Page 54: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Documents.Open( FileName, ConfirmConversions, ReadOnly,

AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert,

WritePasswordDocument, WritePasswordTemplate, Format)

2.1.3 – jadval. Open metodining argumetlari va uning vazifalariArgumenti Tipi Ma`nosi

FileName String Fayl nomi va manzili

ConfirmConversions Boolean False—DOC formatidan farqli fayllarni

ochish vaqtida faylni qayta formatini

aniqlash muloqot oynasini chiqmasligi.

True qiymatida muloqot oynani chiqishi

Readonly Boolean True—"только для чтения" rejimida

hujjatni ochish

AddToRecentFiles Boolean True—File menyusining oldin ochilgan

fayllar ro`yxatiga qo`shilishi

PasswordDocument String Hujjatni ochilishidagi paroli

PasswordTemplate String Shablonni ochilishidagi paroli

Revert Boolean True—agar hujjat ochiq bo`lsa,

saqlangan holatidagi hujjat asosida

ochilishi

WritePasswordDocument String Hujjatni faylga salanishidagi paroli

WritePasswordTemplate String Shablonni faylga salanishidagi paroli

Format Son Hujjatni ochishdagi formati

Open metodini chaqirganda ba`zi argumentlari e`tiborga olmasligimiz

mumkin. Masalan: W.Documents.Open(FileName) chaqiruvchi qo`himcha imko-

niyatlarsiz faylni ochadi. Agar chaqiruv sintaksisini ozgina o`zgartirsak.

W.Documents.Open(FileName:= 'C:\Documents.doc'); unda ham natija bir xil

bo`ladi. Agar bizga "только для чтения" rajimiga hujatni ochish buyurilsa,

quyidagi sintaksisdan foydalanishimiz mumkin.

54

Page 55: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

W.Documents.Open(FileName:='с:\Документ1.doc', Readonly:=True);

Formamizga tugmani joylashtiramiz va hujjatlarni "только для чтения"

rejimida ocha oladigan dastur kodini yozamiz.

Procedure TForml.Button5Click(Sender: TObject);Var dir_:string;beginGetDir(0,dir_);If not Open Dialog2.Execute then begin chdir(dir_); exit; end;chdir(dir_);W.Documents.Open(OpenDialog2.FileName,Readonly:=true);end;

Agar hujjatni ochish uchun ikkita emas uchta argument kerak bo`lsa, unda

sintaksis bir yozuvga o`zgaradi. Masalan: "только для чтения" rejimida parol

bilan himoyalangan hujatni ochamiz.

W .Documents.Open( FileName:='с :\Документ1.dос', Readonly:=True,

PasswordDocument:='123' ) ;

Bu yerda “123” parol. E`tiboringizni ADD metodining oxirgi argumenti-

Format ga qaratamiz. Bu argumentning butun sonli qiymatdan iborat bo`ladi va

ochiladigan hujjatning formatini aniqlaydi.

2.1.4 – jadval. Format argumentining qiymati va hujjat formatlariO`zgarmas Qiymat Hujjatning ochilish formati

WdOpenFormatAuto 0 Avtomatik tanlanishi

WdOpenFormatDocument 1 Word hujjati (DOC kengaytmali

fayl)

WdOpenFormatRTF 3 RTF formatidagi hujjat (RTF

kengaytmali fayl)

WdOpenFormatTemplate 2 Word Shabloni(DOT kengaytmali

fayl)

WdOpenFormatText 4 Matn (ТХТ kengaytmali fayl)

55

Page 56: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

WdOpenFormatUnicodeTex

t

5 Kodlangan matn (ТХТ kengaytmali

fayl)— UNICODE formatida

TXT formatli matnli faylni ochamiz. Buning uchun formaga yangi tugma

qo`yamiz va quyidagi dastur kodini yozamiz:

TXT formatida hujjatni ochish.

Procedure TForm1.Button7Click(Sender:TObject);const WdOpenFormatText:=4;Var dir_:string;a_:integer;eee_:string;beginGetDir(0,dir_);If not OpenDialog3.Execute then begin chdir(dir_); exit; end;chdir(dir_);W.Documents.Open(OpenDialog3.FileName, Format:=wdOpenFormatText);end;

Bu dasturning ishga tushirganda va hozirgi yozilgan protsedura ishga

tushganda natijasi quyidagicha bo`ladi.

2.1.5 – chizma. Open metodi orqali TXT formatli hujjatni ochish

Hujjatni saqlash

Hujjatni saqlashni eng oson yo`llaridan bir bu Save metodini chaqirish orqali

hujjatini saqlashdir. Masalan: W.ActiveDocument.Save. Agar hujjat diskda

saqlangan bo`lsa bu yo`lni ishlatish qulayroqdir. Biz bu metod yordamida

56

Page 57: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

yaratilgan hujjatni saqlamoqchi bo`lganimizda word dasturi tomonidan

aktivlashgan dialog oynasi ochiladi (Hujjatni saqlash muloqot oynasi).

2.1.6 – chizma. Save metodi orqali yangi hujjatni saqlash

Agar biz dialogni saqlamasdan yopsak, xatolik kelib chiqadi (2.1.7 –

chizma). Xatolar paydo bo`lishini oldini olish uchun hujatni saqlash protsedurasi

paytida istisno vaziyatlarni ko`rib chiqish kerak.

2.1.7 – chizma. Save metodi bajarilish vaqtidagi xatolik

Delphi tilidagi try…except…end konstrukisayisini ishlating. Hujjatni

saqlash dialog oynasini chiqarish kerak, lekin xatolik sodir bo`lgan vaqtda uni

oldini olish mumkin. Xatolardan qochishning samarali usullaridan biri “hujjat

saqlangan yoki yo`q” tekshiruvi va SaveAs metodini ishlatish kerak. Ochilgan

hujjatning diskga saqlanganligini tekshirish uchun Saved hujjatning xususiyatini

ishlating. Agar u True qiymatni qabul qilsa unda hujjat saqlangan. Agar False

bo`lsa hujjat saqlanmagan.

Quydagi dastur matnini ko`ramiz

Procedure TForm1.Button8Click(Sender:TObject);

57

Page 58: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

begin

if W.ActiveDocument.Saved then

Messagebox(handle,'Hujjat saqlangan!' ,'Ogoh bo`ling!',0) ;

if notW.ActiveDocument.Saved then

Messagebox(handle,'Hujjat saqlanmagan!',' Ogoh bo`ling!',0) ;

end;

Bu dasturning natijasi quyidagilardan birini chiqaradi

2.1.8 – chizma. Saved metodi orqali tekshirish

Agar qo`shimcha yaratilgan hujjat saqlanmagan bo`lsa uning diskga yozish

uchun SaveAs metodidan foydalanamiz. VisualBasic tilining tasnifida u quyida-

gicha kiritilgan.

ActiveDocument.SaveAs(FileName, FileFormat, LockComments, Password,

AddToRecentFiles, WritePassword, ReadOnlyRecommended,

EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData,

SaveAsAOCELetter)

SaveAs metodida argumentlar rejimi va saqlanayotgan hujjat formatini

aniqlaydi. Ularni metodni chaqirganda word dasturini oddiy foydalanuvchi

rejimidagidek bir xil natijaga ega. Metodning argumentlari, ularning tiplari va

funksional qo`llanilishlari 2.1.5-jadvalda berilgan.2.1.5 – jadval. SaveAs metodining argumenti va vazifalari

Argumenti Tipi Ma`nosi

FileName String Faylning ismi va joylashuvi

FileFormat Son Faylning formati, Open metodida

ko`rildi

58

Page 59: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

LockComments Boolean True – izohlarni saqlamaslik

Password String Hujjatning ochilishi uchun parol

AddToRecentFiles Boolean True—File menyusining oldin

ochilgan fayllar ro`yxatiga qo`shilishi

WritePassword String Hujjatning salanishi uchun parol

ReadOnlyRecommended Boolean True- keyingi safar yopmasdan

hujjatni ochishga “o`qish uchun

ochish”

EmbedTrueTypeFonts Boolean True- Hujjatni salagan vaqtda

TrueType shriftda hujjatning barcha

matnlaini o`tkazish

SaveNativePictureFormat Boolean Windows OT da qo`llanilib

bo`lmaydi. Grafikani import qilish.

True – Windows da ishlatiladigan

grafikalarni import qilish

SaveFormsData Boolean True-Hujjat formasini matnsiz saqlash

SaveAsAOCELetter Boolean Apple Machintosh kompyuterlari

uchun mo`ljallangan Word

versiyalarida ishlatiladi

SaveAs metodini chaqirishda faqat bitta emas balki bir nechta

argumentlardan ham foydalanish mumkin. Odatda bitta fayl nomi va manzili

argumentidan foydalaniladi.

2.3. Test variantini formalari va uning modullari.Biz tayyorlagan dasturimizda bitta forma joylashtirilgan bo`lib, formaning

ko`rinishi (2.3.1-chizma) da ko`rsatilgan.

59

Page 60: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.3.1-chizma. Dasturning ko`rinish oynasi.

Dasturimizda 1 ta formadan foydalangan bo`lib ko`p formali matn yozishni

oldini oldik. Lekin ko`p oynali formalar o`rniga PageControl komponentasidan

foydaladik. Bu PageControl komponentasiga 6 ta bo`lim yaratdik va har bir bo`lim

bitta page bo`lib ular quyidagilardan iborat:

1. Test fayllari

2. Tasdiqlash

3. Yordam

4. Talaba uchun testni generatsiyalash

5. Mualliflar

6. Testni shakllantirish

Test fayllari deb nomlangan Pageda, quyidagi komponentlarni joylashtirdik.

Label, SpeenEdit, SpeedButton, ScrollBox va Edit komponentalar pagega bor

(2.3.2-chizma). Bularning vazifasi quyidagidan iboratdir.

60

Page 61: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.3.2-chizma. Dasturning test fayllari qismi.

Formadagi va ScrollBox dagi Labellarda izoh sifatida foydalanilgan.

Formadagi SpeenEdit komponenti- testdagi fayllarni soni, Variantdagi savollar

sonini olish uchun ishlatilgan. Natural son qabul qila oladi. Test fayllaro soni 10

tagacha olsak yetarli deb o`yladim.

2.3.3-chizma. Test fayllari bo`limi 10 ta fayl tanlashning ko`rinishi.

SpeenEdit komponentasining qiymati orqali test fayllar sonini boshqariladi

va fayllarni sonini kamaytirish imkoniyati mavjuddir. Buning uchun quyidagi

change procedura hodisasi yoziladi:

procedure TForm1.TestFaylCountChange(Sender: TObject);var

61

Page 62: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

n,i:integer;begin n:=TestFaylCount.Value; For i:=1 to 10 do begin

if i>n then begin (FindComponent('F'+IntToStr(i)) As TEdit).Visible:=False; (FindComponent('B'+IntToStr(i)) As TSpeedButton).Visible:=False; (FindComponent('UT'+IntToStr(i)) As TEdit).Visible:=False; (FindComponent('T'+IntToStr(i)) As TSpinEdit).Visible:=False; (FindComponent('L'+IntToStr(i)) As TLabel).Visible:=False; (FindComponent('F'+IntToStr(i)) As TEdit).Text:=''; end else begin (FindComponent('F'+IntToStr(i)) As TEdit).Visible:=True; (FindComponent('B'+IntToStr(i)) As TSpeedButton).Visible:=True; (FindComponent('UT'+IntToStr(i)) As TEdit).Visible:=True; (FindComponent('T'+IntToStr(i)) As TSpinEdit).Visible:=True; (FindComponent('L'+IntToStr(i)) As TLabel).Visible:=True; end; end;end;

ScrollBoxda mos ravishda faylning joylashgan manzilini qabul qilish uchun

Edit komponentasiga olishimiz uchun SpeedButton komponetasining OnClick

hodisasidan foydalanganmiz, ammo faylni tanlashimiz uchun esa OpenDialog

komponentasi kerak bo`ladi. Dastur matni quyidagicha:

procedure TForm1.B1Click(Sender: TObject);var B:TSpeedButton; F:TEdit; Num,name1,s:String;beginif (Sender is TSpeedButton) then B:=(Sender as TSpeedButton);Name1:=B.Name;Num:=Copy( Name1, 2, (Length(Name1)-1) );F:=(FindComponent('F'+Num) As TEdit);if OD.Execute then begin s:=F.Text; F.Text:=OD.FileName; if s=F.Text then F1Change(F);

62

Page 63: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

end;end;

Fayl tanlangandan keyin esa, U fayl bizning talabga javob berishini

tekshirishimiz zarur bo`ladi. Bu ishni qachon bajarishimiz kerak deb o`ylaysiz?

Albatta fayl manzili aniq bo`lgandan keyin. Bu hodisa fayl manzili yozilgandan

Edit komponentasi Qiymati o`zgargan paytda bajarilishi kerak va u

quyidagicha:

procedure TForm1.F1Change(Sender: TObject);var L:TLabel; F,UT:TEdit; Num,name1:String; W,D,Table:Variant; i,n,r,c:integer; ch:boolean;beginif (Sender is TEdit) then F:=(Sender as TEdit);Name1:=F.Name;Num:=Copy( Name1, 2, (Length(Name1)-1) );UT:=(FindComponent('UT'+Num) As TEdit);L:=(FindComponent('L'+Num) As TLabel);if F.Text<>'' thenbeginif FileExists(F.Text) then begin // fayldagi wordda jadvallar to`griligini aniqlash try try ch:=false; W:=CreateOleObject('Word.Application'); //ShowMessage(F.Text); W.Documents.Open(FileName:=F.Text,ReadOnly:=true); //W.Visible:=true; n:=W.ActiveDocument.Tables.Count; //ShowMessage(IntToStr(n)); if n<=0 then begin UT.Text:='0'; L.Caption:=''; end else begin for i:=1 to n do begin r:=W.ActiveDocument.Tables.item(i).Rows.Count; c:=W.ActiveDocument.Tables.item(i).Columns.Count; if not((r=5) and (c=1)) then

63

Page 64: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

begin ch := true; break; end; end; if ch then begin L.Caption:=IntToStr(i)+' - jadvalda xatolik'; UT.Text:=''; end else begin L.Caption:='OK'; UT.Text:=IntToStr(n); end; end;

except L.Caption:='Fayl bilan ishlashga xatolik'; UT.Text:=''; end; finally W.Quit; W:=UnAssigned; end;

end else begin UT.Text:=''; L.Caption:='Fayl mavjud emas'; end;endelsebeginL.Caption:='';UT.Text:='';end;end;

Test faylidagi test jadvallari tekshirilgandan so`ng umumiy testlar soni

aniqlanadi va Editga yoziladi. Bundan so`ng siz umumiy testlar sonidan ko`p

qiymat olsihga ruxsat bermasligingiz kerak bo`ladi. Buning uchun quyidagi kod

berilishi kerak

procedure TForm1.UT1Change(Sender: TObject);

64

Page 65: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

var L:TLabel; UT:TEdit; T:TSpinEdit; Num,name1:String;begin

if (Sender is TEdit) then UT:=(Sender as TEdit);Name1:=UT.Name;Num:=Copy( Name1, 3, (Length(Name1)-2) );if (Num<>'11') then T:=(FindComponent('T'+Num) As TSpinEdit);L:=(FindComponent('L'+Num) As TLabel);//showmessage('L'+Num);if UT.Text<>'' thenbegin//endelsebeginif (Num<>'11') then T.Value:=0;L.Caption:='';end;end;

Bunda testlar soni aniq bo`ldi va har biriga nechta testligi ko`rsatildi. Buning

natijasi Variantdagi testlar soniga bo`rib tushishi kerak. Bu quyidagicha

procedure TForm1.T1Change(Sender: TObject);var T:TSpinEdit; UT:TEdit; Num,name1:String; i,s:integer;beginif (Sender is TSpinEdit) then T:=(Sender as TSpinEdit);Name1:=T.Name;Num:=Copy( Name1, 2, (Length(Name1)-1) );UT:=(FindComponent('UT'+Num) As TEdit);if (UT.Text<>'') thenbegin if T.Value>StrToInt(UT.Text) then T.Value:=0; if T.Value<0 then T.Value:=0;endelsebeginT.Value:=0;end;s:=0;For i:=1 to 10 do

65

Page 66: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

s:=s+(FindComponent('T'+IntToStr(i)) As TSpinEdit).Value;TestCount.Value:=s;End;

Bu jarayonni 10 yoki 11 marta yozmaslik uchu bizlar dastur matnini

umulashtirganmiz sababi qaysi obyekt kelishi oldindan aniqmasligidadir. Bundan

so`ng esa Qolgan komponentalarning xuddi shu hodisasiga joriy hodisani uladik.

Agar biz testlar faylini tanlaganimizdan so`ng, u biz qo`ygan fayl tayyorlash

talabiga to`g`ri kelsa, “OK” degan qiymat Label komponentasiga namoyish etiladi.

Aks holda, qaysi tartib nomeridagi fayl bo`lsa, o`sha faylning tartib raqami bilan

shu jadvalda xatolik mavjud degan yozuv “Fayl to`g`riligining tasdig`i” sohasida

ko`rinadi. Masalan: birinchi faylga talabga mos tarzdagi faylni tanlasak, bizga

“OK” yozuvi va ikkinchi faylga noto`g`ri faylni joylashtirsak, “n-jadvalda xatolik

” yozuvi Labelda ko`rinadi (2.3.4-chizma).

2.3.4-chizma. Test fayllariga misol dasturi.

Variantdagi savollar soniga umumiy savollardan nechtasi tanlangan bo`lsa, shu

qiymatlarning yig`indisi natija sifatida kelib tushadi. 2.3.3-rasmda ko`ringanidek,

“umumiy savollar soni = 11”, “nechta test = 0” va “Variantdagi savollar soni =0” .

Agar “nechta test =4” deb bersak, avtomatik tarzda “Variantdagi savollar soni = 4”

bo`ladi (2.3.5-chizma).

66

Page 67: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.3.5-chizma. Test fayliga test sonini aniqlash.

Agar dasturda nechta fayl tanlangan bo`lsa ularni ishlatish majburiydir. Ya`ni

test fayli tanlangandan keyin, shu faylning umumiy testlar sonidan nechta test deb

nomlanuvchi sohasining qiymati nolga teng bo`lishi mumkin emas .

Tasdiqlash oynasidagi “Sarlavha” sohasida tayyorlangan shablon test

yaratilayotgan vaqtda test variantlarining sarlavha qismida va “Tasdiqlayman”

dagi shablon tasdiqlash qismida chiqadi(2.3.6-chizma).

2.3.6-chizma. Tasdiqlash va Sarlavha oynalarining ko`rinishi.

Talaba uchun testni generatsiyalash oynasi. Biz bilamizki, test yaratuvchi

bizning talablarga mos ravishda to`g`ri javoblar keltirilgan test fayllarini

topshiradi. Masalan: barcha to`g`ri javoblar ikkinchi satr birinchi javoblar kalitida

ko`rsatilgan bo`lsa, bu javoblarni talaba o`zi izlanishi uchun uni generatsiyalash

(o`rin almashtirish) usuli yordamida yangi test variantlarini hosil qilib, talaba

67

Page 68: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

uchun tayyorlab beradi. Buning uchun “Talaba uchun testni generatsiyalash”

oynasidan foydalanamiz (2.3.7-chizma).

2.3.7-chizma. Talaba uchun testni generatsiyalash oynasi.

Bu oynada “ Test fayli manzili va uni tanlash” sohasini SpedButton

orqali tanlashimiz kerak va “umumiy soni” nomli sohasida avtomatik bor

bo`lgan umimiy test sonining qiymati tushadi. “Fayl to`g`riligini tasdig`i”

sohasida faylning barcha talablari bajarilsa “OK” yozuvi, fayl talabga javob

bermasa jadvaldagi xatolik haqida yozuv chiqadi. Agar foydalanuvchi faylni

tanlamasdan “Berilgan test faylini talaba uchun javoblarni almashtirib ber”

tugmasini bosganda, “Test faylini tanla!”degan xabar oynasi ekranga

namoyish etiladi( 2.3.8-chizma). Foydalanuvchi talabga mos faylni tanlab

“Berilgan test faylini talaba uchun javoblarni almashtirib ber” tugmasini

bosgandan so`ng, dastur test variantlarini generatsiya qilib beradi.

( 2.3.8-chizma). Fayl tanlamasdan, “Berilgan test faylini talaba uchun

javoblarni almashtirib ber” tugmasini bosgandagi chiquvchi xabar oynasi.

68

Page 69: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Yordam - bunda foydalanuvchi uchun dasturni ishlatish va test variantlari

fayllarining tayyorlanishiga qo`yiladigan talablar haqidagi ko`rsatmalar shu

tugmani bosganda, batafsil yoritib beriladi (2.3.1-chizma).

Mualliflar-bu soha tanlanganida dasturjning mualliflari haqidagi

ma`lumotlar oynasi ekranda namoyish etiladi(2.3.9-chizma).

2.3.9-chizma. Mualliflar oynasi.

Testni shakllantirish oynasi orqali biz test variantlarini shakklantira

olamiz (2.3.10-chizma). Bu oynada „Variantlar soni“ sohasida variantlar

sonini kiritib, „Variantlar joylashadigan katalog“ sohasidan testni yangi

manzilini ko`rsatib, „Tayyorlash“ tugmasi bosilsa, test variantlarini

shakllantirib beradi.

69

Page 70: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.3.10-chizma. Testni shakllantirish oynasi.

Bu oynada test variantlarini shakllantirish bilan bir qatorda testni generatsiya

qilib, testning javob kalitlarini ham shakllantirib beradi.

Biz testni shakllantirayotgan vaqtimizda tanlagan faylimizga murojaat

qilmasak, bizning ekranda “ Hamma test fayllari to`g`ri tanlanmagan!! Test fayllari

bo`limidan fayllarga e`tibor ber” degan xabar oynasi chiqadi(2.3.11, a- chizma).

a)

b)

2.3.11 – chizma.

Agar foydalanuvchi tanlagan faylining umumiy savollari sonidan “nechta test =

0” bo`lsa, foydalanuvchining dastur oynasida “Hamma test fayllari kerak emasmi?

0 ta ham test bo`lishi mumkinmi? Oka!!!” deb nomlangan xabar ekranga

chiqadi(2.3.11, b- chizma).

Dastur uchun talab qilingan fayl talabga javob berish yoki bermasligini

tekshirishimiz uchun bizdan ko`pgina vaqtni talab qiladi. Buni oldini olish

70

Page 71: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

maqsadida word dasturimizga tekshiruvchi makrosni yozamiz va shu makrosni

chaqirib ishlatamiz.

Test shaklini tayyorlash uchun kod qismi

// Test variantini tayyorlashtry try W:=CreateOleObject('Word.Application'); //W.visible:=true; For i:=1 to n do begin W.Documents.Open(FileName:=(FindComponent('F'+IntToStr(i))As TEdit).Text,ReadOnly:=true); D[i]:=W.ActiveDocument; DUT[i]:=StrToInt((FindComponent('UT'+IntToStr(i)) As TEdit).Text); DT[i]:=(FindComponent('T'+IntToStr(i)) As TSpinEdit).Value; end; W.Documents.Add; Kalit:=W.ActiveDocument; Kalit.PageSetup.Orientation := 1; Kalit.PageSetup.TopMargin := 28; Kalit.PageSetup.BottomMargin :=28; Kalit.PageSetup.LeftMargin :=28; Kalit.PageSetup.RightMargin := 28; Kalit.Range.InsertBefore(' Testlarning kalitli javob fayli '); MyRange:=Kalit.Range(Kalit.Range.End-1,Kalit.Range.End-1); Kalit.Tables.Add( Range:=MyRange, NumRows:=TestCount.Value+1, NumColumns:=VariantCount.Value+1); Kalit.Range.InsertAfter(' '); Kalit.Tables.item(1).Range.Font.Size := 12; Kalit.Tables.item(1).Range.Font.Name := 'Times New Roman'; Kalit.Tables.item(1).Columns.Item(1).Width:=56; Kalit.Tables.item(1).AutoFitBehavior(2); Kalit.Tables.item(1).Borders.Enable:=true; Kalit.Tables.item(1).Cell(1, 1).Range.Text:='Test \ variant'; For i:=2 to TestCount.Value+1 do Kalit.Tables.item(1).Cell(i, 1).Range.Text:=IntToStr(i-1); Kalit.Tables.item(1).Rows.Item(1).Range.Orientation:= wdTextOrientationUpward; For i:=2 to VariantCount.Value+1 do begin //Kalit.Tables.item(1).Cell(1, i).Range.Orientation:= wdTextOrientationUpward; Kalit.Tables.item(1).Cell(1, i).Range.Text:=IntToStr(i-1); end; Kalit.Tables.item(1).Cell(1, 1).Range.Orientation:= wdTextOrientationHorizontal; if FileExists(Path.Text+'\Kalit.doc') then DeleteFile(Path.Text+'\Kalit.doc');

71

Page 72: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Kalit.SaveAs(Path.Text+'\Kalit.doc'); For i:=1 to VariantCount.Value do // varian sonicha begin W.Documents.Add; D2:=W.ActiveDocument; D2.PageSetup.Orientation := 0; D2.PageSetup.TopMargin := 28; D2.PageSetup.BottomMargin :=28; D2.PageSetup.LeftMargin :=56; D2.PageSetup.RightMargin := 28; D2.Range.InsertBefore(' Test variant № '+IntToStr(i)); D2.Range.InsertParagraphAfter; D2.Range.InsertAfter(' '); For j:=0 to Memo1.Lines.Count-1 do begin D2.Range.InsertParagraphAfter; D2.Range.InsertAfter(Memo1.Lines[j]); end; D2.Range.InsertParagraphAfter; D2.Range.InsertAfter(' '); For j:=0 to Memo2.Lines.Count-1 do begin D2.Range.InsertParagraphAfter; D2.Range.InsertAfter(Memo2.Lines[j]); //D2.Range.ParagraphFormat.Alignment:=1; end; For j:=3+Memo1.Lines.Count to D2.Range.Paragraphs.Count do D2.Paragraphs.Item(j).Range.ParagraphFormat.Alignment:=1; D2.Range.InsertParagraphAfter; D2.Range.InsertAfter(' '); MyRange:=D2.Range(D2.Range.End-1,D2.Range.End-1); D2.Tables.Add( Range:=MyRange, NumRows:=5*TestCount.Value, NumColumns:=1); D2.Range.InsertAfter(' '); D2.Tables.item(1).Range.Font.Size := 12; D2.Tables.item(1).Range.Font.Name := 'Times New Roman'; D2.Tables.item(1).AutoFitBehavior(2); D2.Tables.item(1).Borders.Enable:=true; // Test yozish Cur:=1; z:=1; For j:=1 to TestFaylCount.Value do // test faylicha begin For x:=1 to DT[j] do // fayldan nechta test olish begin b:=RandomRange(1,DUT[j]); D[j].Activate; D[j].Tables.item(b).Cell(1, 1).Range.Copy; D2.Activate;

72

Page 73: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

D2.Tables.item(1).Cell(Cur, 1).Select; W.Selection.Paste; W.Selection.Range.InsertBefore( IntToStr(z)+'. '); D2.Tables.item(1).Cell(Cur, 1).Range.Font.Bold:=true; s:=Random(23); For y:=1 to 4 do begin D[j].Activate; D[j].Tables.item(b).Cell(y+1, 1).Range.Copy; D2.Activate; D2.Tables.item(1).Cell(Cur+test[s].j[y], 1).Select; W.Selection.Paste; W.Selection.Range.InsertBefore(Chr(64+test[s].j[y])+ ') '); end; Kalit.Tables.item(1).Cell(z+1, i+1).Range.Text:=Chr(64+test[s].j[1]); inc(Cur,5); inc(z); end; end; // Test yozish D2.Tables.item(1).Range.Font.Size := 12; D2.Tables.item(1).Range.Font.Name := 'Times New Roman'; D2.Tables.item(1).select; W.Selection.Rows.ConvertToText(Separator:=wdSeparateByParagraphs, NestedTables:=True) ; W.Selection.ParagraphFormat.SpaceBefore := 0; W.Selection.ParagraphFormat.SpaceBeforeAuto := False; W.Selection.ParagraphFormat.SpaceAfter := 0; W.Selection.ParagraphFormat.SpaceAfterAuto := False; W.Selection.ParagraphFormat.LineSpacingRule := wdLineSpaceSingle; if FileExists(Path.Text+'\'+IntToStr(i)) then DeleteFile(Path.Text+'\'+IntToStr(i)); D2.SaveAs(Path.Text+'\'+IntToStr(i)); D2.Close(false); end; For j:=1 to TestFaylCount.Value do D[j].Close(False); Kalit.Close(true); except ShowMessage('Fayl bilan ishlashga xatolik'); end;finallyW.Quit;W:=UnAssigned;end;ShowMessage(' Test variantlari ko`rsatilgan'+#10+ Path.text+#10+ 'Katalogida hosil bo`ldi.Omad!!! ');

Talaba uchun testni generatsiya qilish kodi

73

Page 74: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

// Test faylini talaba uchun generatsiya qilish qismiif FileExists(F11.Text) then begin try try W:=CreateOleObject('Word.Application'); //W.visible:=true; W.Documents.Open(FileName:=F11.Text,ReadOnly:=true); D:=W.ActiveDocument; n:=D.Tables.Count; W.Documents.Add; D2:=W.ActiveDocument; D2.PageSetup.Orientation := 0; // 1; D2.PageSetup.TopMargin := 28; D2.PageSetup.BottomMargin := 28; D2.PageSetup.LeftMargin := 56; D2.PageSetup.RightMargin := 28; For i:=1 to n do begin MyRange:=D2.Range(D2.Range.End-1,D2.Range.End-1); D2.Tables.Add(Range:=MyRange,NumRows:=5,NumColumns:=1); D2.Range.InsertAfter(' '); D2.Tables.item(i).Range.Font.Size := 14; D2.Tables.item(i).Range.Font.Name := 'Times New Roman'; D2.Tables.item(i).AutoFitBehavior(2); D2.Tables.item(i).Borders.Enable:=true; // Satr,Ustun D.Activate; D.Tables.item(i).Cell(1, 1).Range.Copy; D2.Activate; D2.Tables.item(i).Cell(1, 1).Select; W.Selection.Paste; W.Selection.Range.InsertBefore( IntToStr(i)+'. '); D2.Tables.item(i).Cell(1, 1).Range.Font.Bold:=true; t:=Random(23); For j:=1 to 4 do begin D.Activate; D.Tables.item(i).Cell(j+1, 1).Range.Copy; D2.Activate; D2.Tables.item(i).Cell(test[t].j[j]+1, 1).Select; W.Selection.Paste; W.Selection.Range.InsertBefore(Chr(64+test[t].j[j])+ ') '); end; end; s:=ExtractFilePath(F11.Text); s1:=ExtractFileExt(F11.Text); s2:=ExtractFileName(F11.Text); s2:=Copy(s2,1,Length(s2)-Length(s1)); s:=s+s2+'TalabaUchun'+s1;

74

Page 75: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

if FileExists(s) then DeleteFile(s); D2.SaveAs(s); D2.Close(false); D.Close(false); ShowMessage('Berilgan test fayli'+#10+ s+#10+ 'Manzilda saqlandi. Omad!!!'); except ShowMessage('Fayl bilan ishlashga xatolik'); end; finally W.Quit; W:=UnAssigned; end; // Test faylini talaba uchun generatsiya qilish qismi

2.4. Test variantini yaratuvchi dasturidan foydalanish uchun ko`rsatma.

Biz talabalarning bilimini tekshirish va ularning bilimini to`gri baholash

maqsadida turli xildagi test variantlaridan foydalanamiz. Bu test variantlarini

yaratishda test yaratuvchidan ko`p vaqt va mashaqqatni talab qiladi. Bunday

ishlarni yanada osonlashtirish maqsadida ushbu dasturni ishlab chiqdik. Yaratgan

dasturimizning yana bir afzallik tomonlaridan biri murakkab tipdagi matnlarni,

formulalarni ham o`qiy oladi. Berilgan testlardan, test variantlarini

shakklantiruvchi dasturdan foydalanish uchun bir nechta talablar qo`yilgan. Shu

talablar omadli bajarilsa, foydalanuvchi bu dasturdan samarali foydalanishi

mumkin. Aks holda, dasturda xatolik ro`y bergani haqidagi xabar sizga namoyish

etiladi. Agar siz dasturdan foydalanayotgan vaqtingizda biror narsaga

tushunmasangiz ushbu yordam tugmasi orqali barcha savollaringizga javob

olishingiz mumkin bo`ladi.

Dasturni foydalanish qo`llanmasi (talablari) quyidagilardan iborat:

Biz dasturning .exe faylini ishlatgandan so`ng, bizga quyidagi oyna ochiladi

(2.4.1-chizma).

75

Page 76: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.4.1-chizma. Dasturning ko`rinish oynasi.

Bu oyna 6 bo`limdan iborat bo`lib, har bir bo`limning o`z vazifasi belgilab

berilgan va quyidagilardan iborat:

7. “Test fayllari” oynasini tanlaganimizdan so`ng, uning “Test fayli

soni” sohasida fayllar soni ko`rsatiladi. Test fayllar sonini boshqariladi va 10

tagacha fayllarni tanlash imkoniyati bor. Tanlangan fayllarni o`chirish imkoniyati

mavjuddir. Bizga mos ravishda faylni tanlash uchun Test fayllari soni, variantdagi

savollarning “umumiy soni” va shu umumiy savollardan”Nechta test” olish

kerakligi ko`rsatiladi. “Fayl to`g`riligini tasdig`i” uchun tanlangan fayl talabga

javob berishi, yoki nima uchun javob bermasligi haqida ma`lumotchiqadi (2.4.2-

chizma).

76

Page 77: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

2.4.2-chizma. Test fayllari bo`limining ko`rinishi.

Variantdagi savollar soniga umumiy savollardan nechtadan test olinishi

ko`rsatilganligini jami soni chiqadi. Agar biz testlar faylini tanlaganimizdan so`ng,

u biz qo`ygan fayl tayyorlash talabiga to`g`ri kelsa, “OK” degan qiymat namoyish

etiladi. Aks holda, qaysi tartib nomeridagi faylga xatolik bo`lsa, o`sha satrga

faylning k - jadvalda xatolik mavjud degan yozuv “Fayl to`g`riligining tasdig`i”

sohasida ko`rinadi. to`rtinchi faylga talabga mos tarzdagi faylni tanlasak, bizga

“OK” yozuvi va yettinchi faylga noto`g`ri faylni joylashtirsak, “7-jadvalda xatolik

bor” yozuvi ko`rinadi.

Agar dasturda nechta fayl tanlangan bo`lsa ularni ishlatish majburiydir.

Ya`ni test fayli tanlangandan keyin, shu faylning umumiy testlar sonidan nechta

test deb nomlanuvchi sohasining qiymati nolga teng bo`lishi mumkin emas .

Test faylining qo`shilishi va kamayishida biz Test fayli\Test fayli soniga

qiymatini o`zgartirishga amalga oshiriladi. Agar biz aksincha, test fayli sonini

qiynatini kamaytirsak natijasida fayllar sonham kamayadi. Fayllar soni natural

sondan tashkil etilishi kerak. Shuning uchun eng kichik qiymati 1, kata qiymati esa

10 ga tengdir.

77

Page 78: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

8. “Tasdiqlash” oynasidagi “Sarlavha” sohasida tayyorlangan shablon

test yaratilayotgan vaqtda test variantlarining sarlavha qismida va “Tasdiqlayman”

dagi shablon tasdiqlash qismida chiqadi.(2.4.3-chizma)

2.4.3-chizma. Tasdiqlash oynasining ko`rinishi.

9. “Talaba uchun testni generatsiyalash” oynasi. Biz bilamizki, test

yaratuvchi bizning talablarga mos ravishda to`g`ri javoblar keltirilgan test

fayllarini topshiradi. Barcha to`g`ri javoblar A variantida ko`rsatilgan bo`lsa, bu

javoblarni talabaga berib bo`lmaydi. O`qituvchi bu javoblarni joyini qo`l bilan

almashtirmasligi uchun generatsiyalash (o`rin almashtirish) usuli yordamida yangi

test faylini hosil qilishimiz mumkin. Ko`rsatilgan faylning davomida

“TalabaUchun” degan so`z birikmasi bilan yangi fayl hosil bo`ladi. Buning uchun

“Talaba uchun testni generatsiyalash” oynasidan foydalanamiz (2.4.4-chizma).

a) Talaba uchun generatsiya qilish jarayoni

78

Page 79: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

b) Talaba uchun shakllangan Word fayli natijasi

(2.4.4-chizma). Talaba uchun testni generatsiyalash oynasi va natijasi.

Bu oynada “ Test fayli manzili va uni tanlash” sohasini tugma orqali

tanlashimiz kerak va “umumiy soni” nomli sohasida avtomatik bor bo`lgan

umimiy test sonining qiymati tushadi. “Fayl to`g`riligini tasdig`i” sohasida

faylning barcha talablari bajarilsa “OK” yozuvi, fayl talabga javob bermasa

jadvaldagi xatolik haqida yozuv chiqadi. Agar foydalanuvchi faylni

tanlamasdan “Berilgan test faylini talaba uchun javoblarni almashtirib ber”

tugmasini bosganda, “Test faylini tanla!” degan xabar oynasi ekranga

namoyish etiladi. Foydalanuvchi talabga mos faylni tanlab “Berilgan test

faylini talaba uchun javoblarni almashtirib ber” tugmasini bosgandan so`ng,

dastur test variantlarini generatsiya qilib beradi.

10. „Yordam“ oynasi. Bunda foydalanuvchi uchun dasturni ishlatish va

test variantlari fayllarining tayyorlanishiga qo`yiladigan talablar haqidagi

ko`rsatmalar shu tugmani bosganda, batafsil yoritib beriladi (2.4.5 - chizma).

2.4.5-chizma. Dasturning yordam qismi

79

Page 80: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

11. „Mualliflar“ oynasi. Bu soha tanlanganida dasturning mualliflari

haqidagi ma`lumot namoyish etiladi (2.4.6-chizma).

2.4.6-chizma. Mualliflar oynasi.

12. „ Testni shakllantirish“ oynasi orqali biz test variantlarini shakklantira

olamiz (2.4.7-chizma). Bu oynada „Variantlar soni“ sohasida variantlar sonini

kiritib, „Variantlar joylashadigan katalog“ sohasida yaratiladigan testlarni dastur

qaysi katalogda saqlashi ko`rsatiladi. „Tayyorlash“ tugmasi bosilsa, test

variantlarini shakllantirib beradi. Agar “Variantlar joylashadigan katalog” sohasi

tanlanmasdan “Tayyorlash” tugmasi bosilsa, foydalanuvchi ekranida, “Variantlar

joylashadigan katalogni ko`rsating” degan yozuv xabarnoma sifatida taqdim

etiladi.

2.4.7-chizma. Testni shakllantirish oynasi.

80

Page 81: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Bu oynada test variantlarini shakllantirish bilan bir qatorda testni generatsiya

qilib, testning javob kalitlarini ham shakllantirib beradi.

Test ishlashi uchun talablar.

- Office dasturi aktivatsiya qilingan bo`lishi va office paketining word ilovasi

ochilganda so`rov chiqmasligini ta`minlash

- Test fayllari Word 1997-2003 versiyasiga saqlangan bo`lishi kerak (*.doc).

Test fayllariga qo`yiladigan talablar.

- Word dasturida testlar jadvalda joylashtirilgan bo`lishi shart va zarurdir. Har bir

jadval alohida-alohida bo`lishi va birta ustun beshta satrdan iborat bo`lishi

kerak. Birinchi satrda savol, ikkinchi satrda to`g`ri javob, qolgan satrlarda esa

javoblar bo`ladi. Savollar yonida sonlar (1, 2, 3, …n) va javoblar yonida esa

harflar (A, B,C,D) lar bo`lmasligi shart. Savollar javoblar belgilanmagan

bo`lishi kerak.

- Testni savoli ham bo`lishi kerak va u birinchi satrda.

- Testning to`g`ri javobi A) kalitida joylashtirilgan bo`lishi kerak;

- Testning javob variantlari qaytarilishining oldi olinishi kerak;

- Test javoblar soni 4 tadan oshmasligi ham, kam bo`lmasligi ham kerakdir.

Agar testlarning javoblari soni 4 ta bo`lmasa, dasturni ishlatilish vaqtida test

fayllarini tanlagandan so`ng „Fayl to`g`riligining tasdig`i“ sohasida jadvalda

xatolik borligi haqida xabar beriladi. Aksincha, javoblar soni 4 ta bo`lsa, shu

sohada „OK“ yozuvli xabar chiqadi.

- Worddagi tayyorlangan test fayllarida test bo`lishi kerak, hech

bo`lmasa 100 ta.

II. bo`yicha xulosa. Bitiruv malakaviy ishimning ikkinchi bobi yuqorida aytilganidek, “Berilgan

testlardan test variantlarini shakllantiruvchi dastur yaratish” deb nomlanadi. Bu

bobning o’zi to`rt qismga bo’lingan bo’lib, birinchi qismi “Delphida Offisni

avtomatlashtirishning umumiy prinsiplari va word dasturiy vositasi bilan ishlash”

81

Page 82: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

deb nomlanadi. Bu qismda Delphi muhitida Office ilovalar, Word bilan ishlash

haqida gapirib o`tganmiz. Ikkinchi qismi “Test variantlarini yaratuvchi dasturning

spetsifikatsiyasi” deb nomlanib, bunda dasturni yaratish uchun masalani texnik

qo`yilishi haqida gapirib o`tganmiz. Dasturimizning qay darajada ishlashining

analitikasi keltirilgan. Uchinchi qismi “Test variantini formalari va uning

modullari” deb nomlanib, bunda dasturimizda foydalangan har bir komponenta,

xususiyati, hodisalari va shu hodisaga yozilgan dastur matni haqida ko`rib chiqdik.

To`rtinchi qismi “Test variantini yaratuvchi dasturidan foydalanish uchun

ko`rsatma” deb nomlanib, bunda shu dasturimizdan foydalanish uchun

ko`rsatmasini keltirdik.

82

Page 83: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

XotimaBitiruv malakaviy ishimning birinchi bobi, “Dasturni yaratish uchun

foydalaniladigan dasturiy vositalar” deb nomlanadi. Bu bobning o’zi ham uch qismga bo’lingan bo’lib, birinchi qismi “Delphi muhitida ishlash” deb nomlanib, delphi muhitida ilovalar yaratish, muhitning oynalari va dasturni kompilatsiya qilish va ishga tushirish haqida ko`rilgan. Delphida konsol va windows ilovalar yaratish haqida ko`rildi. Ikkinchi qismi “Delphidagi asosiy komponentalar va ularning xususiyatlari, hodisalari” deb nomlanib, Delphida foydalaniladigan komponentalar va ularning qaysi palitraga joylashganligi haqida gapirib o`tdik. Har bir komponentani xususiyatlari va ularning vazifalari keltirilib, ayrimlarini misollar bilar yoritdik. Bu komponentalarning hodisalarini qarab o`tdik. Bu hodisalar qachon va qay vaqtda ishlashi haqida ham tushuntirdik. Bu komponentalar haqida ma`lumot bizlarga zarur bo`lgani uchun buni ko`rib chiqdik. Sababi test variantlarni hosil qilishimiz uchun dephi dasturlash muhitida shu komponentalardan foydalanamiz. Uchinchi qismi “Delphi muhiti orqali MS Office bilan ishlash” deb nomlanib, COM texnologiyasi haqida ko`rdik. Bu texnologiya orqali MS Office ning modelli obyektlari va ularni dasturlash muhitlari bilan boshqarish haqida ko`rib o`tdik. Word va Excel dasturiy vositalarini elementlarini tuzilmasi bilan ishlash haqida ham ko`rib o`tilgan.

Bitiruv malakaviy ishimning ikkinchi bobi, “Berilgan testlardan test variantlarini shakllantiruvchi dastur yaratish” deb nomlanadi. Bu bobning o’zi to`rt qismga bo’lingan bo’lib, birinchi qismi “Delphida Offisni avtomatlashtirishning umumiy prinsiplari va word dasturiy vositasi bilan ishlash” deb nomlanib, Delphi muhitida Office ilovalar, Word bilan ishlash haqida qaralgan. Ikkinchi qismi “Test variantlarini yaratuvchi dasturning spetsifikatsiyasi” deb nomlanib, dasturni yaratish uchun masalani texnik qo`yilishi haqida gapirib o`tganmiz. Dasturimizning qay darajada ishlashining analitikasi keltirilgan. Uchinchi qismi “Test variantini formalari va uning modullari” deb nomlanib, dasturimizda foydalangan har bir komponenta, xususiyati, hodisalari va shu hodisaga yozilgan dastur matni haqida ko`rilgan. To`rtinchi qismi “Test variantini yaratuvchi dasturidan foydalanish uchun ko`rsatma” deb nomlanib, dasturimizdan foydalanish uchun ko`rsatmasini keltirdik.

83

Page 84: 213.230.96.51:8090213.230.96.51:8090/files/ebooks/Bitiruv malakaviy ishlar/…  · Web viewO’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI. BUXORO DAVLAT UNIVERSITETI

Foydalanilgan adabiyotlar1. Karimov I.A. «Yuksak ma'naviyat yengilmas kuch».

2. Каримов И.А. Баркамол авлод орзуси,- Ташкент «Шарк», 1999.

3. Nazirov Sh.A., Musayev M.M. va b. Delphi tilida dasturlash asoslari. O’quv

qo’llanma. Toshkent-2008, - 277 bet.

4. Жалолов О.И., Хаятов Х.У., Жалолов Ф.И. Delphi 7 муҳитида ишлаш. 1-

қисм. Бухоро 2008., -160 бет

5. Дарахвелидае П. Г., Марков Е. П. Программирование в Delphi 7. -СПб.:

БХВ-Петербург, 2003.-784 с : ил.

6. Корняков В. Н., Программирование документов и приложений MS Office

в Delphi. СПб. : БХВ-Петербург , 2005. — 496 с : ил .

7. Н.Елманова, С.Трепалин, А.Тенцер. Delphi и технология COM (+CD).

Мастер-класс/ –СПб.: Питер, 2003. – 698с.: ил.

8. Кэнту М. Delphi 7: Для профессианалов. – СПб.: Питер, 2004. – 1101 с.:ил.

9. С. И. Бобровский. Delphi 7. Учебный курс. — СПб.: Питер, 2004. — 736

С.: ил.

10.Флёнов М.Е. - Библия Delphi. 3-е изд.,перераб.и доп. – СПб.: Питер, -

2011, БХВ-688 с.:ил.+CD-ROM

11. Кузан Д. Я., Шаноров В. Н. Программирование Win32 API в Delphi. -

СПб.: БХВ-Петербург, 2005. —368 с: ил.

12.Владимир Гофман, Анатолий Хомоненко. Delphi. Быстрый старт. —

СПб. : БХВ-Петербург, 2003. — 288 с: ил.

13.Культин Н. Б. Основы программирования в Delphi 7. — СПб.: БХВ-

Петербург, 2003. - 608 с.: ил.

14.Фленов М. Программирование в Delphi глазами хакера. — СПб.: БХВ-

Петербург, 2004. - 368 с.: ил.

15.Стивене Р. Delphi. Готовые алгоритмы / Род Стивене; Пер. с англ.

Мерещука П. А. - 2-е изд., стер. - М. : ДМК Пресс ; СПб.: Питер, 2004. - 384

с.: ил.

16.М.В. Сухарев. Основы Delphi. Профессиональный подход — СПб.: Наука

и Техника, 2004. — 600 с.: ил.

84