II. Berilgan testlardan test variantlarini shakllantiruvchi dastur yaratish 2.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 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;
Var IE:variant;
Procedure TMainForm.ButtonlClick(Sender: TObject);
begin
IE:=CreateOleObject('InternetExplorer.Application');
IE.Visible:=true; // Ikkita buyruqda birini tanlash kerak
IE.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:
(Word, Excel) dasturini ishga tushgan yoki tushmagangini tekshirish.
Agar dastur ishga tushmagan bo`sa ishga tushirish.
Dastur yoki hujjat ustida kerakli murakkab ishlarni bajarish.
Hujjat va dasturni yopish.
Xotirani tozalash.
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 yaratiladi
|
2.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
|
Delphi muhitida avtomatizatsiya kontrollerlari yaratishni ko`rib chiqdik. Endi Office paketini tarkibida kiruvchi Word ilovasi bilan ishlashni ko`rib chiqamiz.
Do'stlaringiz bilan baham: |