Mnohí používatelia potrebujú pri svojej práci vyhľadať a označiť typografické chyby v dokumente, ktorý pripravoval niekto iný. Môže sa jednať nielen o učiteľov, ale aj o bežných používateľov, ktorým už „lezie na nervy“ nekonečné vysvetľovanie týchto pravidiel iným. Pre takéto účely sa hodí makro, ktoré takéto chyby (pravdaže, nie všetky) vyhľadá a označí.
Pozrime sa na úvod na to, aké typografické chyby sa v dokumentoch dajú pomerne ľahko automaticky nájsť a označiť. V základnom členení ich môžeme rozdeliť do troch skupín – nadbytočné medzery, chýbajúce medzery a ostatné chyby.
V prípade nadbytočných medzier dokážeme programovo vyhľadať viacnásobné medzery a tabelátory; medzery a tabelátory na začiatku a na konci odsekov; medzery medzi zátvorkou, úvodzovkou a textom; medzery pred interpunkčnými znamienkami. V prípade chýbajúcich medzier dokážeme vyhľadať chýbajúce medzery za interpunkčným znamienkom – teda medzi interpunkčnými znamienkami a textom. Napokon, ako ostatné chyby dokážeme vyhľadať prázdne odseky.

Pri hľadaní typografických chýb sa však vyskytujú aj výnimky, kedy uvedené možnosti chyby nie sú – napr. v internetových odkazoch či mailových adresách sa nesmie vyskytovať medzera za interpunkčným znamienkom, čo je však v bežnom texte chyba. Preto je vhodné, aby si každý mohol nastaviť, aké chyby sa vlastne budú hľadať a označovať. Na tento účel si preto zadefinujeme dialóg, v ktorom budeme nastavovať, ktoré chyby sa majú hľadať a zároveň umožníme, aby si tieto nastavenia uložil, aby ich mohol kedykoľvek používať bez ďalšieho nastavovania.
Pretože chyby chceme aj označiť, pričom každý môže chcieť používať svoj vlastný spôsob označovania, v dialógu umožníme aj toto nastavenie – chyby umožníme prečiarknuť a podčiarknuť, pričom umožníme výber zo všetkých druhov prečiarkovania a podčiarkovania, ktoré OpenOffice.org poskytuje. Podobne ako pri druhoch chýb aj v tejto časti umožníme, aby si používateľ mohol tieto nastavenia uložiť.

A aby sme hneď vedeli, koľko chýb (ak vôbec) sa v dokumente vyskytuje, budeme ich počet vypisovať. Pravdaže, ako sme naznačili v problematike mailových adries, vypísaný nenulový počet chýb nemusí ešte znamenať, že v dokumente je typografická chyba a, naopak, vypísaný nulový počet chýb nemusí znamenať, že sa v dokumente nenachádza iná chyba. To si však už musí vyriešiť každý sám podľa toho, aký dokument posudzuje.

