Pri praktickej práci s OpenOffice.org často používame dialógové okno „Nájsť a nahradiť“ (klávesová skratka „Ctrl + F“). Mnohým však nevyhovuje to, že napríklad zaškrtávacie políčko pre regulárne výrazy sa zobrazí až po stlačení tlačidla „Viac volieb“, pričom si OpenOffice.org nepamätá ani jeho predchádzajúce nastavenie. Toto platí pre každé otvorenie tohto dialógového okna, takže ak často používame práve regulárne výrazy, je táto práca veľmi spomalená.
Preto si teraz naprogramujeme vlastné dialógové okno pre nahrádzanie textu. V doterajších dieloch sme si naprogramovali dve vlastné funkcie, pomocou ktorých sme nahrádzali jeden reťazec druhým. Konkrétne ide o funkcie „Vymen“ a „Vymen_hladanim“, ktoré sme si uložili do modulu makier „Formatovanie_funkcie“.
V stručnosti si pripomeňme, že funkcia „Vymen“ využíva štandardné služby pre zámenu reťazcov s tým, že môžeme nastaviť tri logické parametre pre vyhľadávanie – regulárne výrazy, celé slová a rozlišovanie veľkosti písmen. Funkcia „Vymen_hladanim“ je už zložitejšia, pretože ako parametre nemáme dva, ale tri reťazce. Je to tak preto, lebo v tejto funkcii zamieňame celý nájdený reťazec, ale iba jeho vnútornú časť. Pravdaže, aj tu máme možnosť použiť už spomenuté tri logické parametre pre vyhľadávanie.
Tieto funkcie sa nám preto priamo ponúkajú na to, aby sme si pripravili vlastný dialóg pre vyhľadávanie. Dialóg nazveme „Dialog_Zamena“ a musí obsahovať aspoň tieto položky: tri textové polia, ktoré nazveme „V_retazci“, „Hladat“ a „Nahradit_za“; tri zaškrtávacie políčka – „Regularne_vyrazy“, „Cele_slova“ a „Velke_pismena“; dve tlačidlá – „Zamenit“, ktorému priradíme typ tlačidla „OK“ a „Zrusit“, ktorému priradíme typ „Cancel“ („Zrušiť“). Okrem toho si jednotlivé položky doplníme vhodnými textovými popismi.
Vlastnej tvorbe dialógu sa už, samozrejme, nebudeme venovať, pretože na to boli určené predchádzajúce diely, kde sme sa tomu podrobne venovali. Teraz nám nezostáva už nič iné, iba naprogramovať vlastné makrá pre obsluhu tohto dialógu s následným volaním už spomínaných vyhľadávacích funkcií.
Aby sme nemuseli zadávať špeciálne zaškrtávacie políčko pre rozlíšenie situácie, kedy chceme využiť funkciu „Vymen“ a kedy funkciu „Vymen_hladanim“, rozlíšime to automaticky podľa toho, či zadáme text do dialógovej textovej premennej V“_retazci“. Ak áno, tak budeme používať funkciu „Vymen_hladanim“, ak nie, tak funkciu „Vymen“. Napokon, z vlastného makra je dosť jasné a prípadne si toto môžete uviesť ako doplňujúcu textovú informáciu aj do vytváraného dialógu.
Aby sa zadané hodnoty a parametre pamätali aj pri nových spusteniach tohto dialógu, príslušné premenné zadefinujeme ako typ GLOBAL. Pretože OpenOffice.org automaticky nastavuje premenné pri ich deklarácii na nulové hodnoty, nemusíme sa starať o to, aké hodnoty budú mať pred prvým spustením. Musíme však počítať s tým, že ak náhodou toto nastavenie nebude v niektorej verzii alebo na niektorom operačnom systéme fungovať, tak pri pri prvom spustení uvidíme náhodné hodnoty.
Makrá si pre lepšiu orientáciu uložíme do modulu „Specialna_zamena“. Pre vlastné vyvolanie s pustenie dialógu so zámenami voláme procedúru „Specialne_zamen“, pričom na konci si vypíšeme, koľko výmen bolo urobených.
REM Premenné si zadefinujeme ako global, aby sa pamätali aj pri ďalšom spustení
REM Pozor! Pri prvom spustení môžu obsahovať náhodné veličiny
global zamen_V_retazci, zamen_Hladat, zamen_Nahradit_za as string
global zamen_Regularne_vyrazy, zamen_Cele_slova, zamen_Velke_pismena as boolean
sub Init_dialog_zameny(oDialog as object)
REM Inicializácia prvkov dialógu
oDialog.model.V_retazci.Text = zamen_V_retazci
oDialog.model.Hladat.Text = zamen_Hladat
oDialog.model.Nahradit_za.Text = zamen_Nahradit_za
if zamen_Regularne_vyrazy then
oDialog.model.Regularne_vyrazy.State=1
else
oDialog.model.Regularne_vyrazy.State=0
endif
if zamen_Cele_slova then
oDialog.model.Cele_slova.State=1
else
oDialog.model.Cele_slova.State=0
endif
if zamen_Velke_pismena then
oDialog.model.Velke_pismena.State=1
else
oDialog.model.Velke_pismena.State=0
endif
end sub
sub vykonaj_zamenu(oDialog as object)
REM Vlastná zámena podľa zadaných hodnôt v dialógu
dim kolko as long
REM Príprava globálnych premenných
zamen_V_retazci = oDialog.model.V_retazci.Text
zamen_Hladat = oDialog.model.Hladat.Text
zamen_Nahradit_za = oDialog.model.Nahradit_za.Text
zamen_Regularne_vyrazy = oDialog.model.Regularne_vyrazy.State=1
zamen_Cele_slova = oDialog.model.Cele_slova.State=1
zamen_Velke_pismena = oDialog.model.Velke_pismena.State=1
REM Príprava dokumentu pre zámenu
Formatovanie_funkcie.Init
if zamen_V_retazci="" then
REM Ak nezadáme reťazec "V_retazci", zamieňame priamo
kolko=Formatovanie_funkcie.Vymen(zamen_Hladat, zamen_Nahradit_za, zamen_Regularne_vyrazy, zamen_Cele_slova, zamen_Velke_pismena)
else
REM Ak zadáme reťazec "V_retazci", zanieňame špeciálne
kolko=Formatovanie_funkcie.Vymen_hladanim(zamen_V_retazci, zamen_Hladat, zamen_Nahradit_za, zamen_Regularne_vyrazy, zamen_Cele_slova, zamen_Velke_pismena)
endif
msgbox("Prevedných "+kolko+" zámien.", 0,"Špeciálne zámeny")
end sub
sub Specialne_zamen
dim oDialog as object
oDialog=CreateUnoDialog(DialogLibraries.Vlastne_makra.Dialog_Zamena)
Init_dialog_zameny(oDialog)
if oDialog.Execute()=1 then
vykonaj_zamenu(oDialog)
endif
oDialog.dispose()
end sub
Na budúce: Makro pre typografické úpravy textu, alebo pozrime sa aj na „konkurenciu“.
Makrá v OpenOffice.org 6/VII. – Vlastný dialóg pre zámeny
Novinky a inšpirácie
Z nášho blogu
Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.
Oznamy
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?
Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...
Oznamy
Večerná „prestávka“ pre server VIP033
Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...
Novinky
Novinky na Inet.sk (09 / 2026)
Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...
Oznamy
Plánovaná údržba v datacentre (20.09.2026)
Stabilita a nepretržitá dostupnosť vašich webov je pre nás kľúčová. Aby sme tento štandard nielen udržali, ale neustále zvyšovali, naši p...
Podpora klientom
Máte ďalšie otázky?
Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.
Naše výhody
Prečo si nás vybrať?
Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.
Slovenská
firma
Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.
Dlhoročné
skúsenosti
Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.
Spokojní
zákazníci
Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.
Maximálna
bezpečnosť
Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.
Ochotná
podpora
Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.
Férová
cena
Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.
Pravidelné
zálohovanie
Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.
Prehľadný
Admin Panel
Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.
Správa
používateľov
Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.
Vernostné
zľavy
Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.
Bez
obmedzení
Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.
WordPress
na 1 klik
Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.
Referencie
Spokojní zákazníci
Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.
"S firmou Inet.sk sme veľmi spokojní, vrelo ju odporúčam. Profesionálny a ústretový prístup pána Slančíka, seriózne jednanie a rýchla implementácia našich požiadaviek, 100% spokojnosť. Všetky služby od webhostingu cez výrobu stránky až po detailný servis počas chodu tu máme pod jednou strechou."
Ing. Jozef Brázdik
BB motors, s.r.o.
"Mal som možnosť vyskúšať rôzne webhostingy, ale nakoniec som sa rozhodol všetky moje stránky zveriť Inet.sk. Webhosting zvláda jednoduché, ale aj veľmi náročné stránky a magazíny. Podporuje najnovšie technológie a má veľmi prehľadnú a jednoduchú správu domén. Komunikácia s technickou podporou Inet.sk je vynikajúca a za mňa môžem túto firmu iba doporučiť."
Richard Horný
Final Vision, s. r. o.
"Pri migrácii našej stránky sme sa stretli s maximálnou podporou a profesionálnym prístupom. Inet.sk nám nielen pomohol celý proces zvládnuť bez komplikácií, ale tiež poskytol odborné poradenstvo, ktoré zabezpečilo hladký prechod. Ich hosting je rýchly a najmä stabilný, rovnako oceňujeme aj ich priateľskú komunikáciu."
Peter Kasan
Svet-mineralov.sk
"Proces migrácie bol zrealizovaný hladko a efektívne, pričom všetky kroky boli vykonané precízne a bez výpadkov. Inet.sk poskytol spoľahlivé a profesionálne riešenie, ktoré zjednodušilo správu domén a optimalizovalo ich prevádzku. Oceňujeme ich stabilnú infraštruktúru a kvalitné hostingové služby."
Lukáš Kazík
LKStudio.sk
"Mám u Inet.sk zaparkovanú jednu doménu a mám pocit, že tam zaparkujem aj všetky ostatné domény, ktoré mám, pretože po dlhoročných skúsenostiach s rôznymi inými firmami, mi Vaše služby vyhovujú zatiaľ najviac. Odporúčam kvôli dobrej konektivite a primeranej cene + rýchly support."
Ladislav Kéry
vypnutieimobilizera.sk
"Po rokoch skúšania dodávateľov na poli webhostingových služieb sme našli svojho spoľahlivého a stabilného partnera tu. Stabilita, ochota, znalosť, dobrá cena a rýchle vyriešenie prípadných problémov - to je pre nás Inet.sk."
Jaroslav Mráz
Allycom, s.r.o.
"Máme u Vás doménu a hosting. So službami sme nadmieru spokojní. Z Vašej strany máme pozitívne skúsenosti ako sú: rýchle jednanie, znalosť v problematike, ochota pomôcť, stabilita, zavádzanie noviniek, ak ich klient vyžaduje a dobrá cena. Za nás môžeme Inet.sk len odporučiť. Ďakujeme."
Mgr. Zuzana Valovičová
BL servis, s.r.o.