Programovanie makier v LibreOffice: Úvod do súborov

LO.png Prvý článok novej kapitoly, ktorá má za cieľ priblížiť problematiku manipulácie súborov a ich využitia v makrách. Okrem úvodu do súborov sa dozviete o dvoch funkciách, pričom jedna z nich dokáže konvertovať systémovú adresu súborov do URL adresy a druhá opačne.  

Úvod do nového smeru seriálu

Tento diel je pilotný v novej kapitole tohto seriálu, ktorá sa bude zaoberať súbormi. Doteraz sme sa venovali rôznym formátovacím technikám a zároveň sme si vysvetľovali základy jazyka StarBasic. Je čas sa posunúť ďalej a ukázať vám pokročilejšie oblastí programovania makier v LibreOffice. Zároveň chcem, aby tie ďalšie diely neboli len „copy-paste“ nejakej knižky, preto sa budem snažiť spúšťať programy na najnovších verziách LibreOffice a budem vám ponúkať svoje postrehy a skúseností pri vývoji. 

Súbory

Čo sú to súbory? Skúsme sa nato pozrieť jednoducho, bez potreby hľadať komplikované definície na internete. Napríklad, máte video súbor. Čo obsahuje? Nejaké grafické dáta a ak video nie je nemé, tak aj zvukové dáta. Potom máme aj iné typy súborov. Napríklad textový súbor, alebo nejakú databázu. Z toho môžeme vydedukovať, že súbor obsahuje nejaké dáta v rôznej podobe. Ďalej tieto dáta musia byť niekde uložené že? Typickými úložiskami sú pevné disky, USB, pamäťové karty a pod.

Takže môžeme povedať, že súbory charakterizujú dva hlavné body:

  • obsahujú dáta
  • musia byť niekde uložené

V tomto dieli a v tých budúcich sa naučíme s pomocou makier pracovať so súbormi. Čo môžete robiť s takýmito súbormi? Napr. editovať, premiestňovať či ich mazať.

Prevod zo systémovej do URL adresy a naopak

Ako sme povedali, každý súbor je niekde uložený v pamäťovom médiu. Aby sme mohli medzi tými všetkými priečinkami nájsť súbor, potrebujeme vedieť jeho adresu, čiže ako sa k nemu dostať. Túto cestu volajme systémová adresa. Taktiež poznáme ešte jeden typ cesty k súboru, ktorý sa označuje ako URL adresa. Internet je globálna sieť počítačov, ktoré si medzi sebou vymieňajú napr. súbory. Tieto súbory musia mať na internete svoje miesto, čiže sú niekde uložené a URL adresa sa používa ako cesta k danému súboru v rámci sieti. Samozrejme, je to zjednodušený pohľad, ale pre naše účely postačujúci.

Prečo to potrebujete vedieť? Môže sa stať, že chcete rýchlo konvertovať systémovú adresu do URL adresy. A naopak. Na tieto účely sa používajú funkcie ConvertToURL() a ConvertFromURL(), ktoré StarBasic pozná. Ukážeme si v praxi oba tieto funkcie. Taktiež i odlišnú aplikáciu v Linuxe a Windowse. Ako isto viete (alebo tušíte), majú iné zápisy systémových adries súborov.

Sub convertPATH
Dim linux_adresa, windows_adresa, url_adresa_1, url_adresa_2 As String

linux_adresa = "/home/Games/World_of_Warcraft/run.cpp"
url_adresa_1 = ConvertToURL(linux_adresa)

windows_adresa = "C:\Games\World_of_Warcraft\run.exe"
url_adresa_2 = ConvertToURL(windows_adresa)

MsgBox url_adresa_1 & Chr(10) & url_adresa_2

End Sub

01pics.png

Adresy súborov sú vymyslené, ale sú upravené tak, aby .exe súbor nebol v Linuxe. Predsa, nie je tento typ formátu súboru práve bežný v Linuxe.

Teraz skúsme naopak, konvertovať URL adresu do systémovej adresy.

Sub convertPATH
Dim linux_adresa, windows_adresa, url_adresa_1, url_adresa_2 As String

url_adresa_1 = "file:///home/Games/World_of_Warcraft/run.cpp"
linux_adresa = ConvertFromURL(url_adresa_1)

url_adresa_2 = "file:///C:/Games/World_of_Warcraft/run.exe"
windows_adresa = ConvertFromURL(url_adresa_2)

MsgBox linux_adresa & Chr(10) & windows_adresa

End Sub

02pics.png

URL adresa sa okrem internetu môže použiť pre prípady, kedy je v názve súboru alebo priečinku, špeciálny znak. Typickým špeciálnym znakom je medzera. V príkazovom termináli je medzera napr. v názve súboru dosť problém. Riešením problému môže byť práve využitie URL adresy. Medzeru definuje ako %20.

Sub convertPATH
Dim linux_adresa, windows_adresa, url_adresa_1, url_adresa_2 As String

linux_adresa = "/home/Games/World of Warcraft/run.cpp"
url_adresa_1 = ConvertToURL(linux_adresa)

windows_adresa = "C:\Games\World of Warcraft\run.exe"
url_adresa_2 = ConvertToURL(windows_adresa)

MsgBox url_adresa_1 & Chr(10) & url_adresa_2

End Sub

03pics.png

Námet na tento článok poslúžili tieto zdroje:

  • OpenOffice.org Macros Explained Third Edition, Andrew Pitonyak, page 166-168, dostupné online
  • Funkce ConvertToURL, help.libreoffice.org, dostupné online
  • Funkce ConvertFromURL, help.libreoffice.org, dostupné online
(Jako ve škole) Průměr: 1.00 | Hodnotilo: 2
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
 
 
woo jaw demo hz