Rozdział 10
Pierwsze formularze
Mając skompletowane główne okno aplikacji, możemy rozpocząć tworzenie
dalszej części programu. Zanim jednak zaczniemy konstruować kolejne
formularze, musimy popracować nad modułem danych - dmRENTMAN. Chociaż
komponenty
Table
oraz
DataSource
dmRENTMAN zostały ustawione, nie
możemy jeszcze dodać do tych tabel żadnego komponentu
Tfield
, ani łączyć
kolumn ze zbiorami atrybutów Delphi. Ukończenie definicji kolumn przed
konstruowaniem formularza, który z nich korzysta, oszczędza czas i gwarantuje, że
program zachowa logikę swoich formularzy.
Silverrun-RDM i tryb Delphi
Pierwszy ze sposobów umożliwiających wprowadzenie ograniczeń i masek na
poziomie kolumn korzysta z narzędzia Silverrun-RDM. Wspiera ono specjalny
tryb pracy Delphi, który umożliwia definiowanie zbiorów atrybutów i powiązanie
ich z kolumnami w relacyjnym modelu danych. Takie podejście pozwala na
scentralizowane definiowanie kolumn.
Słabą stroną tej metody jest konieczność definiowania zbioru atrybutów oddzielnie
od reszty modelu. Nie można po prostu importować ograniczeń określonych
w bazie danych, tak jak za pomocą Ekploratora Baz Danych Delphi (Delphi’s
Database Explorer). Mimo tego ograniczenia wydaje się, że stosowanie narzędzia
Silverrun daje niewielką przewagę.
Importowanie informacji słownika danych (Data Dictionary
Information) z bazy danych
O wiele prostszą i, jak się wydaje, bardziej intuicyjną metodą importowania
informacji ze zbioru atrybutów, jest użycie Eksploratora Baz Danych do
bezpośredniego sprowadzenia ich z bazy danych. Bazy danych Interbase można
importować hurtowo do słownika danych Delphi. Tabele i kolumny utworzone
wcześniej staną się tabelami i
kolumnami w
słowniku danych, a
domeny
(dziedziny) staną się zbiorami atrybutów.
Po dodaniu informacji z bazy danych do słownika danych Delphi trzeba będzie
przekształcić nowoutworzone kolumny i definicje atrybutów tak, aby zawierały
ustawienia specyficzne dla Delphi. Na przykład, można określić domyślne
310
Część II
komponenty kolumn, które odwołują się do zadanego zbioru atrybutów. Można
również zdefiniować specyficzny zbiór atrybutów dla masek edycyjnych, typów
pól oraz masek wyświetlania.
Istnieje możliwość przeciągnięcia obiektów bezpośrednio z Eksploratora Baz
Danych (Database explorer) do formularzy Delphi. Przeciągając tabelę lub
perspektywę z eksploratora do zwykłego formularza Delphi spowodujemy, że
zostaną w nim umieszczone komponenty
Table
,
DataSource
i
DBGrid
.
Delphi połączy ze sobą wszystkie elementy automatycznie. Przeciągając tabelę lub
perspektywę do formularza modułu danych, utworzymy wyłącznie komponent
Table
.
Podobnie, z Eksploratora Baz Danych można przeciągnąć procedurę pamiętaną,
aby utworzyć komponent
StoredProc
.
Aby importować bazę danych RENTMAN do słownika danych Delphi, należy
postępować następująco:
1. Jeśli aplikacja RENTMAN jest uruchomiona, to należy ją zamknąć i powrócić
do Delphi.
2. Jeśli serwer InterBase nie działa, to należy go włączyć.
3. Wcisnąć kombinację klawiszy SHIFT+F12 oraz dwukrotnie kliknąć na liście
modułu danych dmRENTMAN, aby go otworzyć. W ten sposób powstanie
alias dbRENTMAN lokalnej bazy dmRENTMAN, który umożliwia
współpracę z Eksploratorem Baz Danych.
4. Wybraæ opcjê
Database\Explore
, aby uruchomiæ eksplorer (Database
Explorer).
5. Kliknąć na stronie Dictionary, a następnie wybrać opcję
Dictionary\New
.
6. W okmie dialogowym
Create a new Dictionary
(utworzyć nowy słownik)
wprowadzić nazwę słownika (Database name): RENTMAN, nazwę bazy
danych (Database): dbRENTMAN. W ten sposób słownik został nazwany
RENTMAN, a baza danych dbRENTMAN (lokalny alias - dbRENTMAN
został utworzony podczas definiowania komponentu
Database
modułu
danych).
7. Wpisać przejrzysty komentarz do pola
Description
(na przykład:
RENTMAN
Data Dictionary)
i zatwierdzić przyciskiem
OK
. Rysunek 10.1. ilustruje
wypełnione okno dialogowe.
Pierwsze
formularze
311
8. Na prośbę o nazwę użytkownika i hasło należy odpowiedzieć identyfikatorem
SYSDBA
i hasłem
masterkey
.
9. Podwójnie kliknąć na liście w pozycji
Dictionary
, a następnie raz na pozycji
Databases
. Na ponowne żądanie identyfikacji odpowiedzieć jak poprzednio.
10. Wybrać opcję
Dictionary\Import
z menu
Database
, po czym zaznaczyć na liście
bazę danych dbRENTMAN i zatwierdzić klawiszem
OK
. Należy się upewnić,
że został wybrany lokalny alias dbRENTMAN, a nie alias zdefiniowany
w rozdziale 9. Wybranie niewłaściwego aliasu uniemożliwi łatwy import
zbioru atrybutów słownika danych.
11. Na kolejne pytanie o personalia odpowiedzieć jak poprzednio.
12. Po krótkiej przerwie, eksplorator powinien zgłosić się ponownie wraz ze
sprowadzoną do słownika bazą dbRENTMAN. W bazie danych RENTMAN
powinna się znajdować specjalna tabela o nazwie BDESDD, zawierająca
słownik danych.
13. Aby upewnić się, że importowanie bazy dbRENTMAN przebiegło pomyślnie
należy podwójnie kliknąć
Dictionary
(na stronie
Dictionary)
, a następnie
również podwójnie
Databases
. Podwójnie kliknąć dbRENTMAN, aby
zobaczyć informacje o
słowniku danych. Podwójnie kliknąć ikonę
AttributeSets
, aby stwierdzić, czy domeny RENTMAN zostały zaimportowane
jako zbiór atrybutów Delphi. Rysunek 10.2. ilustruje sprowadzone informacje
słownika danych.
Rysunek 10.1.
Tworzenie nowego
słownika danych
dla aplikacji
RENTMAN.
312
Część II
Przekształcanie słownika danych
Wszelkie zmiany obiektów słownika danych powinny być dokonane przed
użyciem ich w formularzach. Postępując w ten sposób możemy być pewni, że
zdefiniowane atrybuty obiektów są dokładnie odzwierciedlone w formularzach.
Słownik danych RENTMAN może być modyfikowany na nieskończenie wiele
sposobów (czas i miejsce nie pozwalają na wyczerpujące omówienie zagadnienia).
Zajmiemy się wspólnie garstką przekształceń zbiorów atrybutów.
Poniższe punkty opisują przekształcanie słownika danych:
1. Kliknąć na zbiorze atrybutów
TYESNO
i
określić jego specyfikację
TControlClass
na
TDBCheckBox
. W
ten sposób domyślny typ
komponentu dla rubryk zdefiniowanych przy użyciu
TYESNO,
został
ustawiony na
DBCheckBox
(z palety komponentów Delhi). Ilustruje to
rysunek 10.3.
Rysunek 10.2.
Słownik danych
RENTMAN.
Pierwsze
formularze
313
2. Ustawić
TDBComboBox
jako domyślny komponent zbiorów atrybutów
TADDITION
,
TCITY
i
TSCHOOLDISTRICT
(własność
TControlClass
).
Podczas budowy formularzy, które odwołują się do wymienionych zbiorów
atrybutów, będzie można wykorzystać listy edycyjne z
właściwymi
wartościami.
3. Kliknąć na zbiorze atrybutów
TSTATE
i wpisać >
AA
do pola własności
Edit
Mask
, co zapewni, że wszystkie wartości wprowadzane do komponentów
z atrybutem
TSTATE
będą pisane dużymi literami.
4. Kliknąć własność (
Default
) zbioru
TSTATE
i ustawić ją na
‘TX’
. Spowoduje
to, że domyślną wartością pól
Tfields
, które są połączone z atrybutem
TSTATE
, będzie Texas.
5. Kliknąć zbiór atrybutów
TPHONE
i wpisać
!\(999\)000-0000
do jego
pola własności
Edit Mask
. Dzięki temu wszystkie wartości wprowadzone do
składników o wskazanym atrybucie będą sformatowane zgodnie z zasadami
pisania numerów telefonicznych w USA.
6. Ponownie kliknąć ikonkę
Attribute Sets
na liście wyboru karty, a następnie
zachować zmiany dokonane w zbiorach atrybutów - właściwym przyciskiem
Eksploratora Baz Danych (przycisk z niebieską strzałką skierowaną w prawo).
7. Ponieważ w programie RENTMAN można już używać słownika danych,
zamknąć Eksplorator Baz Danych i powrócić do Delphi. Za chwilę atrybuty
zdefiniowane w
słowniku będzie już można importować do aplikacji
RENTMAN.
Rysunek 10.3.
Można określić
komponenty, które
zostaną utworzone
podczas
przeciągania pól
do formularza.
314
Część II
Przekształcanie modułu danych
Teraz, kiedy skompletowaliśmy już słownik danych, jesteśmy gotowi do włączenia
go do aplikacji. Zrobimy to, dodając komponent
Tfield
do każdej tabeli modułu
danych dmRENTMAN. Po utworzeniu definicji pola, będzie je można
wykorzystać wraz ze specyficznymi zbiorami atrybutów, utworzonymi
w Eksploratorze Baz Danych.
Przekształcanie tabel
Następujące czynności spowodują włączenie informacji słownika danych do
każdego komponentu Table bazy dmRENTMAN:
1. Podwójnie kliknąć na komponencie
Table
, aby uruchomić edytor pól (Fields
Editor)
2. Prawym przyciskiem myszy kliknąć na edytorze pól i wybrać pole
Add
3. Wcisnąć przycisk
OK
okna dialogowego
Add Fields -
by utworzyć komponent
Tfield
dla wszystkich kolumn w podstawowej tabeli bazy danych.
4. Ustawić własność
Edit Mask
każdego pola daty na:
!99/99/00;1;_.
Dotyczy to pól:
LASTLAWNDATE
,
LASTSPRAYDATE
,
BEGINDATE
,
ENDDATE
,
MOVEDINDATE
,
MOVEDOUTDATE
,
CALLDATE
i
STARTDATE
.
5. Ustawić własność
EditMask
każdego pola czasu na
!99:00>LL;1;_.
Dotyczy to pola
CALLTIME
6. Zamknąć edytor pól, klikając przycisk zamykania na ramce okna.
7. Powtórzyć powyższy algorytm dla każdego elementu
Table
modułu danych.
Aby sprawdzić rezultat pracy, należy (po jej zakończeniu) kliknąć prawym
przyciskiem myszy na komponencie
taPROPERTY
i wybrać Fields Editor,
a następnie kliknąć pole
STATE
. Informacje zbioru atrybutów kolumny można
sprawdzić w Inspektorze Obiektów (Object Inspector). Powinniśmy zobaczyć to
tak, jak na rysunku 10.4.
WSKAZÓWKA
Można szybko zaznaczyć kolejne pola w
edytorze pół (Fields Editor),
umieszczając kursor na pierwszym polu a następnie przemieszczając kursor w dół
przy pomocy klawisza strzałki, mając cały czas wciśnięty klawisz SHIFT. Aby
zaznaczyć kilka pól nie leżących bezpośrednio po sobie, należy, mając zaznaczone
pierwsze pole, wcisnąć kombinację klawiszy SHIFT+F8, a następnie przenosić
kursor do kolejnych pól, zaznaczając wybrane klawiszem spacji.
Pierwsze
formularze
315
Formularz szybkiego wprowadzania i edycji danych do
tabeli EMPLOYEE
Następnym etapem budowy programu RENTMAN jest stworzenie formularza
szybkiego wprowadzania danych do tabeli EMPLOYEE; będzie się nazywał
fmREMPENT0
. Istnieje prosta i trudna droga prowadząca do powstania formularza
bazy danych. Spróbujmy najpierw tej łatwiejszej (wykorzystując kreator
formularzy baz danych), a następnie tej mieniącej się trudną (budując formularz
ręcznie). Kreator formularzy baz danych nie pozwala zrobić użytku z hierarchii
formularzy, dlatego nie jest rozwiązaniem, które można wykorzystywać
permanentnie. Należy jednak użyć go choć raz, aby poczuć potencjał kreatorów
Delphi.
Tworzenie formularza przy użyciu Kreatora formularzy baz danych
(Database Form Wizard)
Kreator formularzy uruchamia się, wybierając opcję
Database\Form Wizard
w głównym menu Delphi. Zadaniem Kreatora jest skonstruowanie formularza
zgodnie z życzeniami użytkownika poprzez zadawanie mu pytań. Pierwsze pytanie
dotyczy wyboru typu formularza (prosty czy kombinowany) oraz rodzaju
komponentu, którego ma użyć (Table lub Query). Ponieważ w tej chwili
zadowalają nas ustawienia domyślne, przechodzimy do następnego etapu klikając
przycisk
Next
(por. rysunek 10.5.)
Rysunek 10.4.
Zdefiniowane
w Eksploratorze
Baz Danych zbiory
atrybutów
wprowadzone do
aplikacji
316
Część II
Kolejne pytanie wymaga wskazania tabeli, która ma być obsługiwana przez
formularz. Rozpoczniemy od wskazania na dysku aliasu
dbRENTMAN
lub od
wybrania jego nazwy z rozwijalnej listy. Po dokonaniu wyboru
dbRENTMAN
lista
tabeli zmieni się, odwzorowując bazę danych RENTMAN. Klikamy dwukrotnie
tabelę EMPLOYEE
,
znajdującą się blisko szczytu listy. (por. Rysunek 10.6.)
W kolejnym kroku Kreator zaprezentuje nam listę pól wybranej tabeli. Możemy
wybierać je kolejno, za pomocą przycisku > lub wszystkie razem - przy użyciu
klawisza >>. Klikamy przycisk >>, a następnie
Next
, przechodząc do następnego
etapu (por. Rysunek 10.7).
Rysunek 10.5.
Otwarte okno
kreatora
formularzy baz
danych.
Rysunek 10.6.
Wybór tabeli dla
Kreatora
formularzy baz
danych.
Rysunek 10.7.
Wybieranie pól
tabeli w Kreatorze
formularzy.
Pierwsze
formularze
317
Następną decyzją, którą musimy podjąć, jest określenie orientacji pól na nowym
formularzu. Możemy wybrać poziomą (
Horizontal
), pionową (
Vertical
) lub
tabelaryczną (
Grid
). Klikając przycisk
Next
, wybieramy orientację poziomą
(domyślną).
Kolejnym i ostatnim krokiem jest odpowiedź na pytanie, czy tworzony formularz
ma być głównym formularzem aplikacji. Pole wyboru na górze okienka
markowane jest krzyżykiem oznaczającym domyślną opcję:
Generate a main form
.
Likwidujemy to zaznaczenie, albowiem nasza aplikacja posiada już główny
formularz o nazwie
fmRSYSMAN
. Kończymy pracę Kreatora, wciskając przycisk
Create
(utwórz). Rysunek 10.8. ilustruje efekt działania Kreatora.
Formularz posiada własne komponenty
Table
i
DataSource
. Inne formularze,
które utworzymy, będą korzystać z odpowiednich komponentów
dmRENTMAN
.
Aby formularz używał tych samych elementów, co pozostałe, możemy go zmienić
w następujący sposób:
1. Usunąć z formularza oba komponenty
Table
i
DataSource
.
2. Znaleźć kod zdarzenia
FormCreate
formularza i usunąć linię:
Table1.Open;
Teraz formularz nie będzie już próbował otworzyć usuniętych komponentów.
3. W menu Delphi wybrać opcję
File\Use Unit
i dwukrotnie kliknąć na pozycji
RENDATA listy modułów, tak jak przedstawia rysunek 10.9.
Rysunek 10.8.
Formularz
wprowadzania
i edycji tabeli
EMPLOYEE
utworzony przy
pomocy Kreatora
formularzy.
Rysunek 10.9.
Łączenie modułów
w opcji File\Use
Unit.
318
Część II
4. Wybrać komponent
DBNavigator
wraz z dwoma komponentami DBEdit.
5. Zmienić własność
DataSource
wszystkich trzech elementów na
dmRENTMAN.dsEMPLOYEE.DataSource. (Powinna być w rozwijalnej liście
własności
DataSource
.)
Teraz, w czasie testowania formularza, będziemy pracować na oryginalnych
komponentach
Table
i
DataSource
systemu RENTMAN.
Testowanie nowego formularza
Najprostsza metoda wypróbowania nowego formularza polega na połączeniu go
z programem RENTMAN, co można zrobić w następujący sposób:
1. Zaznaczyć formularz
fmRSYSMAN
, a następnie
Use Unit
w menu
File
i wybrać
z listy pozycję
Unit1
.
2. Dwukrotnie kliknąć na komponencie
MainMenu
formularza.
3. Wybrać menu
Tables
i dwukrotnie kliknąć listę na pozycji
Employee
. W tym
miejscu włączy się edytor kodu Delphi, który umożliwia dołączenie kodu
uruchamiającego formularz po wybraniu odpowiedniego elementu menu.
4. Ponieważ nowy formularz posiada nie zmienioną, domyślną nazwę Form1,
wprowadzić przy pomocy edytora następującą linię kodu, tak jak to
przedstawiono na rysunku 10.10:
Form1.Show;
Dzięki temu nowy formularz zostanie wyświetlony zarówno po wybraniu pozycji
Employees
w ofercie
Table
, jak i po wciśnięciu klawisza szybkiego dostępu F8.
Teraz można uruchomić aplikację, aby wypróbować nowy formularz. Włączamy
program, wciskając F9 lub klikając przycisk
Run
.
Rysunek 10.10.
Podłączenie
nowego formularza
do aplikacji
RENTMAN.
Pierwsze
formularze
319
Po wystartowaniu programu wciskamy klawisz F8. Rysunek 10.11 ilustruje
wygląd formularza podczas normalnej pracy.
Formularz jest w pełni operatywny; możemy dodawać, usuwać i edytować rekordy
bazy danych. Próbujemy dodawania rekordów klawiszem + z grupy narzędzi
DBNavigator oraz usuwania ich, klawiszem -. Test kończymy wyłączeniem
zarówno formularza, jak i aplikacji, po czym wracamy do Delphi.
Usuwanie nowego formularza z projektu
Ponieważ nowy formularz nie używa hierarchii formularzy, to nie będzie on
podobny do pozostałych elementów aplikacji. Usuwamy go z
projektu
w następujący sposób:
1. Kliknąć klawisz
Remove file from project
na pasku narzędziowym Delphi lub
wybrać z menu opcję
Remove from Project
.
2. Podwójnie kliknąć pozycję
Unit1
na liście i usunąć moduł z projektu.
3. Na pytanie, czy zachować
Unit1
, odpowiedzieć: nie.
4. Usunąć linię kodu wprowadzoną w poprzedniej części rozdziału poprzez edycję
fmRSYSMAN0
(
Form1.Show
).
5. Z nagłówka
fmRSYSMAN
usunąć linię kodu zawierającą deklarację
Uses
Unit1.
Budowa nowego formularza z zastosowaniem Wizualnego Projektanta
Delphi (Delphi’s Visual Designer)
Spróbujemy teraz drogi trudniejszej, choć w rzeczywistości druga metoda
konstruowania formularzy nie będzie tak bardzo skomplikowana.
Utworzymy formularz fmREMPENT0, wykonując poniższe czynności:
Rysunek 10.11.
Wygląd nowego
formularz podczas
działania
programu.
320
Część II
1. Wybrać z menu Delphi opcję
File\New
.
2. Wybrać stronę
Form
, a następnie pozycję
fmEditForm
na liście formularzy.
3. Kliknąć przycisk opcji
Inherit
i zatwierdzić przyciskiem
OK
. W wizualnym
projektancie formularzy powinien się ukazać formularz o
nazwie
fmEditForm1
.
4. Zmienić nazwę formularza na
fmREMPENT0
(własność
Name
) i
jego
nagłówek (Caption) na
EMPLOYEE
Quick Entry/Edit Form
(formularz
szybkiego wprowadzania i edycji tabeli EMPLOYEE).
5. Wybrać opcję
File\Use Unit
i podwójnie kliknąć moduł
RENDATA -
aby dodać
moduł danych programu RENTMAN do deklaracji modułów nowego
formularza (deklaracja
Uses
..).
6. Po lewej stronie formularza umieścić następnie dwa komponenty etykiet
i wyrównać je pionowo jedna nad drugą.
7. Wprowadzić nagłówki etykiet
&EmployeeNo
- dla górnej i odpowiednio
&Name
- dla dolnej.
8. Umieścić dwa składniki DBEdit po prawej stronie formularza i wyrównać je
względem etykiet- zarówno w pionie, jak i w poziomie.
9. Górny element nazwać
dedEmployeeNo
, a dolny
dedName
.
10. Powiększyć rozmiar elementu
dedName
, tak aby jego szerokość była mniej
więcej dwukrotnie większa od szerokości elementu
dedEmployeeNo
. Przy
jego pomocy będzie można edytować rubrykę
Name
tabeli EMPLOYEE,
zawierającą nazwiska pracowników, co wymaga nieco większej przestrzeni.
11. Ustawić własności etykiet
FocusControl
, aby odpowiadały odpowiednim
komponentom: górnej - elementowi
dedEmployeeNo
, dolnej - składnikowi
dedName
. Pozwoli to używać klawiszy szybkiego dostępu etykiet do
uaktywniania edycji odpowiedniego elementu.
Rysunek 10.12 ilustruje nowy formularz w całej okazałości.
Pierwsze
formularze
321
WSKAZÓWKA
Elementy kontrolne danych i etykiety można łatwo umieszczać na formularzu,
stosując technikę przeciągania komponentów
Tfield
z listy pól DataSet. Robi
się to następująco:
1. Umieścić moduł danych
dmRENTMAN
na górze projektanta formularzy, tak aby
móc widzieć odpowiedni fragment formularza.
2. Prawym klawiszem myszy kliknąć element
DataSet,
zawierający te pola, które
chcemy użyć oraz wybrać edytor pól (Fields Editor) z podręcznego menu.
3. Przeciągnąć pole z
edytora pól na właściwe miejsce formularza.
W odpowiednim miejscu powinny się ukazać zarówno kontrolki danych, jak
i odpowiadające im etykiety.
4. Należy pamiętać, że informacja o rodzaju kontrolek tworzonych dla danego
pola decydują własności
TControlClas
i związany z nią zbiór atrybutów.
Połączenie formularza z modułem danych
Połączymy teraz nowy formularz z modułem danych
RENTMAN
, tak aby miał
dostęp do obiektów bazy danych. Połączenie z
dmRENTMAN
tworzymy
następująco:
1. Z menu
File
wybrać opcję
Use Unit
i dwukrotnie kliknąć na pozycji RENDATA
listy modułów.
2. Wybrać kontrolki formularza DBEdit oraz DBNavigator i ustawić ich własność
DataSource
na wspólną tablicę:
dmRENTMAN
.
dsEmployee
.
3. Zlikwidować zaznaczenie wszystkich trzech kontrolek i ustawić własność
DataField
każdego elementu
DBEdit
na odpowiadające mu pole tabeli
Rysunek 10.12.
Formularz
fmREMPENT0
razem
z umieszczonymi
na nim etykietami
i elementami
edycyjnymi
DBEdit.
322
Część II
Employee. Element
dedEmployeeNo
odpowiada rubryce
EMPLOYEE
_
NUMBER
a
dedName
polu
NAME
.
W ten sposób formularz szybkiego wprowadzania danych i
edycji tabeli
EMPLOYEE został ukończony. Należy jeszcze zachować go jako
REMPENT0
.
PAS
w źródłowym katalogu programu RENTMAN.
Testowanie nowego formularza
Po zachowaniu formularza można rozpocząć jego testowanie. Aby sprawdzić
formularz w działaniu, należy wykonać następujące czynności:
1. Wybrać formularz
fmRSYSMAN
w
wizualnym projektancie formularzy
i dwukrotnie kliknąć jego komponent menu
mmRENTMAN.
2. Wybrać menu
Tables
i dwukrotnie kliknąć opcję
Employee
.
3.
Do menu wpisać kod zdarzenia opisującego kliknięcie opcji:
fmREMPENT0.Show.
4. Dzięki temu nowy formularz będzie wyświetlany po wybraniu z menu pozycji
Employee
.
5. Zamknąć projektanta menu i wybrać opcję
Use Unit
z oferty
File
.
6. Na liście modułów dwukrotnie kliknąć pozycję REMPENT0. Dzięki temu
główny formularz programu
RSYSMAN0
stosował będzie modułu, który
definiuje formularz
fmREMPENT0
. W
czasie kompilacji i
uruchamiania
programu będzie wywoływana odpowiednia metoda
Show
.
7. Zachować projekt RENTMAN i uruchomić go. Rysunek 10.13 ilustruje wygląd
formularza w czasie pracy programu.
Rysunek 10.13.
Kompletny
formularz
fmREMPENT0.
Pierwsze
formularze
323
Formularz szybkiego wprowadzania i edycji danych tabeli
WorkType
Tworzenie formularza dla tabeli EMPLOYEE zakończyliśmy sukcesem. Przed
nami kolejny formularz, tym razem dla tabeli
Work Type
. Zachęcamy
czytelnika, aby bez prowadzenia za rękę spróbował wykonać go samodzielnie,
przestrzegając jedynie poniższych wskazówek:
Nazwa nowego formularza brzmi
fmRWKTENT0
, a nagłówek
Work Type
Quick Entry\Edit Form
(Formularz szybkiego wprowadzania i edycji
danych tabeli WorkType).
Formularz, podobnie jak poprzedni, dziedziczy własności klasy
fmEditForm
.
Należy się upewnić, że zostały zdefiniowane litery szybkiego dostępu
w
etykietach (przy pomocy symbolu „&”), oraz że ich własności
FocusControl
wskazują odpowiednie kontrolki danych.
Przy nazywaniu komponentów należy przestrzegać konwencji przyjętej
w rozdziale 4.
Kontrolki danych powinny wskazywać komponent
DataSource
o nazwie
dmRENTMAN
.
dsWORKTYPE
.
Nie można zapomnieć o konieczności zapewnienia dostępu do obiektów bazy
danych poprzez deklarację modułu RENDATA, za pośrednictwem opcji
File | Use Unit.
Przy pomocy własności
DataField
trzeba połączyć komponenty
DBEdit
z odpowiednimi polami tabeli WORKTYPE.
Pracę kończymy (podobnie jak przy poprzednim formularzu) połączeniem
nowo utworzonego formularza z głównym ekranem programu RENTMAN.
Rysunek 10.4. ilustruje skompletowany formularz w czasie pracy programu.
Rysunek 10.14.
Skompletowany
formularz
fmRWKTENT0.