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);
begin
W:=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 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);
begin
W.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 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);
begin
W.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:
2.1.3 – chizma. Add metodi yordamida argumenti orqali, hujjat yaratilgan.
Shablon bo`yicha hujjat yaratish.
Procedure TForml.Button3Click(Sender: TObject);
var dir_:string;
begin
GetDir(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 avvalroq yaratilgan hujatga o`zgartirishlar kiritish kerak bo`lsa. Documents kolleksiya metodlari yordaimda uni o`zgartiramiz.