03.Rozdziaę 02b.pdf
(
1674 KB
)
Pobierz
33670543 UNPDF
54
Część I
Rysunek 2.14.
Nowy formularz
z komponentami
TTable
i
TDataSource
.
Po przygotowaniu komponentów
TTable
i
TDataSource
można przystąpić do
umieszczania na formularzu kontrolek powiązanych z danymi. Kontrolki takie są
elementami interfejsu użytkownika, powiązanymi ztabelami baz danych.
Wykazują duże podobieństwo do typowych kontrolek, spotykanych we wszystkich
aplikacjach Windows, ztym że realizują dodatkowo funkcje pobierania
i zapisywania danych w bazie. Na przykład kontrolka
TEdit
służy do edycji
wierszy tekstu. Delphi oferuje również analogiczny komponent, powiązany
z danymi, noszący nazwę
TDBEdit
. Zachowuje się on tak samo jak
TEdit
, tyle
że służy do edycji kolumny baz danych. Prezentuje na ekranie dane
przechowywane aktualnie w kolumnie i zapisuje w kolumnie wszelkie zmiany
wprowadzone przez użytkownika.
Jako pierwszą można na formularzu umieścić kontrolkę
TDBNavigator
.
Dostępna jest ona na stronie Data Controls palety komponentów Delphi.
Komponent
TDBNavigator
należy umieścić na górnym panelu formularza.
Atrybut
DataSource TDBNavigatora
powinien wskazywać na źródło
danych
TDataSource
, umieszczone uprzednio na formularzu. Omawiane
czynności ilustruje rysunek 2.15.
W dalszej kolejności na formularzu ulokować można pozostałe kontrolki danych.
Zadanie to można zrealizować na dwa sposoby. Pierwszy - bardziej kłopotliwy -
polega na umieszczaniu komponentów
TDBEdit
,
TDBMemo
, itd. na formularzu,
ustalaniu wartości ich atrybutów
DataSource
i
DataField
, wreszcie -
opisaniu kontrolek przy pomocy komponentów
TLabel
. Metoda ta jest bez
wątpienia skuteczna, można jednak obrać znacznie prostszą drogę.
Szybki start
55
Rysunek 2.15.
Formularz
z umieszczonym
komponentem
TDBNavigator.
Szybsza metoda sprowadza się do przeciągnięcia komponentów
TField
z edytora
pól Delphi (Fields Editor) na formularz. Po umieszczeniu komponentu
TField
na
formularzu, Delphi automatycznie utworzy odpowiednią kontrolkę powiązaną
z danymi i opisującą ją etykietę. Aby skorzystać z tej metody przygotowania
formularza należy:
1. Podwójnie kliknąć na komponencie
TTable
, co spowoduje wywołanie edytora
pól (Fields Editor).
2. Kliknąć prawym klawiszem myszy w oknie edytora pól i wybrać opcję
Add
fields
(Dodaj pola).
3. Gdy na ekranie pojawi się lista pól, kliknąć
OK
, co spowoduje dodanie
wszystkich pól.
4. Pola pozostaną podświetlone w oknie
Fields Editor
. Należy je teraz przeciągnąć
na formularz. Dla każdego pola utworzona zostanie nowa kontrolka powiązana
z danymi i etykieta
TLabel
.
Na rysunku 2.16 pokazano przykładowy formularz ze wszystkimi kontrolkami
i etykietami.
Nasz nowy formularz jest w zasadzie gotowy. Opisane powyżej czynności
doprowadziły do utworzenia formularza identycznego z przygotowanym wcześniej
przez kreatora Database Form Wizard.
56
Część I
Rysunek 2.16.
Nowy formularz
z kompletem
kontrolek
powiązanych
z danymi.
Aby móc uruchomić nowy formularz trzeba jeszcze tylko zdecydować, w jaki
sposób i na którym etapie działania programu ma zostać otwarta tablica
TTable
.
Dostępne są dwie możliwości. Pierwsza polega na nadaniu atrybutowi
Active
wartości
True
już podczas tworzenia formularza i programu. Tabela zostanie
otwarta już wtrakcie pracy nad formularzem wDelphi, atakże wczasie
wykonywania programu. Można również wpisać polecenie otwarcia tabeli
TTable
do podprogramu obsługi zdarzenia
OnCreate
lub
OnShow
. W takim
przypadku tabela będzie otwierana w trakcie wykonywania programu. Kreator
Database Form Wizard korzysta właśnie z drugiego z opisanych sposobów -
wpisuje polecenie otwarcia
TTable
do podprogramu
OnCreate
, co powoduje,
że tabela jest otwierana niezwłocznie po utworzeniu formularza przez program.
W omawianym przykładzie podążymy tą samą drogą, co kreator Database Form
Wizard i wpiszemy odpowiednie polecenie do podprogramu obsługi zdarzenia
OnCreate
. Naciśnięcie klawisza F11 przywoła okienko
Object Inspector
. Należy
teraz kliknąć myszą na liście rozwijanej i wybrać zdefiniowany właśnie formularz
ze spisu klas komponentów. Następnie należy przejść na stronę
Events
(Zdarzenia)
okienka
ObjectInspector
i podwójnie kliknąć na zdarzeniu
OnCreate
. Spowoduje
to otwarcie edytora tekstu źródłowego, w którym należy wpisać następujące
polecenie:
Table1.Open;
W ten sposób tabela będzie otwierana natychmiast po utworzeniu formularza przez
program. Formularze aplikacji są na ogół automatycznie tworzone zaraz po
uruchomieniu programu. Zmiana odpowiedniej opcji w polu dialogowym
Project
Options
umożliwia rezygnację z automatycznego tworzenia formularzy.
Szybki start
57
Uruchamianie programu z nowym formularzem
Formularz jest teraz gotowy do uruchomienia. Aby zagwarantować, że formularz
pojawi się na ekranie jako pierwszy po uruchomieniu aplikacji, należy uczynić go
formularzem głównym aplikacji. Oto odpowiednia procedura postępowania:
1. Wybrać pozycję
Options
z menu
Project
.
2. Na stronie
Forms
okna dialogowego
Options
kliknąć na liście rozwijanej
Main
form
i wybrać z niej formularz Form1. Wskazany formularz stanie się głównym
formularzem aplikacji.
3. Kliknąć
OK
w celu zachowania zmian.
Można teraz nacisnąć klawisz F9, co spowoduje uruchomienie aplikacji. Na
ekranie powinien pojawić się nowy formularz. rysunek 2.17 przedstawia
przykładowy wygląd ekranu po uruchomieniu aplikacji.
Rysunek 2.17.
Nowy formularz
w trakcie
wykonania
programu.
Po wypróbowaniu nowego formularza należy go zamknąć i powrócić do Delphi.
Tworzenie aplikacji do obsługi baz danych
Znajomość podstaw tworzenia prostych formularzy, służących do obsługi baz
danych, pozwala przejść do bardziej złożonego zagadnienia, jakim jest budowanie
całych aplikacji do obsługi baz danych. Niniejsza sekcja porusza następujące
problemy:
58
Część I
wykorzystanie komponentu
TDatabase
w aplikacjach;
definiowanie aliasów BDE;
przygotowywanie modułów danych;
tworzenie formularzy typu nadrzędny-podrzędny;
wykorzystanie komponentu
TQuery
;
projektowanie raportów.
Komponent TDatabase
Stosowanie komponentu
TDatabase
w aplikacjach do obsługi baz danych nie
jest wprawdzie konieczne, jednak znakomicie ułatwia scentralizowane zarządzanie
dostępem do bazy danych. Na przykład, aby zmienić poziom izolacji transakcji
w ramach aplikacji, wystarczy zmodyfikować wartość atrybutu
TransIsolation
komponentu
TDatabase
. Aby zastąpić domyślną
sekwencję logowania, można dołączyć odpowiedni fragment kodu do procedury
obsługi zdarzenia
OnLogin
w komponencie
TDatabase
. Podobnie, aby określić
parametry specyficzne dla programu obsługi bazy danych, wystarczy dodać
odpowiednie wpisy do atrybutu
Params
.
Aby przygotować komponent
TDatabase
dla formularza Form1 należy:
1. Odnaleźć komponent
TDatabase
na stronie Data Access paska narzędzi
Delphi i przenieść ten komponent na formularz. Położenie
TDatabase
na
formularzu nie jest istotne - jest to komponent nie posiadający reprezentacji
graficznej, podobnie jak
TTable
i
TDataSource
, i jako taki nie będzie
widoczny podczas wykonywania programu.
2. Przypisać atrybutowi
AliasName
komponentu
TDatabase
nazwę aliasu
DBDEMOS; alias ten używany był wcześniej przez kontrolki umieszczone na
formularzu.
3. Nadać atrybutowi
DatabaseName
wartość
dbTest
. Atrybut
DatabaseName
(nazwa bazy danych) określa nazwę, za pośrednictwem
której inne komponenty będą odwoływały się do danego komponentu
TDatabase
. Odwołanie takie realizowane jest poprzez własny atrybut
DatabaseName
każdego z takich komponentów. A zatem, aby używać
komponentu
TDatabase
z komponentem
TTable
, należy atrybutom
DatabaseName
obu tych komponentów nadać tę samą wartość.
4. Po przygotowaniu
TDatabase
należy tak zmodyfikować komponent
TTable
, aby odwoływał się on do nowej bazy danych. W tym celu należy
wywołać okno Object Inspector i kliknąć na liście rozwijanej, widocznej obok
Plik z chomika:
zachomikowywacz.pl
Inne pliki z tego folderu:
Scientific Computing with Matlab and Octave - Alfio Quarteroni & Fausto Saleri.pdf
(7557 KB)
Roman Trobec, Marián Vajteric, Peter Zinterhof-Parallel Computing_ Numerics, Applications, and Trends-Springer (2009).pdf
(1531 KB)
Robert Paige, J.H. Reif, Ralph Wachter-Parallel Algorithm Derivation and Program Transformation-Springer (1993).pdf
(13174 KB)
Oded Goldreich-Computational Complexity_ A Conceptual Perspective (2008).pdf
(4861 KB)
Dimitri_P_Bertsekas_Parallel_and_Distributed_Computation_Numerical_Methods.pdf
(56420 KB)
Inne foldery tego chomika:
Battlefront II
C++
cultures 4 - ósmy cud świata
Dokumenty
ebooki
Zgłoś jeśli
naruszono regulamin