Lekce 1.14
Zadßnφ vstupnφch hodnot


p°edchozφ lekce (1.13) obsah kurzu nßsledujφcφ lekce (1.15)

U program∙ v p°edchozφch lekcφch jsme v₧dy poΦφtali s tφm, ₧e jsou vÜechna data pro v²poΦty zadßna p°φmo v programu. Aby jsme ale m∞li mo₧nost ovlivnit pr∙b∞h v²poΦtu, bylo by vhodnΘ zadßvat po₧adovanΘ hodnoty p°φmo dotazem od u₧ivatele. To je mo₧nΘ dv∞ma zp∙soby. NejjednoduÜÜφ je pou₧φt p°φkaz InputBox. Ve druhΘ polovin∞ kurzu se dßle seznßmφme s mo₧nostφ definice vstupnφch formulß°∙.

Pro zadßnφ vstupnφ hodnoty prom∞nnΘ z klßvesnice od u₧ivatele je mo₧nΘ pou₧φt p°φkaz InputBox. Hodnotu potom m∙₧eme pou₧φt dßle v programu k dalÜφm v²poΦt∙m. Mo₧nΘ je pou₧φt pouze ΦφselnΘ a °et∞zcovΘ prom∞nnΘ. P°φkaz InputBox vyvolß jednoduch² formulß° pro mo₧nost zadßnφ hodnoty prom∞nnΘ. JmΘno formulß°e se zadßvß prvnφm parametrem, popis ·daje obsahuje druh² parametr a ve t°etφm parametru se zadßvß poΦßteΦnφ p°edvolenß vstupnφ hodnota. Vstupnφ hodnota m∙₧e b²t p°itom Φφselnß i numerickß.

Pro v²pis libovolnΘho hlßÜenφ u₧ivatele s po₧adavkem potvrzenφ je mo₧nΘ pou₧φt p°φkaz ShowMessage, kter² obsahuje pouze jedin² parametr, ve kterΘm se zadßvß vypisovanß zprßva. Zprßvu pro v²pis je mo₧nΘ zadat jako Φφslo, nebo °et∞zec. V²sledkem je, ₧e program zobrazφ u₧ivateli dialogovΘ okno se zadanou zprßvou a Φekß na potvrzenφ od u₧ivatele.


vstup = InputBox("Nadpis okna", "Popis vstupu:", "hodnota")
ShowMessage("Zadal jste: " + vstup)

vstup = InputBox("DalÜφ vstup", "Zadejte hodnotu:", vstup)
ShowMessage("Zadal jste:"+Chr(13)+vstup)

vstup = Random(100)/Random(100)
vstup = InputBox("Zadßnφ Φφsla", "Zadejte Φφslo:", vstup)
vstup = StrToReal(vstup)
ShowMessage("Zadal jste Φφslo:"+Chr(13)+CStr(vstup,10,3))
Je nutnΘ si uv∞domit, ₧e zadanß hodnota od u₧ivatele je v₧dy typu Variant. To znamenß, ₧e m∙₧e b²t dßle pou₧ita jako Φφslo nebo °et∞zec. Pokud proto po₧adujete zadßnφ Φφsla, musφte si pro p°φpadnΘ dalÜφ v²poΦty zajistit, ₧e byla zadßna opravdu numerickß hodnota. To se provede p°evedenφm zadanΘ hodnoty na typ Real nebo Integer. Viz v²Üe uveden² p°φklad.

Pokud byste pot°ebovali rozd∞lit vypisovanou zprßvu u₧ivateli p°φkazem ShowMessage na vφce °ßdk∙, mßte mo₧nost pou₧φt jednoduchΘho triku. Na mφst∞ po₧adovanΘho od°ßdkovßnφ vlo₧te do vypisovanΘho °et∞zce znak pro nov² °ßdek. ╚ili znak s dekadickou hodnotou 13. To zajistφte zadßnφm funkce Chr(13) do °et∞zce. Pou₧itφ by m∞lo b²t jasnΘ z uvedenΘho p°φkladu.

Tak₧e jak zadßvat obsah prom∞nnΘ od u₧ivatele ji₧ znßme. Vφme takΘ, jak vypsat jejich obsah s p°φpadnou dalÜφ ·pravou do textovΘho v²stupnφho okna. Zatφm jsme se ale nic nedozv∞d∞li o tom, jak je mo₧nΘ provΘst v²stup informacφ na tiskßrnu. Pokud nebudeme poΦφtat s tiskov²m v²stupem databßzφ, neobsahuje systΘm ₧ßdnΘ p°φkazy pro p°φm² tisk na tiskßrnu. Dovoluje vßm ale vytisknout kompletnφ obsah textovΘho v²stupnφho okna. Musφte proto nejprve provΘst v²stup po₧adovan²ch informacφ a text∙ do v²stupnφho okna a potom p°φkazem ConsolePrint vytisknout jeho obsah. M∙₧ete takΘ po ukonΦenφ programu, kdy se zobrazφ po₧adovanΘ v²sledky ve v²stupnφm okn∞ provΘst jeho tisk pomocφ ikony s obrßzkem tiskßrny, umφst∞nΘ v hornφ liÜt∞ textovΘho v²stupnφho okna.

Se slo₧it∞jÜφm, ale efektn∞jÜφm zp∙sobem zadßvßnφ vstupnφch hodnot se seznßmφme p°i probφrßnφ tvorby formulß°∙.


p°edchozφ lekce (1.13) obsah kurzu nßsledujφcφ lekce (1.15)

OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz