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. 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)

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