C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 1 PROGRAMOWANIE OBIEKTOWE ĆWICZENIE 1 C++ BUILDER 6.0 PE Projektowanie prostej aplikacji okienkowej Formularz okna głównego Obiekt TForm Obiekt MainMenu Obiekt OpenDialog Obiekt SaveDialog Obiekt RichEdit Metody i zdarzenia Opcje projektu Uruchamianie aplikacji
2 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. I. Wstęp PoniewaŜ nauka języka obiektowego C++ prowadzona w stylu klasycznym tzn. od podstaw C/C++ do skomplikowanych aplikacji okienkowych w środowisku Windows, jest dla większości moich uczniów, trudna i niezbyt zrozumiała, postanowiłem w moich ćwiczeniach zastosować metodę od konkretów do teorii, czyli od końca do początków w trakcie ćwiczeń pojawią się takŝe teksty tłumaczące podstawy teoretyczne niezbędne w zastosowaniach praktycznych. Zainteresowanych poznaniem głębi podstaw teoretycznych języka C++ odsyłam do moich materiałów przekazywanych Wam w postaci elektronicznych mediów np. na dyskietkach oraz umieszczanych na mojej prywatnej witrynie internetowej www.jkluczewski1.friko.pl. Siłą języków obiektowych jest moŝliwość łatwego i szybkiego projektowania i wyprodukowania aplikacji okienkowej, zawierającej niezbędne elementy (ang. components) przykładem moŝe być dostarczona biblioteka Visual Component Library) do sterowania programem w środowisku graficznym, takie jak: okna dialogowe, paski menu, paski przewijania, przycisku, rozwijane menu, listy rozwijane, opcje wyboru wartości, pola edycyjne, edytory tekstu, odtwarzacze muzyki i filmów. Projektowanie graficznego interfejsu uŝytkownika w obecnych językach programowania odbywa się techniką chwyć, przesuń i upuść (ang. drag and drop). Dlatego zamiast określenia programowanie obiektowe lepsze jest programowanie (projektowanie) obiektowo wizualno zdarzeniowe. Zdarzeniowe dlatego, Ŝe np. kliknieciu myszką (zdarzenie ang. Event) w przycisk lub inny obiekt (ang. object) przypisujemy określoną akcję (wykonanie serii czynności przez naszą aplikację) funkcje wykonujące takie akcje nazywamy metodami (ang. method). Pisząc dla Was tą instrukcję ćwiczeniową jestem przekonany, Ŝe przyjęta zasada minimum słów maksimum obrazu, pomoŝe w zaprojektowaniu pierwszej w Waszym Ŝyciu aplikacji o nazwie Edytorek. Aplikacja ta będzie umoŝliwiała pobranie pliku tekstowego (.TXT) z dysku, modyfikacje zawartości pliku, zaznaczanie fragmentów tekstu, kopiowanie, wycinanie ich do schowka, wklejanie ze schowka, jak i zapis zmodyfikowanej treści do pliku dyskowego o rozszerzeniu.txt. Powodzenia!!! Na koniec tego rozdziału moja prośba proszę o krytyczne uwagi dotyczące zauwaŝonych błędów merytorycznych i edytorskich, zgodnie z zasadą errare humanum est.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 3 II. Pierwsze kroki Uwagi dotyczące stosowanego nazewnictwa: Program w fazie projektowania nazywamy projektem. Program w fazie jego działania nazywamy aplikacją. Okno aplikacji w fazie projektowania nazywamy formularzem. Okno aplikacji w fazie jej działania nazywamy po prostu oknem. Moja rada: musicie na przemian: raz wczuć się w rolę projektanta (producenta) programu, a raz w rolę uŝytkownika programu!!! Uruchomienie środowiska C++ Builder 6.0 Jak juŝ wspomniałem we wstępie, ćwiczenia będą opisane metodą obrazkową wraz minimalną dawką tekstu. Proszę wygodnie usiąść przed komputerem i wykonywać polecenia zawarte w tej instrukcji. Uruchom środowisko C++ Builder 6.0 za pomocą polecenia Start Programy Borland C++ Builder 6 Borland C++ Builder 6 albo za pomocą podwójnego kliknięcia w ikonę przedstawiona poniŝej (jeśli taka została utworzona na Twoim pulpicie) Tworzenie projektu aplikacji Wykonaj polecenie File New Application
4 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Teraz widzisz formularz Form1, na którym będziesz projektował(a) całą aplikację (C++ Builder informuje cię o tym, Ŝe to jest tylko projekt okna, za pomocą siatki zbudowanej z kropek): Teoria: Formularz Form1 jest obiektem klasy TForm1 reprezentującym główne okno, które moŝe zawierać inne obiekty (inne obiekty omówię w następnych podrozdziałach). Zapisanie projektu na dysk Bardzo dobrym zwyczajem kaŝdego programisty (nota bene: takŝe uŝytkownika) jest nadanie nazw plikom składających się na cały projekt zanim przystąpi on do właściwego projektowania i programowania. Wykonujemy teraz zapis projektu do plików o określonych przez nas nazwach na dysk W tym celu wykonaj następujące polecenie File Save All
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 5 Pojawi się okno o nazwie Save Unit1 As: Teoria: Opis działania naszego okna musimy zapisać do pliku o rozszerzeniu.cpp. PoniewaŜ jest to pierwsze (na razie jedyne) projektowane okno dla naszej aplikacji, to nazwa jego kończy się cyfrą 1. Nazwa Unit oznacza, Ŝe zapisywany program dotyczy opisu formularza (okna).
6 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Przedrostek Edytorek mówi nam jaką aplikację w danej chwili projektujemy. Dlatego w polu Nazwa pliku wpisujemy EdytorekUnit1.cpp i naciskamy przycisk Zapisz. Potem pojawi się okno o nazwie Save Project1 As
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 7 W polu Nazwa pliku wpisz Edytorek.bpr i naciśnij przycisk Zapisz. Teoria: Opis całego naszego projektu musimy teraz zapisać do pliku o rozszerzeniu.bpr. Jeśli nazwą tą będzie Edytorek, nie będziesz się musiał(a) później zastanawiać jakiego tematu dotyczy projekt. Rozszerzenie bpr oznacza po prostu Borland Project (Projekt w języku C++). Teraz moŝemy juŝ spokojnie projektować nasze okno. III. Projektowanie okna prostej aplikacji Teoria KaŜdy formularz (okno) aplikacji składa się z następujących elementów: belki tytułowej zawierająca ikonę, tytuł, przyciski minimalizacji, maksymalizacji, zamykania okna. obramowania formularza (okna) tła czyli tzw. obszaru roboczego formularza (okna) - siateczka na szarym tle Za pomocą klawisza funkcyjnego F11 moŝesz przejść do pól opisujących właściwości formularza Object Inspector. Pierwszą z nich będzie właściwość Caption, czyli nazwa jaka pojawia się w belce tytułowej zakładka Properies. Lewa kolumna zawiera nazwę właściwości, natomiast prawa jej wartość. Aby zmienić wartość właściwości zaznaczonego obiektu, wystarczy kliknąć na nazwie właściwości. W podobny sposób będziesz mógł(mogła) zmieniać kaŝdą właściwość dowolnego obiektu dodawanego na formularzu.
8 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Tworzenie napisu na belce tytułowej W polu Caption zmień wartość Form1 na Mój Edytorek Teraz w belce tytułowej formularza Form1 pojawi się odpowiedni tekst. Wygląd belki tytułowej formularza: Z lewej strony beli tytułowej widać standardową ikonę C++ Buildera, ale moŝna w tym miejscu wstawić własną ikonę ale jak to zrobić? Ikony przechowywane są w plikach posiadających rozszerzenie.ico. Nie moŝna ich wykonać za pomocą programu Paint. Dlatego firma Borland dodała do swojego Buildera programik o nazwie Image Editor. Program ten jest bardzo łatwy w obsłudze. MoŜna go wywołać poleceniem Tools Image Editor. Zaprojektuj teraz swoją ikonę i zapisz w pliku Edytorek.ico.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 9 Po wykonaniu ikony pozostaje nam tylko wstawienie jej do belki tytułowej. Aby to wykonać uŝyj właściwości Icon dla formularza Form1. Teoria: Właściwość taką w języku C++ opisujemy w następujący sposób Form1 Icon. Kliknij pole Icon dla obiektu Form1 w Object Inspector (Przypomnienie: przejście do okna inspektora obiektów klawisz F11). Kliknij na przycisk zawierający trzy kropki (uwaga: w środowisku Windows trzy kropki oznaczają, Ŝe po ich naciśnięciu wywołane zostanie okno dialogowe w którym naleŝy wybrać odpowiednie opcje, rozkazy, dane itp.) Teraz na ekranie pojawiło się okno wybierania ikony: Kliknij przycisk Load. Pojawi się okno Load Picture w którym musimy wybrać nazwę naszej ikony. Wybieramy plik Edytorek.ico (jeśli jesteś uparty(a) to nazwałeś swoją ikonę inaczej, więc wybierz plik o innej nazwie, w którym jest Twoja ikona, ale pamiętaj Ŝe za parę miesięcy moŝesz juŝ się sam nie połapać w swoich nazwach!!!) Moja rada: Nazewnictwo przyjmowane w projekcie ma pomagać, a nie przeszkadzać - stąd biorą się moje podpowiedzi.
10 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Tak wygląda okno ładowania pliku ikony: Teraz mamy moŝliwość podglądu załadowanej ikony, jeśli zgadzamy się na taką ikonę, to klikamy w przycisk OK. Teraz na formularzu widzimy, Ŝe faktycznie w belce tytułowej jest właściwa ikona.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 11 Testowe uruchomienie aplikacji ZałóŜmy, Ŝe jesteśmy niedowiarkami i nie wiemy czy w rzeczywistości nasza aplikacja wyświetli taką ikonę co robimy? Testujemy nasz projekt uruchamiamy aplikację. Aby uruchomić aplikację moŝna posłuŝyć się kilkoma metodami: Poleceniem Run Run Klawiszem F9 Ikoną ( zielony krójkąt ) Po uruchomieniu (poczekaj aŝ projekt zostanie skompilowany i zlinkowany) okno aplikacji wyglądać powinno następująco: Wszystko jest w porządku (jeśli nie zwróć się do mnie, razem przeanalizujemy przyczynę), naciśnij ikonę krzyŝyk zamykającą okno aplikacji.
12 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Teoria: IV. Projektowanie menu W kaŝdym porządnym programie (aplikacji komputerowej) pod belką tytułową znajduje się główne menu poziome (ang. mainmenu), które po kliknięciu rozwija tzw. menu pionowe (ang. pull-down menu). Menu zawiera pozycje (ang. items), które nazywane są poleceniami. Polecenia te słuŝą do wykonywania odpowiednich operacji na obiektach znajdujących się w aplikacji. W C++ Builder znajduje się biblioteka gotowych komponentów wizualnych (VCL Visual Component Library), która jest dostępna dla programisty poprzez pasek znajdujący się u góry ekranu C++ Buildera. Elementy paska biblioteki VCL są pogrupowane na następujących zakładkach: Standard Additional Win32 System Internet Dialogs Win 3.1 Samples ActiveX Są to gotowe wzorce obiektów, czyli klasy pomagające programistom projektować aplikacje obiektowe. My skorzystamy w naszym projekcie z trzech zakładek: Standard Additional Dialogs Pierwszym naszym komponentem będzie MainMenu (menu główne) znajdujące się na zakładce Standard.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 13 Tworzenie menu aplikacji Wybierz zakładkę Standard w pasku VCL. Zaznacz komponent MainMenu na zakładce Standard. Przenieś zaznaczony komponent na formularz W oknie Object TreeView (podgląd struktury obiektów) pojawił się napis MainMenu1, co oznacza Ŝe obiekt MainaMenu1 jest pierwszym menu w pierwszym formularzu Form1. Kliknij obiekt MainMenu1 pojawi się okno Projektanta Menu, które słuŝy do projektowania menu, Uwaga: Jeśli coś się nie uda, to zawsze moŝna wrócić do Projektanta Menu, zaznaczając obiekt MainMenu1 i klikając prawym klawiszem myszy uzyskasz menu z poleceniem Menu Designer. Okno to zawiera wszystkie dodawane pozycje menu poziome jak i pionowe. Przejdźmy teraz do projektowania naszego menu (Język C++: Form1 MainMenu1). Znak & oznacza, Ŝe następująca po nim litera będzie podkreślona.
14 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Projektowanie głównego menu W naszym projekcie menu poziome będzie zawierać następujące pozycje: Plik, Edycja, Pomoc. Na pierwszej poziomej pozycji wpisujemy &Plik Na drugiej poziomej pozycji wpisujemy &Edycja Uwaga: Wpisywanie tych nazw zawsze odbywa się w polu Caption
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 15 Po wpisaniu kolejnej pozycji np. &Edycja, pojawia się wykropkowana ramka, która sygnalizuje moŝliwość wpisywania następnej pozycji. Tylko od Ciebie zaleŝy czy będzie to pozycja pozioma, czy pionowa. Na trzeciej poziomej pozycji wpisujemy &Pomoc Projektowanie menu pionowego Przechodzimy do tworzenia pozycji w menu pionowym W menu Pomoc klikamy na pierwszą pozycję zaznaczoną na niebiesko. W oknie inspektora obiektów wpisujemy &Copyright
16 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Mamy juŝ utworzone menu Pomoc. Przechodzimy do menu Edycja W oknie inspektora obiektów wpisujemy &Kopiuj Na tych samych zasadach jak poprzednio tworzymy pozycje poziome menu: &Wklej W&ytnij &Zaznacz wszystko Mamy juŝ utworzone menu Edycja. Przechodzimy do menu Plik Na tych samych zasadach jak poprzednio tworzymy pozycje poziome menu:
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 17 &Otwórz &Zapisz &Wyjdź W oknie inspektora obiektów wpisujemy &Otwórz Mamy juŝ utworzone menu Plik Otwórz. Mamy juŝ utworzone menu Plik. Uruchamiamy naszą aplikację, po to aby zobaczyć czy menu jest prawidłowo skonstruowane. Kliknij przycisk albo naciśnij klawisz F9
18 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Widok okna uruchomionej aplikacji: Zamykamy okno - naciśnij ikonę krzyŝyk zamykającą okno aplikacji.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 19 Teoria: V. Projektowanie zdarzenia W kaŝdym programie obiektowym zdarzenia (np. kliknięcie) są powiązane z jakąś akcją (np. otworzenie okna z wiadomością). Projektowanie zdarzenia w menu Pomoc Copyright Przechodzimy do pozycji Pomoc Copyright w menu pionowym. Kliknij w pozycję Copyright Otworzył się automatycznie edytor kodu źródłowego języka C++ i aby nie komplikować zbytnio wyjaśnień (w następnych ćwiczeniach omówię składnię C++) - widzisz teraz nagłówek metody Copyright1Click, co oznacza Ŝe będziesz decydował(a), co ma być zrobione po klinięciu w pozycję Copyright. Okno kodu źródłowego EdytorekUnit1.cpp: W miejscu kursora wpisz następujący kod: ShowMessage("Mój Edytorek\nWersja 1.0\nCopyright (c) C++ 2004\nGdańsk");
20 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Okno kodu źródłowego EdytorekUnit1.cpp po wpisaniu kodu: Uruchamiamy naszą aplikację, po to aby zobaczyć czy jak działa menu Pomoc Copyright. MoŜna teŝ uŝyć polecenia Run Run (F9): Aplikacja została uruchomiona, wybierz Pomoc Copyright Na ekranie pokazało się okienko dialogowe wyświetlające opis programu (jego nazwę, wersję itp.).
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 21 VI. Obiekty i ich właściwości Wstawianie obiektów OpenDialog, SaveDialog, RichEdit Wybierz zakładkę Dialogs w pasku VCL. Wybierz obiekt OpenDialog. Wstaw obiekt OpenDialog do formularza Wybierz obiekt SaveDialog. Wstaw obiekt SaveDialog do formularza Wybierz zakładkę Win32 w pasku VCL.
22 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Wstaw obiekt RichEdit do formularza Widok formularza Form1: Zmiana właściwości obiektu Zaznacz obiekt RichEdit1.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 23 W Inspektorze obiektów wybierz właściwość ScrollBars i ustaw ją na ssboth. Ustawienie pasków przewijania (poziomych i pionowych w oknie edytorka): VII. Zdarzenia i metody Projektowanie zdarzenia w menu Plik Otwórz Przechodzimy do pozycji Plik Otwórz w menu pionowym. Kliknij w pozycję Otwórz Widzisz teraz nagłówek metody Otwrz1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Otwórz. Okno kodu źródłowego EdytorekUnit1.cpp:
24 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. W miejscu kursora wpisz następujący kod: if (OpenDialog1->Execute()) RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName); Okno kodu źródłowego EdytorekUnit1.cpp po wpisaniu kodu: Przejdź do formularza (klawisz F12). Przechodzimy do pozycji Plik Zapisz w menu pionowym. Widzisz teraz nagłówek metody Zapisz1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Zapisz. Okno kodu źródłowego EdytorekUnit1.cpp:
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 25 W miejscu kursora wpisz następujący kod: if (SaveDialog1->Execute()) RichEdit1->Lines->SaveToFile(SaveDialog1->FileName); Okno kodu źródłowego EdytorekUnit1.cpp po wpisaniu kodu: Przejdź do formularza (klawisz F12). Przechodzimy do pozycji Plik Wyjdź w menu pionowym. Widzisz teraz nagłówek metody Wyjd1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Wyjdź. Okno kodu źródłowego EdytorekUnit1.cpp:
26 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. W miejscu kursora wpisz następujący kod: Application->Terminate(); Okno kodu źródłowego EdytorekUnit1.cpp po wpisaniu kodu: Teraz ustawiamy filtr dla nazw pobieranych i zapisywanych plików. PoniewaŜ nasz edytorek ma słuŝyć do edycji plików o rozszerzeniu TXT naleŝy zmusić go do otwierania i zapisywania wyłącznie plików *.TXT. Przechodzimy do okna Inspektora obiektów (klawisz F11): Wybieramy właściwość Filter Klikamy na przycisk Trzy kropki, pojawia się okno edytora filtru i wpisujemy odpowiednie wartości.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 27 Okno edytora filtru: Ustawiamy takŝe domyślny rodzaj pliku: Dla obiektu SaveDialog1 wykonujemy identyczne czynności: Klikamy na przycisk Trzy kropki, pojawia się okno edytora filtru i wpisujemy odpowiednie wartości. Okno edytora filtru: Ustawiamy takŝe domyślny rodzaj pliku:
28 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Testujemy działanie aplikacji: MoŜemy uŝyć polecenia Run Run lub ikony VIII. Właściwości RichEdit Zmiana właściwości obiektu RichEdit Przechodzimy do pozycji Plik Otwórz w menu pionowym. Wybierz właściwość RichEdit1 Lines Kliknij na nią otwiera się edytor listy linii tekstowych (ang. strings) Skasuj napis RichEdit1 i naciśnij OK.
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 29 Wygląd okna String List Editor po skasowaniu tekstu: Kliknij OK Wybierz w menu pozycję Kopiuj (Przechodzimy do pozycji Edycja Kopiuj w menu pionowym). Widzisz teraz nagłówek metody Kopiuj1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Kopiuj. Okno kodu źródłowego EdytorekUnit1.cpp:
30 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. W miejscu kursora wpisz następujący kod: RichEdit1->CopyToClipboard(); Okno kodu źródłowego EdytorekUnit1.cpp po wpisaniu kodu: Wybierz w menu pozycję Wklej (Przechodzimy do pozycji Edycja Wklej w menu pionowym). Widzisz teraz nagłówek metody Wklej1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Wklej. W miejscu kursora wpisz następujący kod: RichEdit1->PasteFromClipboard(); Okno kodu źródłowego EdytorekUnit1.cpp:
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 31 Wybierz w menu pozycję Wytnij (Przechodzimy do pozycji Edycja Wytnij w menu pionowym). Widzisz teraz nagłówek metody Wytnij1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Wytnij. Okno kodu źródłowego EdytorekUnit1.cpp: W miejscu kursora wpisz następujący kod: RichEdit1->CutToClipboard(); Okno kodu źródłowego EdytorekUnit1.cpp:
32 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Wybierz w menu pozycję Zaznacz wszystko (Przechodzimy do pozycji Edycja Zaznacz wszystko w menu pionowym). Widzisz teraz nagłówek metody Zaznaczwszystko1Click, co oznacza Ŝe metoda ta zostanie wykonana po kliknięciu pozycji Zaznacz wszystko. Okno kodu źródłowego EdytorekUnit1.cpp: W miejscu kursora wpisz następujący kod: RichEdit1->SelectAll(); Okno kodu źródłowego EdytorekUnit1.cpp: Testujemy działanie aplikacji:
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 33 Po uruchomieniu naszego edytorka wpisujemy dowolny tekst. Zaznaczamy cały wpisany tekst i wycinamy go do schowka.
34 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Następnie kilka razy wklejamy schowany tekst: Kończymy działanie aplikacji (Plik Wyjdź)
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 35 IX. Właściwości projektu Zmiana właściwości obiektu RichEdit Wykonujemy polecenie Project Options w środowisku C++ Builder Zmieniamy opcje projektu Klikamy zakładkę Application Klikamy w Load icon i otwieramy plik o nazwie Edytorek.ico.
36 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Wybieramy odpowiedni plik ikony i naiciskamy na Otwórz Ikona została wybrana Klikamy zakładkę Advanced Compiler i wyłączamy opcję Pentium Pro Klikamy zakładkę Advanced Compiler i wyłączamy opcję (klikamy przycisk Release )
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 37 Klikamy zakładkę Linker i wyłączamy opcję Use dynamic RTL Klikamy zakładkę Packeges i wyłączamy opcję Build with runtime packages Wykonujemy tłumaczenie produkcję projektu na kod binarny (plik.exe) polecenie Project Build Edytorek: Komunikat o poprawnej kompilacji i linkowaniu.
38 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. X. Czynności końcowe Wyjście ze środowiska C++ Builder Wychodzimy z środowiska C++ Builder (Plik Exit).
C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 39 Otwieranie projektu środowiska C++ Builder Otwieranie projektu aplikacji w środowisku C++ Builder (Plik Exit). Polecenie View Project Manager pokazuje jakie pliki naleŝą do projektu.
40 C++ Builder. Programowanie obiektowe. Ćwiczenie 1. Okno Object TreeView pokazuje drzewo zaleŝności pomiędzy obiektami. Okno Object TreeView Okno to pokazuje nam, jakie obiekty zostały umieszczone na formularzu Form1