Július Pastierik / 23. 05. 2007, 00:00
V (takmer) poslednom dieli o formátovaní dokumentu si ukážeme, ako vlastne dokážeme všetky naprogramované funkcie a dialógy využiť pomocou niekoľkých jednoduchých funkcií a procedúr.
Doteraz sme si uviedli všetky funkcie, ktoré chceme používať pre formátovanie nášho dokumentu. Zároveň sme si naprogramovali aj dialógový modul, pomocou ktorého dokážeme nastaviť viacero používateľských profilov. Ako to však všetko zjednotiť, aby sme v tom mali prehľad? Najlepšie tak, že si vytvoríme (ako sme už spomínali v minulých dieloch) modul „Formatovanie“, kde si naprogramujeme tieto makrá:
REM Makro pre načítanie nastavených formátovacích parametrov aktuálneho profilu
sub Nastav_formatovanie
' ON-line/Off-line nahrádzanie sa riadi manuálne alebo automaticky pomocou funkcií,
' ktoré sú definované v module "Nezalomitelne_predlozky" a tu sa tym nezaoberame
if Profily_funkcie.aktualny_profil="" then
' Ak nie je vybraný iný profil, nastaví sa defaultný profil
Profily_funkcie.aktualny_profil="Default"
endif
' Načítame parametre
Profily_funkcie.Citaj_definiciu_profilu(Profily_funkcie.aktualny_profil)
end sub
REM Makro pre celkové formátovanie dokumentu
sub Formatuj_dokument
dim kolko as long
Nastav_formatovanie
Formatovanie_funkcie.Init
kolko=Formatovanie_funkcie.f_Viacnasobna_Medzera(_
Profily_funkcie.Priznaky_formatovania(9),_
Profily_funkcie.Priznaky_formatovania(10),_
Profily_funkcie.Priznaky_formatovania(12),_
Profily_funkcie.Priznaky_formatovania(11),_
Profily_funkcie.Priznaky_formatovania(13))
if Profily_funkcie.Priznaky_formatovania(14)=1 then
kolko=kolko+f_Prazdny_odstavec
endif
if Profily_funkcie.Priznaky_formatovania(1)=1 then
kolko=kolko+f_Nezalomitelne_Spojky(Profily_funkcie.Priznaky_formatovania(3),_
Profily_funkcie.Priznaky_formatovania(2))
endif
if Profily_funkcie.Priznaky_formatovania(5)=1 then
kolko=kolko+f_Nezalomitelne_Tituly(Profily_funkcie.Priznaky_formatovania(6))
endif
if Profily_funkcie.Priznaky_formatovania(7)=1 then
kolko=kolko+f_Nezalomitelne_Cisla(Profily_funkcie.Priznaky_formatovania(8))
endif
kolko=kolko+f_Vloz_Interpunkcia_Medzera(Profily_funkcie.Priznaky_formatovania(15),_
Profily_funkcie.Priznaky_formatovania(16))
msgbox("Prevedných "+kolko+" náhrad.", 0,"Formátovanie textu")
end sub
REM Niekoľko makier ako ukážky aj iných volaní, než pomocou celkového formátovania dokumentu
REM Makro pre vymazanie prázdnych odstavcov
sub Prazdny_odstavec
Formatovanie_funkcie.Init
msgbox("Vymazanie "+Formatovanie_funkcie.f_Prazdny_odstavec()+" prázdnych odstavcov.", 0,"Prázdne odstavce")
end sub
REM Makro pre vkladanie NBSP za predložky a spojky
sub Nezalomitelne_Spojky
Formatovanie_funkcie.Init
msgbox("Vložených "+Formatovanie_funkcie.f_Nezalomitelne_Spojky(1,1)+" nezalomiteľných medzier.", 0,"Nezalomiteľné spojky a predložky")
end sub
Pre vlastnú prácu nám teraz stačia dve makrá – prvé je makro „Nastav_Profil_Formatovania“, ktoré nájdeme v module „Profily_funkcie“ a druhé je makro „Formatuj_dokument“, ktoré sme si práve naprogramovali do modulu „Formatovanie“. Ako ste si mohli všimnúť, v makre „Formatuj dokument“ sa nachádza na konci riadkov znak podčiarknutia. Je to regulárny zápis v jazyku StarOffice Basic v prípade, že riadok je príliš dlhý a chceme ho takto rozdeliť na viacero riadkov, aby sme nestratili potrebný prehľad.
Pravdaže, ako sme si uviedli v predchádzajúcich zdrojových textoch, môžeme si vytvoriť viacero pomocných funkcií, ktoré budú volať iba niektoré z naprogramovaných funkcií so špecifickým nastavením parametrov. To všetko však už záleží od každého používateľa a jeho požiadavok.
Končíme piatu, veľmi veľkú časť o programovaní makier v OpenOffice.org. V šiestej časti budeme ešte stále pokračovať v oblasti práce s textovým procesorom Writer a uvedieme si niekoľko zaujímavých a praktických makier, ako je napríklad vzájomná zámena znakov Word Joiner za Non Break Space, zámena troch bodiek za znak „trojbodky“ a pod.
Na záver, ako obvykle, prikladáme odkaz na PDF verziu piatej časti seriálu o programovaní makier v OpenOffice.org – súbor „makra_v_ooo_5.pdf“, veľkosť 1.031.945 byte, MD5 kontrolný súčet 3177ACBEE3C5432AB62400AE619A1CD3.
Copyright © 2002 - 2013 inet.sk, s. r. o. | Všetky práva vyhradené | Neprešlo jazykovou úpravou | ISSN 1336-1899
Využívame kvalitný webhosting za rozumnú cenu od Inet.sk