Ú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
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
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
Námet na tento článok poslúžili tieto zdroje: