Doteraz sme si už ukázali veľa možností vstupov v dialógoch – od zaškrtávacích či prepínacích políčok, cez rôzne číselné a textové vstupy až po zoznamy. Nakoniec nám ešte zostali možnosti vstupu dátumu, času alebo výber mena súboru.
Pravdaže, v doterajších možnostiach sme sa už stretli aj možnosťou zadávania dátumov alebo časov pomocou formátovaného textového poľa. To nám však niekedy nemusí vyhovovať, pretože chceme dostať dátum alebo čas priamo v číselnej podobe. A na to nám slúžia iné – špeciálne vstupné položky.
Prvá z nich je dátum. Pri jeho definícii nájdeme viacero parametrov, ktoré nás musia zaujímať. Medzi takéto patria ohraničenie rozsahu dátumu spodná horná hranica a formát, v akom chceme zadávať dátum. Okrem toho môžeme preddefinovať jeho štandardnú hodnotu. Výstupnú hodnotu následne získame pomocou metódy „Date“, ktorá vracia číslo typu Long. Ak teda máme napr. definovanú vstupnú položku dátum s názvom „Datum“, tak pomocou štruktúry:
dlg.model.Datum.Date
získame dátumové číslo, ktoré je vždy v tvare RRRRMMDD, kde štyri cifry RRRR označujú rok, za nimi nasledujú dve cifry MM, ktoré označujú mesiac a nakoniec sú dve cifry DD, ktoré označujú deň.
Dátumovému vstupu je veľmi podobný aj časový vstup. Aj tu nájdeme parametre, pomocou ktorých môžeme obmedziť jeho rozsah. Kým pri dátumoch toto obmedzenie nemusí mať až taký význam, pri čase to môžeme veľmi prakticky využiť napr. iba na pracovný čas a pod. Pravdaže, aj tu môžeme zadať preddefinovanú hodnotu a môžeme si vybrať formát, v akom chceme čas zadávať. Výstupnú hodnotu získame pomocou metódy „Time“, ktorá vracia číslo typu Long. Pri predpoklade, že máme definovanú vstupnú položku čas s názvom „Cas“, výstupnú hodnotu získame pomocou štruktúry:
dlg.model.Cas.Time
Výstupné číslo je vždy vo formáte HHMMSSTT, kde dve cifry HH označujú hodinu (od 00 do 23, t.j. v 24 hodinovom formáte), za nimi dve cifry MM označujú minútu, následné dve cifry SS označujú sekundy a posledné dve cifry TT označujú stotiny sekúnd.
Posledný typ vstupu, ktorý si preberieme v rámci dialógov je zadanie mena súboru pomocou jeho výberu z už existujúcich súborov. Už v minulých dieloch sme ukazovali, ako si môžeme uložiť nastavené parametre do nejakého súboru na disku. Vtedy sme však meno súboru zadávali priamo v programe. Mnohokrát však potrebujeme vybrať na spracovanie už existujúci súbor na disku. A práve na toto je určený posledný vstup, ktorý si preberáme.
Po jeho výbere nemusíme nastavovať okrem názvu (ako ho vôbec chceme zmeniť) vôbec nič, pokiaľ nepožadujeme, aby sa nám vracala nejakú preddefinovaná hodnota. Pokiaľ ju chceme zadať, musíme ju zadefinovať, podobne ako pri iných textových vstupoch, do položky „Text“. Vlastný výber súboru prevádzame stlačením tlačidla s tromi bodkami, ktoré sa nachádza v pravej časti tohto vstupného prvku. Toto tlačidlo vyvolá systémovú funkciu pre výber názvu ľubovoľného súboru. Výstupnú hodnotu získame pomocou metódy „Text“. Pokiaľ budeme predpokladať, že máme definovanú vstupnú súborovú položku „Subor“, tak výstupnú hodnotu získame pomocou nasledujúcej štruktúry:
dlg.model.Subor.Text
Príslušný dialóg môžeme následne inicializovať a výstupné hodnoty získať napríklad takouto procedúrou:
dim meno, fotografia as string
dim datum_narodenia, cas_narodenia as long
sub Informacie_o_osobe
DialogLibraries.LoadLibrary("Standard")
dlg=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
dlg.Execute()
meno=dlg.model.Zoznam.Text
fotografia=dlg.model.Subor.Text
datum_narodenia=dlg.model.Datum.Date
cas_narodenia=dlg.model.Cas.Time
dlg.dispose()
end sub
Na budúce: Ako to všetko využiť v praxi, alebo znovu to nešťastné formátovanie dokumentu.