Delphi_2007_dla_WIN32_i_bazy_danych_delwin.pdf

(553 KB) Pobierz
Delphi 2007 dla WIN32
i bazy danych
Autor: Marian Wybrañczyk
ISBN: 978-83-246-1972-6
Stron: 608
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Stwórz w³asne aplikacje dla systemu Windows
• Jak pracowaæ ze œrodowiskiem programistycznym Delphi?
• W jaki sposób tworzyæ biblioteki DLL?
• Jak zaprojektowaæ wydajn¹ bazê danych?
• Jak tworzyæ aplikacje operuj¹ce na bazach danych?
Wœród wszystkich œrodowisk programistycznych umo¿liwiaj¹cych tworzenie aplikacji
Delphi jest jednym z najbardziej znanych i popularnych. To narzêdzie, obecne na rynku
od ponad dwunastu lat, cieszy siê zas³u¿onym uznaniem twórców oprogramowania
— dziêki sporym mo¿liwoœciom, ogromnej bibliotece komponentów i czytelnej sk³adni
jêzyka Object Pascal, bêd¹cego podstaw¹ tego œrodowiska. Najnowsza wersja Delphi,
oznaczona symbolem RAD Studio 2007, nie tylko umo¿liwia tworzenie „klasycznych”
aplikacji dla Windows, opartych o Windows API, ale tak¿e udostêpnia kontrolki
platformy .NET.
Ksi¹¿ka „Delphi 2007 dla WIN32 i bazy danych” to podrêcznik opisuj¹cy zasady
tworzenia aplikacji dla systemu Windows w najnowszej wersji Delphi. Przedstawia ona
techniki tworzenia aplikacji bazodanowych w oparciu o mechanizmy Windows API
i kontrolki VCL. Czytaj¹c j¹, poznasz komponenty, jakie Delphi oferuje programiœcie,
i dowiesz siê, jak korzystaæ z nich we w³asnych aplikacjach. Opanujesz mechanizmy
komunikacji z niemal wszystkimi systemami zarz¹dzania bazami danych dostêpnymi
na rynku. Przeczytasz tak¿e o tworzeniu wersji instalacyjnych napisanych przez siebie
aplikacji.
• Interfejs u¿ytkownika Delphi 2007
• Komponenty dostêpne w Delphi
• Przetwarzanie grafiki
• Korzystanie z komponentów VCL
• Aplikacje wielow¹tkowe
• Tworzenie bibliotek DLL
• Operacje na plikach
• Obs³uga dokumentów XML
• Projektowanie bazy danych i struktury tabel
• Komunikacja z bazami danych
• Mechanizmy blokowania rekordów
• Tworzenie wersji instalacyjnych aplikacji
Wykorzystaj mo¿liwoœci najnowszej wersji œrodowiska programistycznego,
które zrewolucjonizowa³o proces tworzenia aplikacji!
Spis treści
Podziękowania ................................................................................. 9
Wstęp ........................................................................................... 11
Rozdział 1.
Środowisko
Delphi — szybki start .................................................. 15
Wstęp .............................................................................................................................. 15
Pierwszy projekt ............................................................................................................. 15
Kompilujemy program ............................................................................................. 22
Najważniejsze ustawienia aplikacji ................................................................................ 22
Sprawdzamy i wyłapujemy błędy ................................................................................... 24
Ustawiamy
środowisko
pracy ......................................................................................... 27
Popularne skróty klawiszowe ......................................................................................... 29
Podsumowanie ................................................................................................................ 30
Rozdział 2. Wybrane komponenty
środowiska
................................................... 31
Wstęp .............................................................................................................................. 31
Uwaga na temat stosowanego nazewnictwa ................................................................... 31
Ogólne wskazówki dotyczące korzystania z komponentów ........................................... 32
Zakładka Standard .......................................................................................................... 35
MainMenu ................................................................................................................ 36
Label ........................................................................................................................ 37
Edit ........................................................................................................................... 37
Memo ....................................................................................................................... 41
Button ....................................................................................................................... 43
CheckBox i GroupBox ............................................................................................. 44
RadioGroup i RadioButton ....................................................................................... 45
ListBox ..................................................................................................................... 46
ComboBox ............................................................................................................... 48
ActionList ................................................................................................................. 49
Zakładka Additional ....................................................................................................... 51
BitBtn ....................................................................................................................... 51
SpeedButton ............................................................................................................. 53
MaskEdit .................................................................................................................. 54
StringGrid ................................................................................................................. 54
DrawGrid ................................................................................................................. 79
Image ........................................................................................................................ 80
Shape ........................................................................................................................ 80
Bevel ........................................................................................................................ 81
ScrollBox ................................................................................................................. 81
4
Delphi 2007 dla WIN32 i bazy danych
CheckListBox ........................................................................................................... 84
Splitter ...................................................................................................................... 85
StaticText ................................................................................................................. 85
ControlBar ................................................................................................................ 85
ApplicationEvents .................................................................................................... 86
ValueListEditor ........................................................................................................ 86
LabeledEdit .............................................................................................................. 87
ColorBox .................................................................................................................. 87
Chart ......................................................................................................................... 87
TFlowPanel, TGridPanel .......................................................................................... 89
Zakładka Win32 ............................................................................................................. 89
TabControl i PageControl ........................................................................................ 89
ImageList ................................................................................................................. 89
RichEdit ................................................................................................................... 90
TrackBar i ProgressBar ............................................................................................ 92
UpDown ................................................................................................................... 92
HotKey ..................................................................................................................... 93
Animate .................................................................................................................... 94
DateTimePicker i MonthCalendar ............................................................................ 95
TreeView .................................................................................................................. 95
ListView ................................................................................................................... 97
StatusBar .................................................................................................................. 98
ToolBar .................................................................................................................... 99
Zakładka System .......................................................................................................... 100
Timer ...................................................................................................................... 100
PaintBox ................................................................................................................. 100
Zakładka Dialogs .................................................................................................... 102
Zakładka Win 3.1 ......................................................................................................... 103
Podsumowanie .............................................................................................................. 104
Rozdział 3. Niewizualne
środki
programowania ............................................... 105
Plik ini .......................................................................................................................... 105
Lista stringów — TStringList ....................................................................................... 112
Lista obiektów TList ..................................................................................................... 117
Lista obiektów — klasa TObjectList ............................................................................ 120
Schowek Windows ....................................................................................................... 125
Rejestr Windows .......................................................................................................... 134
Podsumowanie .............................................................................................................. 137
Rozdział 4. Elementy grafiki .......................................................................... 139
Podstawowe operacje na obrazach ............................................................................... 171
Save Screen .................................................................................................................. 179
Podstawy operacji graficznych w systemie Windows .................................................. 181
Drukowanie grafiki ....................................................................................................... 192
Podsumowanie .............................................................................................................. 199
Wstęp ............................................................................................................................ 201
Rozpoczynamy pracę z VCL .................................................................................. 201
Zarządzanie formularzami ...................................................................................... 205
Okno modalne ........................................................................................................ 206
Okno niemodalne ................................................................................................... 208
Ręczna kontrola
życia
formatki .............................................................................. 210
Obsługa zdarzeń formularza ................................................................................... 212
Modyfikacja możliwości istniejących komponentów ............................................. 213
Tworzenie i instalacja nowego komponentu .......................................................... 220
Rozdział 5. Wykorzystujemy bibliotekę VCL ................................................... 201
Spis treści
5
Usuwanie komponentu ........................................................................................... 222
Instalowanie kilku komponentów ........................................................................... 223
Obsługa wyjątków ........................................................................................................ 224
Podsumowanie .............................................................................................................. 235
Rozdział 6. Wielowątkowość ......................................................................... 237
Wstęp ............................................................................................................................ 237
Klasa TThread .............................................................................................................. 240
Funkcje oczekujące ...................................................................................................... 246
Semafor ........................................................................................................................ 247
Sekcja krytyczna ........................................................................................................... 252
Priorytet wątku ............................................................................................................. 253
Mutex ........................................................................................................................... 254
Podsumowanie .............................................................................................................. 256
Rozdział 7. Biblioteki DLL .............................................................................. 257
Wstęp ............................................................................................................................ 257
Budujemy pierwszą bibliotekę DLL ....................................................................... 258
Wykorzystanie kodu biblioteki DLL ............................................................................ 261
Ładowanie
statyczne .............................................................................................. 261
Ładowanie
dynamiczne .......................................................................................... 263
Formularz w bibliotece DLL .................................................................................. 265
Eksportowanie klas? ............................................................................................... 267
Podsumowanie .............................................................................................................. 270
Rozdział 8. Pliki tekstowe ............................................................................. 271
Wstęp ............................................................................................................................ 271
Przetwarzamy pliki tekstowe ........................................................................................ 271
Czytanie z pliku wierszami ........................................................................................... 272
Czytanie pliku znak po znaku ....................................................................................... 274
Zapis do pliku wierszami .............................................................................................. 275
Podsumowanie .............................................................................................................. 277
Rozdział 9. Strumienie plikowe ...................................................................... 279
Wstęp ............................................................................................................................ 279
Klasa TFileStream ........................................................................................................ 279
Zapis rekordu do strumienia plikowego ....................................................................... 281
Odczyt rekordu ze strumienia plikowego ..................................................................... 285
Zapis dużych porcji danych w strumieniu plikowym ................................................... 286
Korzystanie z TMemoryStream .................................................................................... 289
Podsumowanie .............................................................................................................. 291
Rozdział 10. Pliki typowane ............................................................................. 293
Wstęp ............................................................................................................................ 293
Utworzenie pliku .......................................................................................................... 295
Otwarcie pliku .............................................................................................................. 295
Zapis do pliku ............................................................................................................... 296
Odczyt z pliku .............................................................................................................. 297
Przeszukiwanie pliku .................................................................................................... 297
Zapis na końcu pliku .................................................................................................... 299
Podsumowanie .............................................................................................................. 300
Rozdział 11. XML i DOM .................................................................................. 301
Wstęp ............................................................................................................................ 301
Budowa pliku XML ...................................................................................................... 302
Analiza dokumentów XML .......................................................................................... 306
6
Delphi 2007 dla WIN32 i bazy danych
Delphi a XML .............................................................................................................. 306
XML jak plik INI .......................................................................................................... 316
Podsumowanie .............................................................................................................. 321
Rozdział 12. Planujemy bazę danych ................................................................ 323
Wstęp ............................................................................................................................ 323
Analiza problemu ......................................................................................................... 323
Model bazy danych ....................................................................................................... 324
Uwagi na temat implementacji ..................................................................................... 329
Podsumowanie .............................................................................................................. 330
Rozdział 13. FireBird — elementy języka SQL ................................................... 333
Wstęp ............................................................................................................................ 333
Instalacja programu FireBird ........................................................................................ 333
SQL Manager 2008 ...................................................................................................... 335
Rejestracja istniejącej bazy danych .............................................................................. 335
Wykonywanie poleceń SQL ......................................................................................... 337
SQL — co to jest? ........................................................................................................ 338
Baza danych ................................................................................................................. 339
Tabele ........................................................................................................................... 341
Tworzenie tabel ............................................................................................................ 344
Select ............................................................................................................................ 347
Złączenia ................................................................................................................ 351
Klucz główny (primary key) ......................................................................................... 354
Klucz obcy (foreign key) i integralność referencyjna ................................................... 355
Wartość NULL ............................................................................................................. 358
Domena ........................................................................................................................ 359
Indeksy ......................................................................................................................... 360
Widoki (perspektywy) .................................................................................................. 362
Wyzwalacze i generatory .............................................................................................. 363
Procedury ..................................................................................................................... 365
Transakcje .................................................................................................................... 366
Podsumowanie .............................................................................................................. 366
Rozdział 14. ODBC i MS Access, DBF .............................................................. 367
Tworzymy bazę danych w MS Access ......................................................................... 367
Tabele ..................................................................................................................... 367
Relacje .................................................................................................................... 370
Kwerendy ............................................................................................................... 371
Formularze ............................................................................................................. 373
ODBC i MS Access ...................................................................................................... 374
Łączymy
się z MS Access poprzez ODBC ............................................................ 375
ODBC i XBase ....................................................................................................... 377
Podsumowanie .............................................................................................................. 378
Rozdział 15. InterBase .................................................................................... 379
Wstęp ............................................................................................................................ 379
Instalacja serwera bazy danych ..................................................................................... 380
Pierwsze uruchomienie ................................................................................................. 380
Praca z InterBase .......................................................................................................... 382
IBConsole ..................................................................................................................... 383
Interactive SQL ............................................................................................................ 391
Backup .......................................................................................................................... 396
Restore .......................................................................................................................... 398
Użytkownicy i uprawnienia .......................................................................................... 400
Zgłoś jeśli naruszono regulamin