c++builder-i-turbo-c++.-podstawy scan.pdf

(14201 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
IDZ DO
PRZYK£ADOW Y ROZDZIA£
C++Builder i Turbo C++.
SPIS TREœCI
Podstawy
KATALOG KSI¥¯EK
Autor: Jacek Matulewski
ISBN: 83-246-0642-4
Format: B5, stron: 280
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Wizualne œrodowiska projektowe od d³u¿szego czasu ciesz¹ siê uznaniem
programistów. Mo¿liwoœæ budowania aplikacji z gotowych komponentów, realizuj¹cych
typowe funkcje, pozwala skoncentrowaæ siê na jej funkcjonalnoœci bez potrzeby
ponownego wymyœlania ko³a. Najbardziej znanym œrodowiskiem tego typu jest Delphi,
jednak jego producent, firma Borland, wypuœci³ na rynek kolejne narzêdzie: C++Builder.
To wizualne œrodowisko projektowe oparte na jêzyku C++ pozwala tworzyæ aplikacje dla
platformy Win32 z wykorzystaniem komponentów VCL. W sieci dostêpna jest równie¿
jego bezp³atna wersja o nazwie Turbo C++ Explorer.
„C++Builder i Turbo C++. Podstawy” to podrêcznik programowania w tych
œrodowiskach. Czytaj¹c go, nauczysz siê tworzyæ aplikacje w jêzyku C++ dla systemu
Windows z wykorzystaniem C++Buildera lub Turbo C++. Dowiesz siê, jak zainstalowaæ
i skonfigurowaæ œrodowisko programistyczne oraz jak utworzyæ w nim projekt.
Poznasz elementy jêzyka C++, zasady programowania obiektowego i korzystania
z komponentów VCL. Stworzysz w³asne komponenty i aplikacje, zaimplementujesz
mechanizm przeci¹gania i upuszczania, a tak¿e zapiszesz dane aplikacji w rejestrze
systemu Windows.
Instalacja œrodowiska programistycznego
Pierwszy projekt
Zmienne i instrukcje w C++
Programowanie zorientowane obiektowo
Wyszukiwanie i usuwanie b³êdów w kodzie
Komponenty VCL oferowane przez C++Buildera
Tworzenie interfejsu u¿ytkownika dla aplikacji
Drukowanie
Operacje na plikach
Przechowywanie informacji w rejestrze systemowym
Tworzenie w³asnych komponentów VCL
Poznaj nowoczesne narzêdzia programistyczne
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
851423872.017.png 851423872.018.png 851423872.019.png 851423872.020.png 851423872.001.png 851423872.002.png 851423872.003.png 851423872.004.png 851423872.005.png 851423872.006.png 851423872.007.png 851423872.008.png 851423872.009.png 851423872.010.png 851423872.011.png 851423872.012.png 851423872.013.png 851423872.014.png 851423872.015.png
 
Wstęp............................................................................................. 11
O czym jest ta książka? .................................................................................................... 11
Jak zdobyć C++Builder? .................................................................................................. 11
Część I Zintegrowane środowisko programistyczne
i język programowania C++............................................ 13
Rozdział 1. Poznajemy możliwości C++Buildera 2006......................................... 15
Platforma Win32............................................................................................................... 16
Pierwszy projekt ............................................................................................................... 17
Projekt VCL Forms Application — C++Builder ....................................................... 17
Jak umieścić komponent na formie? .......................................................................... 18
Co to jest inspektor obiektów? ................................................................................... 18
Jak za pomocą inspektora obiektów zmieniać własności komponentów? ................. 19
Jak dopasować położenie komponentu? .................................................................... 21
Jak umieszczać na formie wiele komponentów tego samego typu? .......................... 21
Jak zaznaczyć wiele komponentów jednocześnie? .................................................... 22
Jak zaprogramować reakcję programu na kliknięcie panelu przez użytkownika?..... 22
Jak uruchomić projektowaną aplikację? .................................................................... 24
Jak przełączać między widokiem projektowania i edytorem? ................................... 24
Jak ustalić pozycję okna po uruchomieniu aplikacji? ................................................ 25
Jak zmieniać własności obiektów programowo? ....................................................... 25
Jak zapisać projekt na dysku? .................................................................................... 27
Pliki projektu .............................................................................................................. 28
Filozofia RAD ............................................................................................................ 28
Ustawienia projektu .......................................................................................................... 29
Jak zmienić tytuł i ikonę aplikacji? ............................................................................ 29
Informacje o wersji aplikacji dołączane do skompilowanego pliku .exe................... 30
Dystrybucja programów ................................................................................................... 31
Konfiguracja środowiska C++Builder 2006..................................................................... 33
Okno postępu kompilacji ........................................................................................... 33
Automatyczne zapisywanie plików projektu ............................................................. 34
Edytor kodu ...................................................................................................................... 34
Opcje edytora ............................................................................................................. 35
851423872.016.png
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
Zgłoś jeśli naruszono regulamin