background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 1 
______________________________________________________________________ 
 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
 
 
 
 
 
 
 
 

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 

 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
 

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”.   

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 3 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

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 

 

 

 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
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  

 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 5 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
 

 

 
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). 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
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 
 

 

 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 7 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
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. 
 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 

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
 

 

 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 9 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
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. 
 
 

background image

10 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
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. 
 

 

 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 11 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 

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. 
 
 
 
 

background image

12 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
 

IV.

 

Projektowanie menu  

 
Teoria: 
 
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
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 13 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 

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. 
 

background image

14 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 

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” 
 

 

 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 15 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

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” 
 
 

 

 
 
 
 
 
 

background image

16 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

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: 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 17 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 

„&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 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

18 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
Widok okna uruchomionej aplikacji: 
 

 

 
 
Zamykamy okno - naciśnij ikonę „krzyŜyk” zamykającą okno aplikacji. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 19 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 

V.

 

Projektowanie zdarzenia  

 
Teoria: 
 
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"); 
 
 
 

background image

20 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
 
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.). 
 

 

 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 21 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 

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. 

 

 

 

background image

22 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
Wstaw obiekt RichEdit do formularza 
 

 

 
Widok formularza Form1
 

 

 

Zmiana właściwości obiektu 

 
 
Zaznacz obiekt RichEdit1
 

 

 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 23 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

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
 

 

 
 
 

background image

24 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
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
 

 

 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 25 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
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
 
 

 

 
 
 

background image

26 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
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. 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 27 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
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: 
 

 

 
 
 

background image

28 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
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”. 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 29 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

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
 
 

 

 
 

background image

30 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
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
 

 

 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 31 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
 
 
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
 

 

 
 
 
 
 
 
 

background image

32 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
 
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: 
 

 

 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 33 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

Po uruchomieniu naszego edytorka wpisujemy dowolny tekst. 
 

 

 
Zaznaczamy cały wpisany tekst i wycinamy go do schowka. 
 

 

 

background image

34 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
Następnie kilka razy wklejamy schowany tekst:  
 

 

 
Kończymy działanie aplikacji (Plik









Wyjdź

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 35 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 

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”. 
 
 

background image

36 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
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”) 
 
 

 

 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 37 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
 
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. 
 

 

 
 
 
 
 
 

background image

38 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
 
 
 

X.

 

Czynności końcowe  

 

Wyjście ze środowiska C++ Builder 

 

 
Wychodzimy z środowiska C++ Builder (Plik









Exit). 

 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

C++ Builder. Programowanie obiektowe. Ćwiczenie 1.                                                 39 
______________________________________________________________________ 
 

 

©2004 Jerzy Kluczewski 

 

 

 
 

Otwieranie projektu środowiska C++ Builder 

 

 
Otwieranie projektu aplikacji  w środowisku C++ Builder (Plik









Exit). 

 
 

 

 
 
Polecenie View









Project Manager pokazuje jakie pliki naleŜą do projektu. 

 

 

 
 

background image

40 

C++ Builder. Programowanie obiektowe. Ćwiczenie 1. 

______________________________________________________________________ 

______________________________________________________________________ 
 

©2004 Jerzy Kluczewski 

 
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