Xavier Pacheco, Steve Teixeira delphi 6. vademecum profesjonalisty. tom i pełna wersja.pdf

(10007 KB) Pobierz
&GNRJK 8CFGOGEWO RTQHGULQPCNKUV[ 6QO +
8. Znaczniki To Do…......................................................................................................45
9. Mened er projektów ....................................................................................................45
10. Code Insight...............................................................................................................45
Podsumowanie .......................................................................................................................46
4Q\F\KCo
,ú\[M 1DLGEV 2CUECN
Komentarze ............................................................................................................................47
Nowości w zakresie procedur i funkcji..................................................................................48
Puste nagłówki wywołań .................................................................................................48
Przecią anie .....................................................................................................................49
Domyślne parametry........................................................................................................50
Zmienne .................................................................................................................................51
Stałe .......................................................................................................................................52
Operatory ...............................................................................................................................55
Operator przypisania........................................................................................................55
Operatory porównania .....................................................................................................55
Operatory logiczne ..........................................................................................................55
Operatory arytmetyczne ..................................................................................................56
Operatory bitowe .............................................................................................................57
Operatory zwiększania i zmniejszania ............................................................................57
Operatory „wykonaj i przypisz” ......................................................................................58
Typy języka Object Pascal.....................................................................................................58
Porównanie typów ...........................................................................................................59
Znaki................................................................................................................................59
Mnogość łańcuchów… ....................................................................................................59
Typy wariantowe .............................................................................................................74
Typ Currency...................................................................................................................88
Typy definiowane przez u ytkownika ...................................................................................89
Tablice .............................................................................................................................89
Rekordy ...........................................................................................................................93
Zbiory ..............................................................................................................................94
Obiekty ............................................................................................................................97
Wskaźniki ........................................................................................................................98
Aliasy typów..................................................................................................................101
Rzutowanie i konwersja typów............................................................................................102
Zasoby łańcuchowe..............................................................................................................104
Instrukcje warunkowe..........................................................................................................104
Instrukcja If....................................................................................................................105
Instrukcja wyboru ..........................................................................................................106
Pętle .....................................................................................................................................106
Pętla For.........................................................................................................................106
Pętla While...Do.............................................................................................................107
Pętla Repeat...Until........................................................................................................108
Procedura Break()..........................................................................................................108
Procedura Continue ()....................................................................................................109
Procedury i funkcje ..............................................................................................................110
Przekazywanie parametrów do procedur i funkcji ........................................................111
Zasięg deklaracji ..................................................................................................................118
Moduły.................................................................................................................................118
Dyrektywa uses..............................................................................................................119
Cykliczna zale ność między modułami ........................................................................120
Pakiety .................................................................................................................................122
Wykorzystywanie pakietów ..........................................................................................123
Składnia pakietu ............................................................................................................123
5RKU VTGEK
Programowanie zorientowane obiektowo............................................................................123
Środowisko bazujące na obiektach kontra środowisko zorientowane obiektowo.........125
Wykorzystanie obiektów w Delphi......................................................................................126
Deklarowanie obiektów i kreowanie zmiennych obiektowych.....................................126
Destrukcja obiektu.........................................................................................................127
Metody...........................................................................................................................127
Właściwości...................................................................................................................131
Widoczność elementów obiektu....................................................................................133
Wewnątrz obiektów.......................................................................................................134
TObject — protoplasta wszystkich klas ........................................................................135
Interfejsy........................................................................................................................136
Strukturalna obsługa wyjątków ...........................................................................................141
Wyjątki jako klasy .........................................................................................................144
Wyjątki a przepływ sterowania w programie ................................................................145
Ponowienie wyjątku ......................................................................................................147
RTTI.....................................................................................................................................148
Podsumowanie .....................................................................................................................149
4Q\F\KCo
1DUoWIC MQOWPKMCVÎY 9KPFQYU
Natura komunikatów............................................................................................................151
Typy komunikatów ..............................................................................................................152
Jak funkcjonuje system komunikatów Windows?...............................................................152
Obsługa komunikatów w kategoriach Delphi......................................................................154
Struktury specyficzne dla ró nych typów komunikatów ..............................................155
Przetwarzanie komunikatów................................................................................................155
Kontraktowy charakter obsługi komunikatów ..............................................................157
Zwrotne przekazywanie wyniku obsługi komunikatu...................................................158
Zdarzenie OnMessage klasy TApplication....................................................................159
Wysyłanie własnych komunikatów .....................................................................................159
Metoda Perform() ..........................................................................................................160
Funkcje SendMessage() i PostMessage() ......................................................................160
Komunikaty niestandardowe ...............................................................................................160
Komunikaty powiadamiające ........................................................................................161
Wewnętrzne komunikaty VCL......................................................................................161
Komunikaty definiowane przez u ytkownika ...............................................................163
Anatomia systemu komunikatów VCL................................................................................165
Związek komunikatów ze zdarzeniami Delphi....................................................................174
Podsumowanie .....................................................................................................................174
%\úè ++
4Q\F\KCo
<CCYCPUQYCPG \CICFPKGPKC RTQLGMVQYG
6YQT\GPKG RT\GPQPGIQ MQFW
Zało enia ogólne..................................................................................................................179
Która wersja?.................................................................................................................179
Moduły, komponenty i pakiety......................................................................................181
Zmiany w środowisku IDE............................................................................................181
Zgodność pomiędzy Delphi i Kyliksem ..............................................................................182
Nie w Linuksie...............................................................................................................183
Ró nice między kompilatorami.....................................................................................183
Indywidualne cechy platformy systemowej ..................................................................184
Nowości Delphi 6 ................................................................................................................184
Definiowalne typy wariantowe......................................................................................185
Jawne wartościowanie elementów typu wyliczeniowego .............................................185
Dyrektywa $IF...............................................................................................................185
Mo liwa niezgodność plików *.DFM ...........................................................................185
&GNRJK 8CFGOGEWO RTQHGULQPCNKUV[ 6QO +
Migracja z Delphi 5 .............................................................................................................185
Zmiana wartości stałych typowanych............................................................................185
Negacja wartości typu Cardinal.....................................................................................186
Migracja z Delphi 4 .............................................................................................................186
Zmiany w zakresie biblioteki RTL................................................................................186
Zmiany w bibliotece RTL..............................................................................................187
Zmiany w zakresie obsługi Internetu.............................................................................188
Zmiany w obsłudze baz danych.....................................................................................188
Migracja z Delphi 3 .............................................................................................................189
32-bitowe liczby całkowite bez znaku...........................................................................189
64-bitowe liczby całkowite............................................................................................190
Typ Real ........................................................................................................................190
Migracja z Delphi 2 .............................................................................................................190
Zmiany w zakresie typów boolowskich ........................................................................191
Dyrektywa resourcestring..............................................................................................191
Zmiany w bibliotece RTL..............................................................................................192
Klasa TCustomForm......................................................................................................192
Metoda GetChildren()....................................................................................................192
Serwery automatyzacji ..................................................................................................193
Migracja z Delphi 1 .............................................................................................................193
Znaki i łańcuchy ............................................................................................................193
Rozmiar i zakres zmiennych..........................................................................................201
Wyrównywanie pól rekordów .......................................................................................201
32-bitowa arytmetyka ....................................................................................................202
Ró nice dotyczące typu TDateTime..............................................................................203
Sekcja finalization .........................................................................................................203
Język asemblera.............................................................................................................204
Biblioteki DLL ..............................................................................................................205
Zmiany związane z systemem operacyjnym .................................................................206
Podsumowanie .....................................................................................................................210
4Q\F\KCo
#RNKMCELG YKGNQYæVMQYG
Natura wątków .....................................................................................................................211
Rodzaje wielozadaniowości ..........................................................................................211
Do czego mo e się przydać wielowątkowość?..............................................................212
Wielowątkowość a komponenty VCL...........................................................................212
Błędne wykorzystanie wielowątkowości.......................................................................213
Klasa TThread......................................................................................................................213
Obiekty wątków a zmienne ...........................................................................................216
Kończenie wątku ...........................................................................................................216
Synchroniczne wykorzystywanie komponentów VCL .................................................218
Przykładowa aplikacja wielowątkowa...........................................................................221
Priorytety i szeregowanie wątków.................................................................................222
Zawieszanie i wznawianie wątków ...............................................................................225
Pomiar czasu w ramach wątku ......................................................................................225
Współdziałanie wątków aplikacji ........................................................................................228
Pamięć lokalna wątku....................................................................................................228
Synchronizacja wątków.................................................................................................232
Przykład zastosowania wielowątkowości: zaawansowane wyszukiwanie tekstu ...............244
Interfejs u ytkownika ....................................................................................................245
Proces przeszukiwania...................................................................................................251
Zmiana priorytetu wątku przeszukującego....................................................................256
Wielowątkowy dostęp do BDE............................................................................................257
5RKU VTGEK
Wielowątkowe operacje graficzne.......................................................................................263
Włókna.................................................................................................................................267
Podsumowanie .....................................................................................................................273
4Q\F\KCo
$KDNKQVGMK &..
Czym w istocie jest biblioteka DLL ....................................................................................275
Bazowy adres ładowania modułu ..................................................................................276
Nieco terminologii….....................................................................................................277
Łączenie statyczne kontra łączenie dynamiczne..................................................................278
Korzyści płynące z u ywania DLL......................................................................................279
Współdzielenie kodu, zasobów i danych przez wiele aplikacji.....................................279
Ukrycie szczegółów implementacyjnych ......................................................................280
Tworzenie i wykorzystywanie bibliotek DLL .....................................................................281
Prosty przykład — poznaj siłę swych pieniędzy ...........................................................281
Formularze modalne w bibliotekach DLL.....................................................................283
Formularze niemodalne w bibliotekach DLL................................................................285
Wykorzystywanie bibliotek DLL w aplikacjach Delphi .....................................................287
Automatyczne ładowanie biblioteki DLL .....................................................................287
Ładowanie biblioteki DLL na ądanie ..........................................................................289
Procedura inicjująco-kończąca biblioteki DLL ...................................................................291
Definiowanie procedury inicjująco-kończącej ..............................................................291
Obsługa wyjątków w bibliotekach DLL ..............................................................................296
Wyjątki a klauzula Safecall ...........................................................................................297
Funkcje zwrotne...................................................................................................................297
Działanie funkcji zwrotnej.............................................................................................300
Specyficzne wyświetlanie elementów listy ...................................................................301
Wywoływanie funkcji zwrotnych z bibliotek DLL .......................................................301
Współdzielenie danych biblioteki DLL przez ró ne procesy ..............................................303
Tworzenie bibliotek DLL z pamięcią dzieloną .............................................................304
Dzielenie globalnych danych biblioteki przez aplikacje ...............................................307
Eksportowanie obiektów z bibliotek DLL...........................................................................310
Podsumowanie .....................................................................................................................314
%\úè +++
4Q\F\KCo
2TQITCOQYCPKG QDUoWIK DC\ FCP[EJ
$C\QFCPQYC CTEJKVGMVWTC &GNRJK
Typy baz danych ..................................................................................................................317
Architektura bazy danych ....................................................................................................318
Połączenia z serwerami baz danych.....................................................................................318
Zbiory danych ......................................................................................................................319
Otwieranie i zamykanie zbioru danych .........................................................................320
Nawigowanie wśród rekordów zbioru danych ..............................................................323
Manipulowanie zawartością zbioru danych ..................................................................326
Pola rekordu bazy danych....................................................................................................331
Wartości pól...................................................................................................................331
Typy pól.........................................................................................................................332
Nazwy i numery pól ......................................................................................................332
Operowanie zawartością pól..........................................................................................333
Edytor pól ......................................................................................................................334
Pola typu BLOB ............................................................................................................340
Filtrowanie danych...............................................................................................................345
Przeszukiwanie zbiorów danych..........................................................................................346
FindFirst() i FindNext() .................................................................................................347
Lokalizowanie rekordu za pomocą metody Locate() ....................................................347
Przeszukiwanie tabeli za pomocą indeksów..................................................................348
Zgłoś jeśli naruszono regulamin