Aplikacje na wielu formularzach


Aplikacje na wielu formularzach

Włączanie formularzy do aplikacji

Repozytorium to zestaw wzorcowych formularzy, które programista może wykorzystać w aplikacjach. Przechodzimy tam wybierając z menu File→New. Poniższe ćwiczenie przybliży korzystanie z Repozytorium.

Ćwiczenie 3.1

Zadanie aplikacji

Aplikacja zawiera formularz podstawowy, który ma trzy przyciski: Otwórz formularz, Otwórz dialog i Info. Po naciśnięciu przycisku pokazuje się nowy formularz określonego typu: About, Standard Dialog oraz formularz pusty.

Nowe umiejętności

Dołączanie nowego formularza do projektu aplikacji. Korzystanie z formularzy About i Dialog zawartych w Repozytorium.

  1. Na formularzu umieść etykietę i trzy przyciski z napisami: Otwórz formularz, Otwórz dialog i O programie. Aby przyciski miały jednakowe rozmiary, możesz posłużyć się kopiowaniem.

  2. Korzystając z menu File→New Form, dodaj do aplikacji nowy formularz.

  3. Przyciskami Shift+F12 przejdź do wyboru formularza Form1. Dla zdarzenia On Click przycisku Otwórz formularz wpisz procedurę:

procedure Tform1.Button1Click(Sender: Tobject);

begin

Form2.Show;

end;

  1. Wybierz z opcji menu: File->New i dodaj do projektu formularz typu About box z karty Forms. Zmień napisy na etykietach na teksty polskie. Do przycisku OK przypisz procedurę:

procedure TaboutBox.OKButtonClick(Sender: Tobject);

begin;

AboutBox.Close; //zamknięcie formularza AboutBox

end;

  1. Przejdź do formy Form1. Dodaj do przycisku z napisem O programie procedurę-zdarzenie:

procedure Tform1.Button1ClickCSender: Tobject);

begin

AboutBox.Show; //uwidocznienie formularza AboutBox

end;

  1. Wybierz z menu: File->New i dodaj z karty Dialogs formularz typu Standard Dialog:

    1. zmień napis na przycisku Abort na Anuluj

    2. dodaj pole edycji

    3. wpisz dla przycisku OK treść procedury:

procedure TOKBottomDlg.OKBtnClick(Sender: Tobject);

begin

Form1.Label1.Caption:=Edit1.Text;

OkBottomDlg.Close;

end;

    1. dla przycisku Anuluj wpisz treść procedury:

procedure TOKBottomDlg.CancelBtnClickCSender: Tobject);

begin

OkBottomDlg.Close;

end;

  1. Przejdź do formularza Forml. Do przycisku Otwórz dialog przypisz procedurę:

OKBottomDlg.Show

  1. Skompiluj moduł. Przez wciśnięcie przycisku Yes w pokazującym się podczas kompilacji oknie komunikatu potwierdź dołączanie brakujących elementów do j projektu.

  2. Sprawdź działanie aplikacji.

  3. Obejrzyj kody dołączonych modułów.

Dynamiczne dołączanie formularzy

Formularze dołączane w sposób przedstawiony w poprzednim podrozdziale istnieją cały czas w pamięci operacyjnej. Są uwidoczniane w miarę potrzeby. Przy dużych aplikacjach taka metoda nie jest odpowiednia, gdyż blokuje pamięć operacyjną. Należy wtedy przejść do dynamicznego tworzenia formularzy. Ten sposób będzie pokazany w następnym ćwiczeniu.

Ćwiczenie 3.2

Zadanie aplikacji

Aplikacja korzysta z dwóch formularzy. Formularz podstawowy (Form1) zawiera przycisk z napisem Utwórz formularz, którego naciśnięcie wywołuje akcję dynamicznego tworzenia formularza Form2. Utworzony formularz zostaje zlikwidowany dla zdarzenia OnClose.

Nowe umiejętności

Organizacja projektu z formularzami tworzonymi dynamicznie.

  1. Do nowego projektu dodaj dwa formularze.

  2. Przejdź do pliku projektu, wykasuj polecenie tworzenia formularza Form2. Treść projektu po zmianie:

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' (form1),

Unit2 in 'Unit2.pas' (Form23; ,

($R *.RES)

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

  1. Umieść na formularzu Form1 przycisk polecenia. Dla zdarzenia OnClick wpisz kod procedury tworzenia formularza:

procedure TForml.Button1Click(Sender: TObject);

begin

if Form2=nil then //sprawdzenie, czy formularz istnieje

Form2:=TForm2.Create(Application);

// gdy nie istnieje, utworzenie formularza przez wywołanie konstruktora Create

Form2.Show; // uwidocznienie utworzonego formularza

end;

  1. Przejdź do formularza Form2 i w procedurze dla zdarzenia OnClose ustaw sposób zamykania formularza na likwidowanie z pamięci:

procedure TForm2.FormClose(Sender:TObject; var Action:TCloseAction);

begin

Action :=caFree; //wywołanie procedury zwalniającej pamięć

end;

  1. Dla zdarzenia OnDestroy (likwidacja obiektu) przypisz zmiennej Form2 wartość zera wskaźnikowego:

procedure TForm2.FormDestroy(Sender: TObject);

begin

Form2:=Nil;

end;

  1. Skompiluj aplikacje, wciskając przycisk Yes w pokazującym się oknie komunikatu, dodaj do projektu brakujące elementy.

  2. Sprawdź działanie aplikacji.

Zadanie l

Aplikacje z poprzedniego podrozdziału przekształć tak, aby formularze tworzone były dynamicznie.

3



Wyszukiwarka

Podobne podstrony:
Programowanie aplikacji na iPhone
Strategie marketingowe, fornulowanie strategii na rynku, FORMUŁOWANIE STRATEGII NA RYNKU DÓBR I USŁU
2010 01 Synchronizacja danych na wielu nośnikach [Administracja]
aplikacja na top 2
aplikacja na top 3
2014-15-TRD-T1 02 Pomiar-ruchu-na-skrzyżowaniu formularz, Budownictwo UTP, III rok, VI semestr - DUL
Programowanie aplikacji na serwisy spolecznosciowe prapse
aplikanci na maila 3, APLIKACJA RADCOWSKA, I rok, Prawo pracy
Na jakich formularzach rejestruje się nowe stowarzyszenie w KRS
aplikacja na koszulkę waszka
aplikanci na maila 4, APLIKACJA RADCOWSKA, I rok, Prawo pracy
aplikacja na top 4
Pokazywanie nazw argumentów funkcji na pasku formuły
gra na wielu instrumentach
Polonista siedzi na wielu s

więcej podobnych podstron