ebook(4), ebooki
[ Pobierz całość w formacie PDF ]
4
C++Builder i Turbo C++. Podstawy
Rozdział 2. Analiza kodu pierwszej aplikacji, czyli wprowadzenie do C++ ............ 37
Jak wczytać wcześniej zapisany projekt?................................................................... 37
Plik modułu formy Unit1.cpp ........................................................................................... 38
Komentarze ................................................................................................................ 39
Zmienne globalne ....................................................................................................... 40
Dyrektywy prekompilatora ........................................................................................ 40
Plik nagłówkowy modułu Unit1.h.................................................................................... 40
Klasa TForm1............................................................................................................. 41
Czym jest moduł?....................................................................................................... 42
Plik Unit1.dfm ..................................................................................................................42
Plik Kolory.cpp.................................................................................................................43
Rozdział 3. Typy zmiennych i instrukcje sterujące,
czyli o tym, co każdy programista umieć musi................................ 45
Podstawy........................................................................................................................... 45
Równanie kwadratowe ............................................................................................... 46
Przygotowanie interfejsu............................................................................................ 47
Deklarowanie zmiennych ........................................................................................... 48
Inicjacja i przypisanie wartości zmiennej .................................................................. 49
Dygresja na temat typów rzeczywistych w C++Builderze ........................................ 49
Konwersja łańcucha na liczbę .................................................................................... 50
Obliczenia arytmetyczne i ich kolejność.................................................................... 51
Operatory upraszające zapis operacji arytmetycznych wykonywanych na zmiennej ...... 52
Typ logiczny i operatory logiczne.............................................................................. 53
Instrukcja warunkowa if............................................................................................. 53
Jak wyłączyć podpowiadanie szablonów instrukcji w edytorze? .............................. 55
O błędach w kodzie i części else instrukcji warunkowej ........................................... 55
Słowo kluczowe return............................................................................................... 57
Na tym nie koniec............................................................................................................. 58
Typy całkowite C++................................................................................................... 58
Instrukcja wielokrotnego wyboru switch ................................................................... 60
Funkcja ShowMessage ............................................................................................... 61
Obsługa wyjątków ............................................................................................................ 62
Czym są i do czego służą wyjątki?............................................................................. 63
Przechwytywanie wyjątków....................................................................................... 63
Zgłaszanie wyjątków.................................................................................................. 65
Pętle .................................................................................................................................. 66
Pętla for ...................................................................................................................... 66
Pętla for w praktyce, czyli tajemnica pitagorejczyków ................................................ 67
Dzielenie liczb naturalnych ........................................................................................ 69
Pętla do..while ............................................................................................................ 70
Pętla while .................................................................................................................. 71
Instrukcje break i continue ......................................................................................... 72
Podsumowanie.................................................................................................................. 73
Typy złożone ....................................................................................................................73
Tablice statyczne ........................................................................................................ 74
Tablice dwuwymiarowe ............................................................................................. 75
Definiowanie aliasów do typów ................................................................................. 76
Tablice dynamiczne.................................................................................................... 77
Typy wyliczeniowe .................................................................................................... 77
Zbiory ......................................................................................................................... 78
Struktury..................................................................................................................... 81
Jak sprawdzić zawartość tablicy rekordów? .............................................................. 83
Kilka słów o konwersji i rzutowaniu typów ..................................................................... 84
Spis treści
5
Łańcuchy .......................................................................................................................... 85
Dyrektywy preprocesora................................................................................................... 87
Dyrektywa #include ................................................................................................... 87
Dyrektywy kompilacji warunkowej ........................................................................... 85
Stałe preprocesora ...................................................................................................... 88
Makra ......................................................................................................................... 88
Zadania ............................................................................................................................. 89
Zdegenerowane równanie kwadratowe ...................................................................... 89
Silnia........................................................................................................................... 89
Pętle ............................................................................................................................ 89
Ikony formy................................................................................................................ 89
Typ wyliczeniowy i zbiór........................................................................................... 90
Struktury..................................................................................................................... 90
Rozdział 4. Wskaźniki i referencje ..................................................................... 91
Wskaźniki do zmiennych i obiektów. Stos i sterta ........................................................... 91
Operatory dostępu............................................................................................................. 93
Zagrożenia związane z wykorzystaniem wskaźników ..................................................... 94
Referencje ......................................................................................................................... 96
Rozdział 5. Programowanie modularne............................................................... 99
Funkcja niezwracająca wartości............................................................................... 100
Definiowanie funkcji................................................................................................ 100
Interfejs modułu ....................................................................................................... 102
Plik nagłówkowy modułu......................................................................................... 103
Argumenty funkcji ................................................................................................... 104
Większa ilość argumentów....................................................................................... 104
Wartości domyślne argumentów .............................................................................. 105
Referencje jako argumenty funkcji .......................................................................... 105
Wskaźniki jako argumenty funkcji .......................................................................... 106
Wartość zwracana przez funkcję.............................................................................. 106
Wskaźniki do funkcji ............................................................................................... 107
Rozdział 6. Programowanie zorientowane obiektowo ........................................ 109
Pojęcia obiekt i klasa ...................................................................................................... 109
Klasa......................................................................................................................... 110
Wskaźniki do komponentów jako pola klasy........................................................... 111
Tworzenie obiektów ................................................................................................. 111
Jeden obiekt może mieć wiele wskaźników............................................................. 113
Interfejs i implementacja klasy....................................................................................... 113
Definicja klasy.......................................................................................................... 113
Projektowanie klasy — ustalanie zakresu dostępności pól i metod......................... 114
Pola........................................................................................................................... 116
Konstruktor klasy — inicjowanie stanu obiektu ...................................................... 116
Wskaźnik this ........................................................................................................... 117
„Bardziej” poprawna inicjacja pól obiektu w konstruktorze ................................... 117
Tworzenie obiektu.................................................................................................... 118
Usuwanie obiektów z pamięci.................................................................................. 119
Metoda prywatna...................................................................................................... 120
Metoda typu const .................................................................................................... 120
Zbiór metod publicznych udostępniających wyniki................................................. 121
Testowanie klasy ...................................................................................................... 122
Metody statyczne...................................................................................................... 122
6
C++Builder i Turbo C++. Podstawy
Rozdział 7. Podstawy debugowania kodu ......................................................... 125
Ukryty błąd............................................................................................................... 125
Aktywowanie debugowania ..................................................................................... 126
Kontrolowane uruchamianie i śledzenie działania aplikacji .................................... 126
Breakpoint ................................................................................................................ 128
Obserwacja wartości zmiennych .............................................................................. 129
Obsługa wyjątków przez środowisko BDS .............................................................. 129
Wyłączanie debugowania......................................................................................... 131
Część II Biblioteka komponentów VCL ...................................... 133
Rozdział 8. Podstawowe komponenty VCL ....................................................... 135
Komponent TShape — powtórzenie wiadomości .......................................................... 135
Jak umieszczać komponenty na formie? .................................................................. 135
Jak modyfikować złożone własności komponentów za pomocą inspektora
obiektów?............................................................................................................... 136
Jak reagować na zdarzenia? ..................................................................................... 137
Komponent TImage. Okna dialogowe............................................................................ 138
Automatyczne adaptowanie rozmiarów komponentów do rozmiaru formy ............ 138
Jak wczytać obraz w trakcie projektowania aplikacji?............................................... 138
Konfigurowanie komponentu TOpenDialog............................................................ 138
Jak za pomocą okna dialogowego wczytać obraz podczas działania programu? .... 140
Jak odczytać plik w formacie JPEG? ....................................................................... 141
Kontrola programu za pomocą klawiatury............................................................... 141
Wczytywanie dokumentu z pliku wskazanego jako parametr linii komend ............ 142
Jak uruchomić projektowaną aplikację w środowisku BDS
z parametrem linii komend? .................................................................................. 143
Komponent TMediaPlayer ............................................................................................. 144
Odtwarzacz plików wideo ........................................................................................ 144
Panel jako ekran odtwarzacza wideo ....................................................................... 145
Wybór filmu za pomocą okna dialogowego w trakcie działania programu............. 146
Odtwarzacz CDAudio .............................................................................................. 147
Komponenty sterujące .................................................................................................... 147
Suwak TScrollBar i pasek postępu TProgressBar.................................................... 147
Pole opcji TCheckBox ............................................................................................. 148
Pole wyboru TRadioButton...................................................................................... 149
Niezależna grupa pól wyboru................................................................................... 150
TTimer ............................................................................................................................ 151
Czynności wykonywane cyklicznie ......................................................................... 151
Czynność wykonywana z opóźnieniem ................................................................... 152
Aplikacja z wieloma formami ........................................................................................ 153
Dodawanie form do projektu.................................................................................... 153
Dostęp do nowej formy z formy głównej................................................................. 153
Show versus ShowModal ......................................................................................... 155
Zmiana własności Visible formy w trakcie projektowania ...................................... 156
Dostęp do komponentów formy z innej formy ........................................................ 156
Właściciel i rodzic .......................................................................................................... 157
Własności Owner i Parent komponentów ................................................................ 157
Zmiana rodzica w trakcie działania programu ......................................................... 158
Co właściwie oznacza zamknięcie dodatkowej formy? ............................................. 159
Tworzenie kontrolek VCL w trakcie działania programu ............................................. 160
Zadania ........................................................................................................................... 161
Komponent TSaveDialog ......................................................................................... 161
Komponenty TMemo, TRichEdit ............................................................................ 161
Komponent TRadioGroup........................................................................................ 161
Spis treści
7
Rozdział 9. Więcej komponentów VCL… .......................................................... 163
Menu aplikacji ................................................................................................................ 163
Menu główne aplikacji i edytor menu...................................................................... 164
Rozbudowywanie struktury menu............................................................................ 166
Tworzenie nowych metod związanych z pozycjami menu ...................................... 166
Wiązanie pozycji menu z istniejącymi metodami.................................................... 167
Wstawianie pozycji do menu. Separatory ................................................................ 167
Usuwanie pozycji z menu ........................................................................................ 168
Klawisze skrótu ........................................................................................................ 168
Ikony w menu........................................................................................................... 169
Pasek stanu ..................................................................................................................... 170
Sztuczki z oknami........................................................................................................... 172
Jak uzyskać dowolny kształt formy?........................................................................ 172
Jak poradzić sobie z niepoprawnym skalowaniem formy w systemach z różną
wielkością czcionki? .............................................................................................. 173
Jak ograniczyć rozmiary formy? .............................................................................. 174
Jak przygotować wizytówkę programu (splash screen)? ......................................... 174
Zadania ........................................................................................................................... 177
Menu kontekstowe ................................................................................................... 177
Pasek narzędzi .......................................................................................................... 177
Rozdział 10. Prosta grafika............................................................................... 179
Klasa TCanvas.......................................................................................................... 179
Odświeżanie formy. Zdarzenie OnPaint formy........................................................ 179
Linie................................................................................................................................ 180
Metoda mieszająca kolory........................................................................................ 180
Rysowanie linii......................................................................................................... 182
ClientHeight i Height, czyli obszar użytkownika formy ............................................ 183
Okno dialogowe wyboru koloru TColorDialog ....................................................... 184
Punkty ............................................................................................................................. 186
Wykorzystanie tablicy TCanvas::Pixels................................................................... 186
Negatyw ................................................................................................................... 186
Jak umożliwić edycję obrazów z plików JPEG?...................................................... 188
Kilka słów o operacjach na bitach............................................................................ 190
Własność TBitmap::ScanLine.................................................................................. 191
Inne możliwości płótna................................................................................................... 192
Tekst na płótnie ........................................................................................................ 192
Obraz na płótnie ....................................................................................................... 194
Zadanie ........................................................................................................................... 196
Rozdział 11. Operacje na plikach i drukowanie z poziomu VCL i VCL.NET ............ 197
Automatyczne dopasowywanie rozmiaru komponentów............................................... 198
Własność Align, czyli o tym, jak przygotować interfejs aplikacji, który
będzie automatycznie dostosowywał się do zmian rozmiarów formy .................. 198
Komponent TSplitter................................................................................................ 199
Komponenty VCL pomagające w obsłudze plików ....................................................... 199
Jak połączyć komponenty TDriveComboBox, TDirectoryListBox
i TFileListBox tak, żeby stworzyć prostą przeglądarkę plików?........................... 199
Jak filtrować zawartość komponentu TFileListBox?............................................... 200
Prezentowanie na komponencie TLabel nazwy katalogu wybranego za pomocą
TDirectoryListBox................................................................................................. 200
Prezentowanie na komponencie TLabel pliku wybranego za pomocą
TFileListBox.......................................................................................................... 201
Jak z łańcucha wyodrębnić nazwę pliku, jej rozszerzenie lub ścieżkę dostępu?......... 202
[ Pobierz całość w formacie PDF ]