Na koniec seriálu makier, ktoré sú určené pre prípravu slov do slovenského slovníka už iba spomeňme, že v makre sme definovali aj také prefixy, ktoré nie sú súčasťou definičného súboru (do, na, nad...). Preto tieto prefixy musíme manuálne pridať k základnému slovu a tak dokážeme pripraviť jediným volaním viacero slov do slovníka.
function otvor_subor_sk_SK_odt (oSubor) as boolean
dim cesty as object
dim url as string
dim novy as boolean
cesty=CreateUnoService("com.sun.star.util.PathSettings")
url=cesty.Work+"/sk_SK.odt"
novy=not FileExists(url)
if novy then
url="private:factory/swriter"
endif
oSubor=StarDesktop.loadComponentFromURL(url, "_blank", 0, Array())
otvor_subor_sk_SK_odt=novy
end function
sub uloz_subor_sk_SK_odt (oSubor, novy)
dim cesty, dispatcher as object
dim url as string
if novy then
cesty=CreateUnoService("com.sun.star.util.PathSettings")
url = cesty.Work+"/sk_SK.odt"
oSubor.storeAsUrl(url, Array())
else
oSubor.store()
endif
'oSubor.dispose()
end sub
function daj_flagy as string
dim pom as string
pom=""
if oDialog_slovnik.model.pfx_F.State=1 then pom=pom+"F"
if oDialog_slovnik.model.sfx_mz.State=1 then pom=pom+"z"
if oDialog_slovnik.model.sfx_Z.State=1 then pom=pom+"Z"
if oDialog_slovnik.model.sfx_U.State=1 then pom=pom+"U"
if oDialog_slovnik.model.sfx_D.State=1 then pom=pom+"D"
if oDialog_slovnik.model.sfx_K.State=1 then pom=pom+"K"
if oDialog_slovnik.model.sfx_M.State=1 then pom=pom+"M"
if oDialog_slovnik.model.sfx_S.State=1 then pom=pom+"S"
if oDialog_slovnik.model.sfx_V.State=1 then pom=pom+"V"
if oDialog_slovnik.model.sfx_A.State=1 then pom=pom+"A"
if oDialog_slovnik.model.sfx_C.State=1 then pom=pom+"C"
if oDialog_slovnik.model.sfx_H.State=1 then pom=pom+"H"
if oDialog_slovnik.model.sfx_B.State=1 then pom=pom+"B"
if oDialog_slovnik.model.sfx_J.State=1 then pom=pom+"J"
if oDialog_slovnik.model.sfx_L.State=1 then pom=pom+"L"
if oDialog_slovnik.model.sfx_O.State=1 then pom=pom+"O"
if oDialog_slovnik.model.sfx_mo.State=1 then pom=pom+"o"
if oDialog_slovnik.model.sfx_Q.State=1 then pom=pom+"Q"
if oDialog_slovnik.model.sfx_Y.State=1 then pom=pom+"Y"
if oDialog_slovnik.model.sfx_I.State=1 then pom=pom+"I"
if oDialog_slovnik.model.sfx_P.State=1 then pom=pom+"P"
if oDialog_slovnik.model.sfx_X.State=1 then pom=pom+"X"
if oDialog_slovnik.model.sfx_E.State=1 then pom=pom+"E"
if oDialog_slovnik.model.sfx_W.State=1 then pom=pom+"W"
if oDialog_slovnik.model.sfx_T.State=1 then pom=pom+"T"
if oDialog_slovnik.model.sfx_R.State=1 then pom=pom+"R"
if oDialog_slovnik.model.sfx_mb.State=1 then pom=pom+"b"
if oDialog_slovnik.model.sfx_c_c.State=1 then pom=pom+"č"
daj_flagy=pom
end function
sub zapis_definiciu
dim vysledok, slovo, pomslovo, sufixy as string
dim dokument, kurzor, oDoc as object
dim novy as boolean
slovo=trim(oDialog_slovnik.model.Slovo_slovnika.Text)
vysledok = ""
if slovo<>"" then
sufixy=daj_flagy
vysledok=sufixy
if oDialog_slovnik.model.pfx_N.State=1 then vysledok="N"+vysledok
if vysledok<>"" then vysledok="/"+vysledok
vysledok=slovo+vysledok
novy=otvor_subor_sk_SK_odt(dokument)
' Základné slovo
kurzor=dokument.currentcontroller.getViewCursor()
kurzor.gotoEnd(false)
if novy then
kurzor.setstring("# verzia: 0.5.7-b2"+chr$(13))
kurzor.gotoEnd(false)
endif
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
' Pre všetky prefixy
vysledok=sufixy
if oDialog_slovnik.model.spfx_do.State=1 then
pomslovo="do"+slovo
if oDialog_slovnik.model.spfx_ne_do.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_na.State=1 then
pomslovo="na"+slovo
if oDialog_slovnik.model.spfx_ne_na.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_nad.State=1 then
pomslovo="nad"+slovo
if oDialog_slovnik.model.spfx_ne_nad.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_o.State=1 then
pomslovo="o"+slovo
if oDialog_slovnik.model.spfx_ne_o.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_ob.State=1 then
pomslovo="ob"+slovo
if oDialog_slovnik.model.spfx_ne_ob.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_po.State=1 then
pomslovo="po"+slovo
if oDialog_slovnik.model.spfx_ne_po.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_pre.State=1 then
pomslovo="pre"+slovo
if oDialog_slovnik.model.spfx_ne_pre.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_pri.State=1 then
pomslovo="pri"+slovo
if oDialog_slovnik.model.spfx_ne_pri.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_spolu.State=1 then
pomslovo="spolu"+slovo
if oDialog_slovnik.model.spfx_ne_spolu.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_roz.State=1 then
pomslovo="roz"+slovo
if oDialog_slovnik.model.spfx_ne_roz.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_spo.State=1 then
pomslovo="spo"+slovo
if oDialog_slovnik.model.spfx_ne_spo.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_u.State=1 then
pomslovo="u"+slovo
if oDialog_slovnik.model.spfx_ne_u.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_vy.State=1 then
pomslovo="vy"+slovo
if oDialog_slovnik.model.spfx_ne_vy.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_vy_y.State=1 then
pomslovo="vý"+slovo
if oDialog_slovnik.model.spfx_ne_vy_y.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_z.State=1 then
pomslovo="z"+slovo
if oDialog_slovnik.model.spfx_ne_z.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
vysledok=sufixy
if oDialog_slovnik.model.spfx_za.State=1 then
pomslovo="za"+slovo
if oDialog_slovnik.model.spfx_ne_za.State=1 then
vysledok="N"+vysledok
endif
if vysledok<>"" then vysledok="/"+vysledok
vysledok=pomslovo+vysledok
kurzor.setstring(vysledok+chr$(13))
kurzor.gotoEnd(false)
endif
uloz_subor_sk_SK_odt (dokument, novy)
endif
end sub
sub Skontroluj_slovo
DialogLibraries.LoadLibrary("SK_SK_Slovnik")
oDialog_slovnik=CreateUnoDialog(DialogLibraries.SK_SK_Slovnik.Dialog_slovnik)
if not nacitana_definicia then
nacitana_definicia=Slovnik_init.citaj_definiciu
endif
if nacitana_definicia then
Slovnik_init.slovnik_init(oDialog)
if oDialog_slovnik.Execute()=1 then
zapis_definiciu
endif
endif
oDialog_slovnik.dispose()
end sub