Pretože makrá sú trochu rozsiahlejšie (sú riešené ako rozšírenie, ktoré môže byť jazykovo lokalizované), ich zdrojové texty uvedieme v troch častiach tohto seriálu. Pre začiatok si dnes uvedieme definície hlavných premenných, funkcie pre jazykovú lokalizáciu a načítavanie definícií zo súboru.
dim CoKontrolovat%(9), CoNastavit%(1), AkoNastavit$(1)
dim sOznam1$, sOznam2$, sOznam3$
dim oDlg
REM Funkcia pre zistenie jazyka OO.o
function Jazyk_OOo as string
dim ConfigProvider, MasterKey as object
dim NodePath(0) as new com.sun.star.beans.PropertyValue
NodePath(0).Name = "nodepath"
NodePath(0).Value = "org.openoffice.Setup/L10N/"
ConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
MasterKey = ConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", NodePath())
Jazyk_OOo = left(MasterKey.getByName("ooLocale"), 2) '"sk", "cs", ...
end function
REM Procedúra pre nastavenie textov výpisu
Sub Set_jazyk_vypisu(sNazov)
dim riadok, premenna, definicia as string
dim rovna as integer
dim sf, inStream, inFile ' Pre čítanie z lokalizačného súboru
on error resume next
if fileexists(sNazov) then ' Ak lokalizačný súbor existuje, tak načítame definície do premenných
sf = createUnoService("com.sun.star.ucb.SimpleFileAccess")
inStream = sf.openFileRead(sNazov)
inFile = createUnoService("com.sun.star.io.TextInputStream")
inFile.InputStream = inStream
inFile.Encoding = "UTF-8" ' lokalizačný súbor musí byť v UTF-8, inak nebude dobrá diakritika
Do While not inFile.IsEOF
riadok = inFile.readLine ' namiesto Line Input #subor, riadok
rovna=instr(riadok,"=")
if rovna<>0 then
premenna=trim(left(riadok,rovna-1)) ' Budeme ignorovať medzery
definicia=trim(right(riadok,len(riadok)-rovna))
select case premenna
case "Oznam1"
sOznam1=definicia+" "
case "Oznam2"
sOznam2=" "+definicia
case "Oznam3"
sOznam3=Definicia
end select
end if
loop
' Zatvorenie definičného súboru – namiesto close #subor
inStream.closeInput
inFile.closeInput
end if
end sub
REM Procedúra pre nastavenie jazyka dialógu
Sub Set_jazyk_Dialogu(oDlg, sNazov, sZahlavie)
dim riadok, premenna, definicia as string
dim rovna as integer
dim sf, inStream, inFile ' Pre čítanie z lokalizačného súboru
on error resume next
if fileexists(sNazov) then ' Ak lokalizačný súbor existuje, tak načítame definície do premenných
sf = createUnoService("com.sun.star.ucb.SimpleFileAccess")
inStream = sf.openFileRead(sNazov)
inFile = createUnoService("com.sun.star.io.TextInputStream")
inFile.InputStream = inStream
inFile.Encoding = "UTF-8" ' lokalizačný súbor musí byť v UTF-8, inak nebude dobrá diakritika
Do While not inFile.IsEOF
riadok = inFile.readLine ' namiesto Line Input #subor, riadok
rovna=instr(riadok,"=")
if rovna<>0 then
premenna=trim(left(riadok,rovna-1)) ' Budeme ignorovať medzery
definicia=trim(right(riadok,len(riadok)-rovna))
if premenna=sZahlavie then
oDlg.Title=definicia
else
oDlg.model.getByName(premenna).setpropertyvalue("Label",definicia)
end if
end if
loop
' Zatvorenie definičného súboru – namiesto close #subor
inStream.closeInput
inFile.closeInput
end if
end sub
REM Procedúra pre inicializáciu kontrolovaných častí a ich označovania zo súboru
sub InitKontrolu
dim riadok, premenna, definicia as string
dim rovna as integer
dim sf, inStream, inFile ' Pre čítanie z lokalizačného súboru
dim i%
dim sNazov$, kde$
REM Inicializácia, ak by neexistoval súbor s nastaveniami
for i=0 to 9
CoKontrolovat(i)=1
next i
CoNastavit(0)=0
CoNastavit(1)=1
AkoNastavit(0)="None" ' Žiadne prečiarknutie
AkoNastavit(1)="Wave" ' Podčiatknutie vlnovkou
kde=basiclibraries.getLibraryLinkURL("JP_typokontrola_textu") ' Adresár, kde je rozšírenie nainštalované
sNazov=left(kde,len(kde)-10)+"jp_typokontrola_set.txt" ' Súbor s nastaveniami
on error resume next
if fileexists(sNazov) then ' Ak súbor existuje, tak načítame definície do premenných
sf = createUnoService("com.sun.star.ucb.SimpleFileAccess")
inStream = sf.openFileRead(sNazov)
inFile = createUnoService("com.sun.star.io.TextInputStream")
inFile.InputStream = inStream
inFile.Encoding = "UTF-8" ' lokalizačný súbor musí byť v UTF-8, inak nebude dobrá diakritika
Do While not inFile.IsEOF
riadok = inFile.readLine ' namiesto Line Input #subor, riadok
rovna=instr(riadok,"=")
if rovna<>0 then
premenna=trim(left(riadok,rovna-1)) ' Budeme ignorovať medzery
definicia=trim(right(riadok,len(riadok)-rovna))
i=val(right(premenna,1))
premenna=left(premenna,1)
select case premenna
case "K" ' K5=1, K6=0 ...
CoKontrolovat(i)=val(definicia)
case "N" ' N0=0, N1=1
CoNastavit(i)=val(definicia)
case "A" ' A0=None, A1=Wave
AkoNastavit(i)=trim(definicia)
end select
end if
loop
' Zatvorenie definičného súboru – namiesto close #subor
inStream.closeInput
inFile.closeInput
end if
end sub
Makrá v OpenOffice.org – typografická kontrola textu (I)
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
Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami
Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...
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...
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.