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.