Vstup údajů - komponenta Edit

Delphi obsahuje řadu komponent, pomocí kterých uživatel může zadávat nebo vybírat různé hodnoty, s některými z nich se seznámíme v dalších lekcích, v této lekci použijeme komponentu Edit.

Komponenta Edit slouží pro vstup jednoho řádku textu. Mezi mnoha jejími vlastnostmi jsou například (zkopírováno z kurzu Umíme to s Delphi autora V. Kadlece):
Text - nejdůležitější vlastnost; v návrhové fázi je výhodné vložit do ní počáteční text
MaxLength - maximální počet znaků, které lze do Editu zadat. Doporučuji vyhradit na formuláři dostatek místa, aby Edit nemusel scrollovat (uživatele mate, když mu část textu kamsi ujíždí)
Modified - slouží ke zjištění, zda došlo ke změně
ReadOnly - určuje, může-li uživatel hodnotu v Editu měnit
PasswordChar - hodnotou této vlastnosti je znak, který se bude vypisovat do Editu místo skutečně zadávaných znaků

Pokud chceme použít Edit pro zápis čísla, je potřeba jeho text převést například na integer, příkazem
a:=strtoint(Edit1.text);
do proměnné a uložíme číslo zapsané v Edit1.

Konkrétní využití komponenty Edit pro vstup a výstup hodnot si ukážeme na jednoduché aplikaci, která vypočte ze zadané strany čtverce jeho obvod.

Aplikace pro jednoduchý výpočet

Vzhled aplikace upravíme například podle obrázku, bude obsahovat tři popisky (Labely) s texty Obvod čtverce, zadej stranu, výsledek. Světlejší okénka na obrázku jsou právě Edity, do prvního se bude zapisovat délka strany čtverce. Stejně jako pro vstup, lze Edit použít i pro výstup (podobným způsobem jako Label), to je to druhé okénko, do kterého se bude vypisovat výsledek. Pro správnou funkčnost aplikace jsou doplněna ještě dvě tlačítka, jedno pro zahájení výpočtu po zadání strany a druhé pro ukončení aplikace.

Do události po kliknutí na tlačítko pro výpočet doplníme proceduru:
procedure TForm2.Button1Click(Sender: TObject);
begin
edit2.Text:=inttostr(4*strtoint(edit1.Text));
end;

strtoint(edit1.text) nejprve převede text v Edit1 na číslo, to se potom násobí 4 a výsledek se zase převede funkcí inttostr na text, aby se mohl vypsat v Edit2.

Druhá možnost byla využít proměnnou typu integer, kterou bychom nejdřív deklarovali:
var
Form2: TForm2;
a: integer;
Procedura na tlačítku pro výpočet by potom mohla vypadat následovně:
procedure TForm2.Button1Click(Sender: TObject);
begin
a:=strtoint(edit1.text);
edit2.Text:=inttostr(4*a);
end;

Aplikaci ukládej do složky s názvem lekce4

Úkoly:

Základní úloha:

Vytvoř aplikaci podle textu lekce a doplň ještě obsah čtverce (doplň další edit pro výstup obsahu).


Úloha na plus:

Vytvoř aplikaci pro výpočet obvodu a obsahu kruhu (pro převod textu na desetinné (reálné) číslo použij funkci strtofloat).


Úloha na jedničku:

Doplň úlohu na plus o ilustrační obrázek s kruhem a zápisem vzorce podobně jako na obrázku.