p°edchozφ lekce (1.13) | obsah kurzu | nßsledujφcφ lekce (1.15) |
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. Prom∞nnß musφ b²t p°itom nejprve definovßna. 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.
Unit InputBox;
interface
implementation
var vstup : Variant;
begin
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)+RealToStr(vstup,10,3));
end;
end.
Je nutnΘ si uv∞domit, ₧e zadanß hodnota od u₧ivatele je 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 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φ a tabulek, 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) |