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
2
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”.
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
4
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
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).
6
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
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.
8
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.
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.
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.
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.
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.
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.
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”
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”
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:
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
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.
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");
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.).
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.
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.
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:
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:
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:
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.
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:
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”.
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:
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:
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:
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:
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.
34
C++ Builder. Programowanie obiektowe. Ćwiczenie 1.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Następnie kilka razy wklejamy schowany tekst:
Kończymy działanie aplikacji (Plik
Wyjdź)
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”.
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”)
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.
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).
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.
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