background image

 

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 

background image

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. 

background image

 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. 

background image

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. 

background image

 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. 

background image

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. 

background image

 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 

background image

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. 

background image

 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. 

background image

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. 

background image

 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. 

background image

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. 

background image

 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. 

background image

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. 

background image

 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 

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.