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

LO.png Pokračujeme druhým článkom o jednej zo základných kategórii funkcii a príkazov. V článku sa dozviete nové informácie o funkcii/príkaze MsgBox a funkcii InputBox.  

Funkcia/príkaz MsgBox

Funkcia/príkaz MsgBox zobrazuje informácie na obrazovku. Ponúka viac možností a preto je v praxi používanejšia ako príkaz Print.

1. príklad: Začneme hneď s príkladom na príkaz MsgBox

Sub ZobrazSpravu REM začiatok procedúry
Sprava = "Malý asteroid narazil do planéty Jupiter" REM priradenie textového reťazca
Nadpis = "Jupiter je ostreľovaný kozmickým smetím" REM pridá titulok
Vzhlad = 64 REM ovplyvní vlastností dialógového okna
MsgBox Sprava, Vzhlad, Nadpis REM výpis dialógového okna
End Sub REM koniec procedúry

Rozbor makra:  Máme tri premenné, Sprava, NadpisVzhlad. Tieto premenné využijeme ako parametre príkazu MsgBox. Parameter Sprava štandardne zobrazí text. Druhý parameter ovplyvňuje vzhľad a ďalší vlastností dialógového okna. Tretí parameter slúži na pomenovanie titulku.

V nasledujúcej tabuľke sa pozrieme na rôzne možné hodnoty druhého parametra:

Parameter  Vlastností dialógového okna
0 Zobrazí sa len tlačítko OK
1 Zobrazí sa tlačítko OK a Zrušiť
2 Zobrazia sa tlačítka Zrušiť a Opakovať
3 Zobrazia sa tlačítka Áno, Nie a Zrušiť
4 Zobrazia sa tlačítka Áno a Nie
5 Zobrazia sa tlačítka Opakovať a Zrušiť
16 Do dialógového okna pridá ikonku Zastaviť
32 Do dialógového okna pridá ikonku Otáznik
48 Do dialógového okna pridá ikonku Výkričník
64 Do dialógového okna pridá ikonku Informácia
128 Prvé tlačítko v dialógovom okne je zároveň východiskové tlačítko
256 Druhé tlačítko v dialógovom okne je zároveň východiskové tlačítko
512 Tretie tlačítko v dialógovom okne je zároveň východiskové tlačítko

Tlačítka v MsgBox majú svoje návratové hodnoty, ktoré uvidíte v nasledujúcej tabuľke:

Návratová hodnota Tlačítko
1 OK
2 Zrušiť
4 Opakovať
5 Ignorovať
6 Áno
7 Nie

Príklad 2: Testovanie tlačítka

Sub TestTlacitka REM začiatok procedúry
Sprava1 = "Vyber tlačítko" REM priradenie reťazcov
Sprava2 = "Vybrané tlačítko: "
Nadpis = "Testovanie tlačídiel " REM titulok
Vzhlad1 = 52 REM chovanie dialógového okna
Vzhlad2 = 64
Tlacitko = MsgBox (Sprava1, Vzhlad1, Nadpis) REM vytvorenie dialógového okna
MsgBox Sprava2 & Tlacitko, Vzhlad2, Nadpis REM testovanie, ktoré tlačítko bolo stisknuté
End Sub REM koniec procedúry

Rozbor makra: Najprv využijeme MsgBox ako funkciu, ktorú definujeme zátvorkami a následne použijeme ako príkaz. Ak príde návratová hodnota z premennej Tlacitko, uskutoční sa príkaz MsgBox. Dialógové okno nás následne ukáže, ktoré tlačítko bolo stisknuté.

Taktiež je potrebné myslieť na to, že v druhom parametri funkcie resp. príkazu MsgBox je možné kombinovať číselnú hodnotu. V makre je v prvom parametri funkcie MsgBox hodnota 52. V tabuľke hodnotu 52 nemáme. Hodnotu 52 získame sčítaním 48 + 4.

Funkcia InputBox

Funkcia MsgBox umožňuje užívateľovi vybrať si maximálne z troch tlačídiel. Ak chceme ale zadať konkrétne textové či číselné hodnoty, je potrebne využiť funkciu InputBox. Správanie funkcie InpuBox a MsgBox je veľmi podobné.

Syntax funkcie InputBox:

InputBox(Správa As String[, Titulok As String[, Východisko As String[, Pozícia_x As Integer[, Pozícia_y As Integer]]]])

Rozbor syntaxe:

  • Správa: reťazec, ktorý sa zobrazí ako správa v dialógovom okne
  • Titulok: reťazec, ktorý sa zobrazí v titulnej lište
  • Východisko: reťazec, ktorý sa zobrazí vtedy, ak není zadaný žiadny vstup.
  • Pozícia_x: celočíselný výraz, ktorý určuje vodorovné umiestnené dialógu. Pozícia je absolútna súradnica a nevzťahuje sa k umiestneniu dialógového okna.
  • Pozícia_y: celočíselný výraz, ktorý určuje vodorovné umiestnenie dialógu. Rovnako ako prí Pozícii_x, uvažujeme ako o absolútnej hodnote.

Ak  Pozícii_x a Pozícii_y vynecháme, dialóg sa vycentruje do stredu dialógového okna aplikácie.

V budúcich častiach sa pozrieme na cykly a podmienky ako súčasť jednej zo základných kategórii príkazov a funkcii.

(Jako ve škole) Průměr: 2.00 | Hodnotilo: 5
 

Komentáře

user avatar j-pastierik
Odpovědět
Programovanie makier v LibreOffice: Komunikácia s užívateľom (2)
20. 04. 2016, 18:35:45
Trochu chýbajú obrázky (http://archiv.inet.sk/3262-makra-v-openoffice-org-3-i---spravy.html)
user avatar Eduard Boldižár
Odpovědět
Programovanie makier v LibreOffice: Komunikácia s užívateľom (2)
21. 04. 2016, 00:46:58
budem na to myslieť, ďakujem za spätnú väzbu

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