Delphi – Rad sa formama

Veฤ‡ina programa koja se kreira u programskom okruลพenju Delphi sadrลพi bar jednu formu (Form). Svaki takav projekat sadrลพi datoteku .DPR i jedan ili viลกe unit-a. Kada se projekat pokrene deลกavaju se dva koraka, Delphi registruje sve komponenete na formi operativnom sistemu i sledeฤ‡i kada za naลกu prvu formu odvaja prostor u memoriji preko procedure CreateForm. Ako zavirite u .DPR datoteku videฤ‡ete sledeฤ‡e:


program Project1;

uses
Forms,
Unit1 in ‘Unit1.pas’ {Form1};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


U prethodnom kodu vidimo da se koristi samo jedan „unit1“ i vidimo poziv CreateForm, ukoliko bi izostavili poziv Application.CreateForm program bi, kada bi se pokrenuo odmah bi i zavrลกio rad. U sluฤaju da vaลก projekat ima viลกe formi, osnovni blok naredbi bi ovako izgledao:

begin
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end;

Iz prethodnog koda vidimo da se za svaku naลกu formu alocira prostor u memoriji, ali ฤ‡e vidljiva biti samo prva. U sluฤaju da hoฤ‡emo da se vide i ostale forme, pozvaฤ‡emo ih instrukcijom:

Form2.Visible := True; ILI
Form2.Show

Najฤeลกฤ‡e imamo sluฤaj da nam se otvara prva forma, a potom se otvaraju ostale forme na kojima su druge sekcije programa i to na dogaฤ‘aj klika (OnClick) na neko dugme ili izborom opcije menija.


procedure TForm1.Button1Click(Sender:TObject);
begin
Form2.Show;
end;

Prethodnim kodom sa prve forme preko klika na dugme „Button1“ otvaramo drugu formu. Ne zaboravite da u deklaraciji „implementation“ dodate klauzulu “ uses Unit2; „. Ova klauzula ukazuje na drugi Unit programa „Unit2″, ovo se ฤini zato ลกto prva forma ne zna za postojanje druge forme. Zatvaranje forme vrลกimo preko instrukcije “ Close; „, ovom funkcijom forma se jednostavno „sakriva“ (postaje nevidljiva) ali se ne izbacije iz memorije. U sluฤaju da instrukciju „Close“ pozovemo sa prve forme doฤ‡i ฤ‡e do zatvaranja cele aplikacije-programa.

Pratite Krstaricu na www.krstarica.com