Programovanie makier v LibreOffice: Komunikácia s užívateľom (1)

LO.png Dnes sa vrhneme na veľmi dôležité základne prvky jazyka Basic, funkcie a príkazy.  

Funkcie a príkazy

Funkcie a príkazy umožňujú omnoho jednoduchšie písať makrá. Je to tým, že v sebe obsahujú už zadefinované postupy. Napríklad, máme príkaz Print, ktorý vytlačí všetko, čo je medzi hornými úvodzovkami alebo číselnú hodnotu. Za tým ale je nejaký kód, ktorý definuje, že zober postupnosť bytov medzi úvodzovkami a vypíš ich na obrazovku.

Samozrejme, už nie je potrebné niečo také písať, stačí napísať už len meno funkcie či príkazu. Funkcie a príkazy sú napísane tak, aby boli stabilné a vykonávali svoju úlohu spoľahlivo.

Funkcie i príkazy majú vstupné parametre, s ktorými môžu pracovať a môžu mať rôzne vlastností, ktoré rozširujú použitie funkcii a príkazov. U funkcii sa parametre píšu v zátvorkách,  v príkaze sú parametre oddelené medzerou.

Parametre môžu byť povinné alebo nepovinné, podľa návrhu makrá. Funkcie od príkazov sa líšia tým, že funkcie vracajú určitú hodnotu. Príkazy len vykonávajú činnosť.

Funkcie a príkazy delíme podľa činností do týchto kategórii:

  • číselne funkcie
  • dátové a časové funkcie
  • práva s textovými reťazcami
  • riadenie chodu makra
  • komunikácia s užívateľom
  • prevody typov premenných
  • spracovanie chyb
  • ďalšie rôzne funkcie a príkazy

Komunikácia s užívateľom

Začneme s jednou skupinou funkcii a príkazov. Do tejto kategórie si kážeme tie najpoužívanejšie: príkaz Print, funkcia/príkaz MsgBox a funkcia InputBox.

Príkaz Print

Príkaz Print, kde ako parameter označujeme všetko, čo je v úvodzovkách alebo v prípade číselných výrazov je parameter samotné číslo.

Poďme si rozobrať jeho syntax. Syntax ukazuje, ako je definovaný príkaz Print. Na prvý pohľad sa bude zdať komplikovaná, ale zdanie klame. Všetko si vysvetlíme.

Syntax: Výraz1[{;|,} [Spc(Číslo As Integer);] [Tab(Pozícia As Integer);] [Výraz2[...]]

Pod pojmom Výraz chápeme nejaký textový reťazec alebo číselnú informáciu, ktorá sa ma zobraziť na obrazovke. Pomocou bodkočiarky vieme oddeliť od seba viacero výrazov. Ak napíšeme medzi výrazy čiarku, reťazce sa zarovnajú na ďalší tabulátor. Tabulátory nejde upravovať.

Číslo zo syntaxe znamená počet medzier, ktoré vkladá funkcia Spc.

Pozícia je cielenie na určité miesto.

Ak by nastala situácia, že po poslednom reťazci nasleduje čiarka alebo bodkočiarka, jazyk Basic uloží reťazce do lokálneho buffra (zásobníka) a nevypíše text na obrazovku. Ak narazí na ďalší príkaz Print, ktorý ale nebude mať na konci čiarku alebo bodkočiarku, tak vypíše celý text aj z minulého príkazu.

Ak textový reťazec presiahne určitú dĺžku, bude automatický zalomený na ďalší riadok. Medzi argumenty môžeme vložiť funkciu Tab, uzavrenou bodkočiarkami, pokiaľ chceme výstup cieliť na určitú pozíciu. Použiť v argumente môžeme i funkciu Spc, k vloženiu počtu medzier.

Kladné číselné výrazy, ktoré nedáme do reťazca, sa na obrazovke zobrazia s jednou úvodnou medzerou. Záporne číselné výrazy sa zobrazia so znamienkom mínus. Číselne hodnoty, ktoré presiahnu určitú dĺžku, sa zobrazia v exponenciálnom tvare.

Príklad 1: Precvičenie príkazu Print

Sub PrikazPrint   REM začiatok procedúry
Print "Vesmír je krásny"   REM rôzne využitia príkazu Print
Print "Vesmír je"; " krásny"
Print "Vesmír je", " krásny"
Print "Vesmír je"; Space(20); " krásny"
Print "Vesmír je";
Print Space(20);
Print " krásny"
Print 54899855511899875528
End Sub   REM koniec procedúry

Výstup: ako vidíme, prvý Print tlačí štandardne. Druhý Print už má medzi reťazcami bodkočiarku. Výsledok je rovnaký, ako v prvom Printe. V treťom Printe už je zmena. Ako sme si hovorili, čiarka vykoná funkciu klávesy Tab.

V štvrtom príkaze Print sme v príklade využili funkciu Space a s argumentom, koľko medzier sa má pridať. V piatom, šiestom a siedmom sa zobrazí na obrazovke tak, ako v štvrtom Printe. Na konci piateho a šiesteho Printu je pridaná dvojbodka, čo znamená, že text sa uloží do zásobníka (buffer).

V ôsmom Printe číslo presahuje veľkosť typu premennej Integer, preto sa zobrazí v exponenciálnom tváre.

V ďalšom diele dokončíme kategóriu Komunikácia s užívateľom.

(Jako ve škole) Průměr: 1.00 | Hodnotilo: 3
 

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.

 
Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.

 
 
 
woo jaw demo hz