Preštudujte si: Podprogramy
2. Procedúry
Napíšte
program, ktorý bude prostredníctvom klikania na tlačidlá vykonávať matematické
operácie pre zadané dvojice čísel. Po výpočte zobrazí výsledok a vyčistí
obsah editov. Históriu výpočtov uchovávajte v listboxe.
V prostredí Delphi pracujeme
s podprogramami (a konkrétne s procedúrami) už od začiatku. Možno ste
si to neuvedomili, no všetky príkazy, ktoré sme doposiaľ zapisovali, sa
vkladali do tela udalostnej procedúry (obvykle šlo o udalosť kliknutia na
tlačidlo) patriacej formuláru, na ktorom bol umiestnený komponent, ktorého
udalosť sme využívali.
Procedúry patriace formuláru sú umiestnené
v samostatnom súbore – unite. Každý unit pozostáva z dvoch základných
častí:
- interface (rozhranie) – obsahuje
zoznam použitých unitov (iných), z ktorých sa v aktuálnom formulári
využívajú komponenty i podprogramy, ďalej zoznam typov a v rámci
definovaného typu pre formulár (TFormx) i zoznam podprogramov,
ktoré sú preň vytvorené. Sekciu končí deklaračná časť.
- implementation – implementačná časť
obsahuje zdrojový kód podprogramov definovaných v časti interface.
Obr.
Zdrojový kód formulára/unitu
Pri vytváraní vlastného podprogramu ho budeme aspoň
spočiatku viazať na formulár (unit), v ktorom ho vytvárame – zjednoduší sa
nám prístup ku komponentom (pokiaľ sa na ne budeme v rámci podprogramu
odvolávať) a zlepší sa prehľadnosť kódu. Pri zápise v implementačnej
časti budeme pred názov vkladať jeho vlastníka (napr. TForm1), do interface ho budeme vkladať ako súčasť triedy TForm1, už bez vlastníka.
Procedúra na vyčistenie Editov potom môže vyzerať podpobne ako na obrázku.
Obr.
Procedúra VycistiEdity
Samotný výpočet odohrávajúci sa napr. pri kliknutí
na tlačidlo zabezpečujúce sčítanie môže vyzerať nasledovne:
var a,b,vysledok:integer;
riadok:string;
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text)
vysledok:=a+b;
Label1.Caption:=IntToStr(vysledok);
riadok:=Edit1.Text+’+’+Edit2.Text+’=’+IntToStr(vysledok);
Listbox1.Items.Add(riadok);
VycistiEdity;
end;