C++ Builder 5.pdf

(9749 KB) Pobierz
109916365 UNPDF
Wprowadzenie do
C++Buildera
Rozdziaþ ten stanowi wprowadzenie do C++Buildera, jednego z najczħĻciej uŇywanych narzħdzi
do tworzenia aplikacji internetowych, bazodanowych typu i klient-serwer, programowania
rozproszonego itp. C++Builder þĢczy w sobie charakterystyczne cechy Ļrodowiska typu RAD
(ang. Î bþyskawiczne tworzenie aplikacji) z funkcjonalnoĻciĢ
ANSI C++. Jest narzħdziem na wskroĻ uniwersalnym, przydatnym zarwno dla amatorw
programowania, jak i profesjonalnych zespoþw projektowych.
Podstawowe informacje na temat zalet C++Buildera i korzyĻci wynikajĢcych z jego
zastosowania znajdziesz na stronie http://www.borland.com/bcppbuilder/ w
punktach áFeatures & BenefitsÑ i áNew C++Builder UsersÑ.
Zaawansowani programiĻci mogĢ rozdziaþ ten pominĢę; pozostali znajdĢ w nim informacje o
podstawowych elementach C++Buildera, a takŇe porwnanie jego istotnych cech z innymi
Ļrodowiskami projektowymi i wskazwki dotyczĢce przenoszenia na jego grunt aplikacji z tychŇe
Ļrodowisk.
Zainteresowani Czytelnicy znajdĢ tu rwnieŇ wprowadzenie do Kyliksa Î jednego z
najciekawszych produktw ostatnich lat, bħdĢcego w istocie adaptacjĢ Delphi i C++Buildera na
gruncie Linuksa. Kylix pozwala tworzyę zaawansowane aplikacje w Ļrodowisku tego
zdobywajĢcego coraz wiħkszĢ popularnoĻę systemu z rwnĢ þatwoĻciĢ, jak w Ļrodowisku
Windows. WiħkszoĻę zagadnieı dotyczĢcych C++Buildera, omawianych w tej ksiĢŇce, odnosi siħ
takŇe do Kyliksa.
Podstawowe elementy C++Buildera
W podrozdziale tym przedstawimy podstawowe elementy C++Buildera i zilustrujemy ich
zastosowanie na przykþadzie prostej aplikacji.
JeŇeli juŇ zainstalowaþeĻ C++Buildera na swoim komputerze i chciaþbyĻ szybko wykonaę za jego
pomocĢ coĻ poŇytecznego Î nie ma na co czekaę; juŇ za chwilħ stanĢ siħ dla Ciebie jasne takie
pojħcia, jak: projekt, komponenty VCL, inspektor obiektw i ich rola w Ļrodowisku IDE.
Pierwotnie programiĻci posþugiwali siħ narzħdziami dla DOS-a, uruchamianymi z wiersza poleceı.
Kiedy MS Windows zdominowaþy rynek systemw operacyjnych, w naturalny sposb rwnieŇ i
rynek kompilatorw zwrciþ siħ w stronħ tego Ļrodowiska; jednym z najbardziej znanych
kompilatorw C dla Windows byþ kompilator C++ w wersji 3.1. Nie uproĻciþo to bynajmniej
samego procesu programowania, a wrħcz przeciwnie: na programiĻcie spoczywaþa
odpowiedzialnoĻę za caþoksztaþt komunikacji z systemem operacyjnym Î obsþuga komunikatw,
utrzymywanie odpowiedniego wyglĢdu okienek itp. Nawet prosty program powodujĢcy tylko
wyĻwietlanie pustego okienka miaþ rozmiar kilkustronicowy.
Sytuacja zmieniþa siħ nieco (na korzyĻę programistw) po opracowaniu przez Borland narzħdzia o
nazwie ObjectWindows Library (OWL). OWL, zgodne ze standardami kompilatora wersji 3.1,
przejmowaþo na siebie wiħkszoĻę nuŇĢcych szczegþw systemowych, pozwalajĢc programiĻcie
skupię siħ na istocie rozwiĢzywanego problemu. Zostaþo ono rozbudowane wraz z
wprowadzeniem na rynek nowego kompilatora C++ w wersji 5.0.
Prawdziwym przeþomem okazaþo siħ pojawienie Delphi, narzħdzia z kategorii RAD, bħdĢcego
czymĻ na ksztaþt áwizualnego PascalaÑ Î jeŇeli trzymaę siħ analogii do Visual Basica czy teŇ
Visual C. Niedþugo pŅniej Borland opracowaþ analogiczne narzħdzie oparte na C++, nadajĢc mu
nazwħ C++Builder. Korzysta ono z tych samych bibliotek co Delphi, ponadto posiada niemal
identyczny interfejs uŇytkownika. 1 W porwnaniu z innym popularnym kompilatorem Î Visual
C++ Î charakteryzuje siħ wiħkszĢ þatwoĻciĢ tworzenia aplikacji i wiħkszĢ przenoĻnoĻciĢ tych
ostatnich pomiħdzy rŇnymi platformami.
NiewĢtpliwie dobre opanowanie jħzyka programowania (rwnieŇ C++) wymaga kilku lat praktyki.
Narzħdzia kategorii RAD Î np. C++Builder Î mogĢ jednakŇe uczynię tħ naukħ bardziej efektywnĢ,
ponadto umoŇliwiajĢ tworzenie nietrywialnych aplikacji juŇ na wczesnym etapie tej drogi, a to za
sprawĢ obiektowych komponentw VCL, skrywajĢcych w sobie wiele skomplikowanych
moŇliwoĻci i uwalniajĢcych uŇytkownika od Ňmudnego programowania.
PrzystĢpmy wiħc do konkretw; pominiemy przy tym wiele szczegþw dotyczĢcych instalacji i
obsþugi C++Buildera, ktre znaleŅę moŇna w dokumentacji, a ktrych wyczerpujĢcy opis
wymagaþby odrħbnej ksiĢŇki. Skoncentrujemy siħ za to na metodologii tworzenia konkretnej
aplikacji.
Po prawidþowym zainstalowaniu C++Buildera i jego uruchomieniu ukaŇe siħ zintegrowane
Ļrodowisko projektowe (IDE Î ) przedstawione na rysunku
1.1. Skþada siħ ono z trzech zasadniczych okien, za poĻrednictwem ktrych moŇliwe jest
1 OczywiĻcie w ramach odpowiadajĢcych sobie wersji C++ i Delphi; porwnanie drogi rozwojowej Delphi i
C++Buildera (okreĻlane niekiedy mianem áŇabiego skokuÑ) znajduje siħ w rozdziale 21. ksiĢŇki
(Helion, Gliwice 1999) Î przyp. tþum.
manipulowanie kontrolkami i komponentami, ustawianie ich wþaĻciwoĻci oraz wpisywanie kodu
programu.
Pasek
narzħdziowy
Menu gþwne
Paleta
komponentw
Inspektor
obiektw
Formularz
z
Edytor kodu
Biblioteka komponentw (ang. VCL Î ) stanowi magazyn
komponentw wykorzystywanych do tworzenia aplikacji. Poszczeglne komponenty biblioteki
odpowiadajĢ poszczeglnym komponentom gotowego programu Î menu, przyciskom, listom
109916365.001.png
wyboru, obrazkom itp. Komponenty te skrywajĢ w sobie znacznĢ czħĻę kodu, przez co
programista zwolniony jest w duŇej czħĻci z kodowania podstawowych funkcji programu.
Poszczeglne aspekty zachowania siħ komponentw mogĢ byę regulowane za pomocĢ ich
wþaĻciwo Ļci (ang. ) dostħpnych za poĻrednictwem inspektora obiektw (patrz rys.
1.1), bĢdŅ bezpoĻrednio w kodzie programu. Oprcz wykorzystywania gotowych komponentw
zaawansowany programista ma moŇliwoĻę tworzenia nowych komponentw, stosownie do swych
potrzeb.
Poszczeglne formularze aplikacji odpowiadajĢ poszczeglnym oknom dziaþajĢcego programu;
gdy rozpoczynasz tworzenie nowej aplikacji, wyĻwietlony zostaje automatycznie pusty formularz,
zwany fo r mularzem gþ wnym Î w dziaþajĢcym programie stanie siħ on jego oknem gþwnym.
UmieszczajĢc na formularzu komponenty VCL oraz ustalajĢc ich poþoŇenie i rozmiary, budujemy
ŇĢdany interfejs uŇytkownika. Oprcz komponentw wizualnych istniejĢ rwnieŇ tzw.
komponenty nie wido czne Î na etapie projektowania sĢ one reprezentowane przez odpowiednie
ikony, natomiast w dziaþajĢcym programie nie sĢ bezpoĻrednio widoczne w interfejsie
uŇytkownika, jakkolwiek speþniajĢ zadania nie mniej waŇne od komponentw wizualnych.
Przykþadami komponentw niewidocznych sĢ zegary (ang. ), sþuŇĢce do odmierzania
ustalonych odcinkw czasu.
Paski przyciskw (ang. ) umoŇliwiajĢ szybki dostħp do najczħĻciej wykorzystywanych
opcji menu, jak: Run (uruchomienie aplikacji), Step Through (praca krokowa), View Form
(oglĢdanie formularza) itp. UŇytkownik ma moŇliwoĻę przystosowywania zawartoĻci paskw
narzħdziowych do swoich potrzeb.
JednĢ z niezaprzeczalnych zalet Ļrodowiska IDE jest jego konfigurowalnoĻę. ZawartoĻę
dowolnego paska narzħdziowego moŇe byę þatwo zmieniana poprzez dodawanie i usuwanie
przyciskw Î wyjĢtkiem w tym wzglħdzie jest paleta komponentw, nie zawierajĢca przyciskw,
lecz (zgodnie z nazwĢ) komponenty VCL.
C++Builder zawiera nastħpujĢce paski narzħdziowe:
Standard ;
View ;
Debug ;
Custom ;
Component Palette (paleta komponentw) .
Aby zmienię zawartoĻę dowolnego paska narzħdziowego, wykonaj kolejno nastħpujĢce czynnoĻci:
1. Kliknij prawym przyciskiem myszy gdziekolwiek w wolnym obszarze paska (poza
przyciskami).
2. Z wyĻwietlonego menu kontekstowego wybierz opcjħ Customize .
3. WyĻwietlone zostanie okno dialogowe konfiguracji (rys. 1.2); przejdŅ na jego stronħ
Commands .
4. PrzeciĢgnij ŇĢdane polecenia z okna dialogowego na pasek.
5. JeŇeli chcesz usunĢę ktryĻ z przyciskw, przeciĢgnij go po prostu poza obszar paska.
zz
Paleta komponentw, znajdujĢca siħ bezpoĻrednio pod menu gþwnym, stanowi zasobnik
komponentw VCL. Komponenty te zorganizowane sĢ w strony, odpowiadajĢce poszczeglnym
kategoriom. Aby przenieĻę komponent na formularz, naleŇy kliknĢę jego ikonħ w palecie
komponentw, a nastħpnie kliknĢę w miejscu, w ktrym ma siħ on docelowo znaleŅę. Jak juŇ
wczeĻniej wspomniano, wyglĢd i szczegþy funkcjonowania komponentw mogĢ byę regulowane
za pomocĢ wþaĻciwoĻci, dostħpnych za poĻrednictwem inspektora obiektw lub bezpoĻrednio w
kodzie programu.
109916365.002.png
Zgłoś jeśli naruszono regulamin