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 i preko mobilne aplikacije za Android i iPhone.