LEKCJA 3. Główne menu i inne elementy IDE. ________________________________________________________________ W trakcie tej lekcji dowiesz się jak poruszać się w zintegrowanym środowisku (IDE) Turbo C++. ________________________________________________________________ Najważniejszą rzeczą w środowisku IDE jest GŁÓWNE MENU (ang. MENU BAR), czyli pasek, który widzisz w górnej części ekranu. Działa to podobnie, jak główne menu w programie Norton Commander (dostępne tam przez klawisz [F9]). KRÓTKI PRZEGLĄD GŁÓWNEGO MENU. Przyciśnij klawisz [F10]. Główne menu stało się aktywne. Teraz przy pomocy klawiszy kursora (ze strzałkami [<-], [->]) możesz poruszać się po menu i wybrać tę grupę poleceń, która jest Ci potrzebna. A oto nazwy poszczególnych grup: [S!]€GRUPY POLECEŃ - NAZWY POSZCZEGÓLNYCH "ROZWIJANYCH" MENU. = Bez nazwy (menu systemowe). File Operacje na plikach. Edit Edycja plików z tekstami źródłowymi programów. Search Przeszukiwanie. Run Uruchomienie programu. Compile Kompilacja programu. Debug "Odpluskwianie", czyli wyszukiwanie błędów w programie. Project Tworzenie dużych, wielomodułowych programów. Options Opcje, warianty IDE i kompilatora. Window Okna (te na ekranie). Help Pomoc, niestety po angielsku. UWAGA: __________________________________________________________ W niektórych wersjach kompilatora na pasku głównego menu pojawi się jeszcze Browse - przeglądanie (funkcji, struktury klas i obiektów). Zwróć uwagę, że w okienkowych wersjach niektóre rozkazy "zmieniają" menu i trafiają do Browse, Debug, Project. W BC++ 4 menu Run brak (!). Tworzenie aplikacji sprowadza się tam do następujących kroków: Project | Open project lub | AppExpert Debug | Run ROZWIJAMY MENU. Z takiego kręcenia się w kółko po pasku (a propos, czy zauważyłeś, że pasek podświetlenia może być "przewijany w kółko"?) jeszcze niewiele wynika. Robimy więc następny krok. Wskaż w menu głównym nazwę "File" i naciśnij [Enter]. Rozwinęło się menu File zawierające listę rozkazów dotyczących operacji na plikach. Po tym menu też możesz się poruszać przy pomocy klawiszy kursora ze strzałkami górę lub w dół. Masz do wyboru dwie grupy rozkazów rozdzielone poziomą linią: €[S!] ______________________________________________________________ Open - Otwórz istniejący już plik z programem (np. w celu dopisania czegoś nowego). New - Utwórz nowy plik (zaczynamy tworzyć nowy program). Save - Zapisz bieżący program na dysk. Pamiętaj: Pliki z dysku nie znikają po wyłączeniu komputera. Zawsze lepiej mieć o jedną kopię za dużo niż o jedną za mało. oraz Print - Wydrukuj program. Get Info€€ - Wyświetl informacje o stanie IDE. Dos Shell - Wyjście "na chwilę" do systemu DOS z możliwością powrotu do IDE przez rozkaz EXIT. Quit - Wyjście z IDE Turbo C++ i powrót do DOSa. Inaczej - KONIEC PRACY. _______________________________________________________________ Skoro już wiemy jak rozpocząć pracę nad nowym programem, zacznijmy przygotowanie do uruchomienia naszego pierwszego programu. Wybierz z menu File rozkaz Open... (otwórz plik). Ponieważ rozkaz taki jest niejednoznaczny, wymaga przed wykonaniem podania dodatkowych informacji. Gdyby Twój komputer mówił, zapytałby w tym momencie "który plik mam otworzyć?". Pytanie zadać musi, będzie więc prowadził dialog z Tobą przy pomocy OKIENEK DIALOGOWYCH. Jeśli wybrałeś z menu rozkaz OPEN i nacisnąłeś [Enter], to masz właśnie na ekranie takie okienko dialogowe. Okienko składa się z kilku charakterystycznych elementów: OKIENKO TEKSTOWE - (ang. Text Box lub Input Box) w którym możesz pisać (klawisz BackSpace [<-] pozwoli Ci skasować wprowadzony tekst, jeśli się rozmyślisz). Okienko to zawiera tekst "*.C". OKIENKO Z LISTĄ - (ang. List Box) zawiera listę plików, z której możesz wybrać plik z programem. KLAWISZE OPCJI/POLECEŃ - (ang. Command Button) kiedy już dokonasz wyboru, to możesz wskazując taki klawisz np. potwierdzić [OK], zrezygnować [Cancel], otworzyć plik [Open] itp.. Pomiędzy elementami okienka dialogowego możesz poruszać się przy pomocy klawiszy kursora i klawisza [Tab] lub kombinacji klawiszy [Shift]-[Tab] (spróbuj!). Możesz także posługiwać się myszką. Więcej o okienkach i menu dowiesz się z następnych lekcji, a na razie wróćmy do naszego podstawowego zadania - tworzenia pierwszego programu. Zanim zaczniemy tworzyć program włóż do kieszeni napędu A: (lub B:) dyskietkę dołączoną do niniejszej książki. Może ona stać się Twoją dyskietką roboczą i pomocniczą zarazem na okres tego kursu. Jeżeli zainstalowałeś zawartość dyskietki na dysku - przejdź do stosownego katalogu - C:\C-BELFER (D:\C-BELFER) i odszukaj tam programy przykładowe. Jeśli nie - możesz nadal korzystać z dyskietki (jest na niej trochę miejsca). Wpisz do okienka tekstowego nazwę A:\PIERWSZY (lub odpowiednio np. C:\C-BELFER\PIERWSZY). Rozszerzeniem możesz się nie przejmować - zostanie nadane automatycznie. Plik roboczy z Twoim programem zostanie utworzony na dyskietce w napędzie A:. Wskaż klawisz [Open] w okienku dialogowym i naciśnij [Enter] na klawiaturze. UWAGA! _________________________________________________________________ Dopóki manipulujesz okienkiem tekstowym i okienkiem z listą klawisz polecenia [Open] jest wyróżniony (podświetlony) i traktowany jako tzw. OPCJA DOMYŚLNA (ang. default). W tym stadium aby wybrać [Open] WYSTARCZY NACISNĄĆ [Enter]. __________________________________________________________________ Wróciliśmy do IDE. zmieniło się tyle, że w nagłówku okna edytora zamiast napisu "NONAME00.CPP" (ang. no mame - bez nazwy) jest teraz nazwa Twojego programu - PIERWSZY.CPP. Kursor miga w lewym górnym rogu okna edytora. Możemy zaczynać. Pierwsze podejście do programu zrobimy trochę "intuicyjnie". Zamiast wyjaśniać wszystkie szczegóły posłużymy się analogią do konstrukcji w Pascalu i Basicu (zakładam, że napisałeś już choćby jeden program w którymś z tych języków). Szczegóły te wyjaśnię dokładniej począwszy od następnej lekcji. WPISUJEMY PROGRAM "PIERWSZY.CPP". Wpisz następujący tekst programu: /* Program przykładowy - [P-1] */ #include main() { printf("Autor: ..........."); /*tu wpisz imie Twoje!*/ printf(" TO JA, TWOJ PROGRAM - PIERWSZY.CPP"); printf("...achoj !!!"); } I już. Jak widzisz nie jest to aż takie straszne. Gdyby nie to, że zamiast znajomego PRINT"TO JA...", albo writeln(".."); jest printf("...");, byłoby prawie całkiem zrozumiałe. Podobny program w Pascalu mógłby wyglądać np. tak: # include uses Crt; main() /* początek */ program AHOJ; {początek} { Begin printf("Autor"); write('Autor'); printf("TO JA"); write('TO JA'); printf("ahoj"); write('ahoj'); } end. a w BASICU: 10 PRINT "Autor" : REM Początek 20 PRINT "TO JA" 30 PRINT "ahoj" 40 END €[!!!]UWAGA ______________________________________________________________ Zwróć uwagę, że działanie funkcji: PRINT (Basic), printf() (C++), Write i Writeln (Pascal) nie jest identyczne, a TYLKO PODOBNE. ________________________________________________________________ Sprawdzimy, czy program działa. Tam, gdzie są kropki wpisz Twoje imię - np. Ewa, Marian, Marcin. Pamiętaj o postawieniu na końcu znaków cudzysłowu ("), zamknięciu nawiasu i średniku (;) na końcu linii (wiersza). Naciśnij kombinację klawiszy [Alt]-[R]. Jest to inny, niż opisano poprzednio sposób dostępu do menu. Kombinacja klawiszy [Alt]-[Litera] powoduje uaktywnienie tego menu, którego nazwa zaczyna się na podaną literę. Przy takiej konwencji litera nie musi być zawsze pierwszą literą nazwy opcji. Może to być także litera wyróżniona w nazwie przez podkreślenie lub wyświetlenie np. w innym kolorze. I tak: [Alt]+[F] menu File (Plik) [Alt]+[C] menu Compile (Kompilacja [Alt]+[R] menu Run (Uruchamianie) [Alt]+[W] menu Window (Okna) itd., itd.. Kombinacja [Alt]+[R] wybiera więc menu Run (uruchomienie programu). Menu Run daje Ci do wyboru następujące polecenia: [S!] ________________________________________________________________ Run - Uruchomienie programu (Utwórz plik .EXE i Wykonaj). Program Reset - "Wyzerowanie" zmiennych programu. Go to Cursor - Wykonanie programu do miejsca wskazanego kursorem w tekście. Trace Into - Uruchom śledzenie programu. Step Over - Śledzenie programu z możliwością pominięcia funkcji. (dosł. tzw. "Przekraczanie" funkcji). Arguments - Uruchom program z zadanymi argumentami. ________________________________________________________________ Wybierz "Run". Jeśli nie zrobiłeś żadnego błędu, program powinien się skompilować z komentarzem "Success" i wykonać (kompilacja zakończona sukcesem; napis mignie tak szybko, że możesz tego nie zauważyć). Jeśli chcesz spokojnie obejrzeć wyniki działania swojego programu powinieneś wykonać następujące czynności: 1. Rozwiń menu Window naciskając klawisze [Alt]-[W]. 2. Wybierz z menu rozkaz User screen (ekran użytkownika). Możesz wykonać to samo bez rozwijania menu naciskając kombinację klawiszy [Alt]-[F5]. 3. Po przejrzeniu wydruku naciśnij [Enter]. Wrócisz do okna edytora. Jeśli zrobiłeś błędy - kompilacja się nie uda i program nie zostanie wykonany, w okienku natomiast pojawi się napis "Errors" (czyli "Błędy"). Jeśli tak się stało naciśnij [Enter] dwukrotnie. Popraw ewentualne niezgodności i spróbuj jeszcze raz. Błędów zwykle bywa nie więcej niż dwa. Najczęściej jest to brak lub przekłamanie którejś litery (w słowie main lub printf) i brak średnika na końcu linii. W okienku komunikatów (Message) mogą pojawić się napisy - np.: Error: Statement missing ; (Błąd: Zgubiony znak ;) €[S] Error Messages - Komunikaty o błędach. ________________________________________________________________ Najczęściej w komunikatach o błędach będą na początku pojawiać się następujące słowa: Error - błąd Warning - ostrzeżenie Syntax - składnia (składniowy) Expression - wyrażenie never used - nie użyte (nie zastosowane) assign - przypisywać, nadawać wartość/znaczenie value - wartość statement - operator, operacja, wyrażenie ________________________________________________________________ €[???] Co z tym średnikiem? ________________________________________________________________ Zwróć uwagę, że po pdświetleniu komunikatu o błędzie (pasek wyróżnienia podświetlenia możesz przesuwać po liście przy pomocy klawiszy ze strzałkami w górę i w dół) i po naciśnięciu [Entera] kompilator pokaże ten wiersz programu, w którym jego zdaniem jest coś nie w porządku. Brak średnika zauważa zwykle dopiero po przejściu do następnego wiersza (i tenże wiersz pokaże), co bywa na początku trochę mylące. ________________________________________________________________ [???] CZEGO ON JESZCZE CHCE ? ________________________________________________________________ Nawet po usunięciu wszystkich błędów C++ nie "uspokoi się" całkiem i będzie wyświetlał ciągle komunikat ostrzegawczy: * w OKIENKU KOMPILACJI: (bardzo typowa sytuacja) Errors: 0 (Błędy: 0) Warnings: 1 (Ostrzeżenia: 1) * W OKIENKU KOMUNIKATÓW - (Messages - tym w dolnej części ekranu): *WARNING A:\PIERWSZY.C 4: Function should return a value in function main (Uwaga: Funkcja main powinna zwrócić wartość.) Na razie zadowolimy się spostrzeżeniem, że: * Błędy UNIEMOŻLIWIAJĄ KOMPILACJĘ i powodują komunikat ERRORS. * Ostrzeżenia NIE WSTRZYMUJĄ KOMPILACJI i powodują komunikat WARNINGS. Jaki jest sens powyższego ostrzeżenia i jak go uniknąć dowiesz się z następnych lekcji. ________________________________________________________________ Pozostaje nam w ramach tej lekcji: * Zapisać Twój pierwszy program na dysku i * Wyjść z IDE C++. JAK STĄD WYJŚĆ ? Aby zapisać plik PIERWSZY.CPP z Twoim programem (końcową ostateczną wersją) na dysk należy wykonać następujące czynności: 1. Naciśnij klawisz [F10]. W głównym menu pojawi się pasek wyróżnienia sygnalizując, że menu stało się aktywne. 2. Naciśnij klawisz [F]. Pasek wyróżnienia przesunie się podświetlając menu File (operacje na plikach). Rozwinie się menu File. 3. Naciśnij klawisz [S] - wybierz polecenie Save (jeśli chcesz zapisać program w bieżącym katalogu i pod bieżącą nazwą) lub rozkaz Save As... (zapisz jako...), podaj nowy dysk/katalog i nową nazwę pliku. Tekst Twojego programu został zapisany na dysku/dyskietce. Teraz możemy wyjść z C++. Aby to zrobić, wykonaj następujące czynności: 1. Naciśnij klawisz [F10]. Uaktywni się główne menu. 2. Rozwiń menu File naciskając klawisz [F]. 3. Wybierz z menu polecenie "Exit/Quit" i naciśnij [Enter]. €[!!!] SAVE szybciej. ________________________________________________________________ Zwróc uwagę, że zamiast rozwijać kolejne menu, możesz korzystać z kombinacji klawiszy, które pozwalają Ci wydać rozkaz bez rozwijania menu. Takie kombinacje klawiszy (ang. hot keys lub shortcut keys) znajdziesz w menu obok rozkazu, np.: [Alt]-[X] - Quit/Exit [F2] - Save [F3] - Open [Alt]-[F5] - User screen (Podglądanie działania programu) itp. ________________________________________________________________ €[Z] ________________________________________________________________ 1. Spróbuj napisać i uruchomić kilka własnych programów wypisujących różne napisy. W swoich programach zastosuj funkcję printf() według następującego wzoru: printf("....tu wpisz napis do wydrukowania..."); zastosuj znaki przejścia do nowego wiersza według wzoru: printf("...napis...\n"); porównaj działanie. Swoim programom staraj się nadawać łatwe do rozpoznania nazwy typu PIERWSZY, DRUGI, ADAM1, PRZYKLAD itp. €[???] NIE CHCE DZIAŁAĆ ? ________________________________________________________________ Pamiętaj, że dla języka C i C++ (w przeciwieństwie np. do Basica) PRINTF i printf to nie to samo! Słowa kluczowe i nazwy standardowych funkcji MUSZĄ BYĆ PISANE MAŁYMI LITERAMI !!! ________________________________________________________________ €[???] GDZIE MOJE PROGRAMY ? ________________________________________________________________ Bądź spokojny. Zapisz wersje źródłowe programów na dyskietkę (dysk). Swoje programy skompilowane do wykonywalnej wersji *.EXE znajdziesz najprawdopodobniej w katalogu głównym tego dysku, na którym zainstalowany został C++ lub w katalogu \BORLANDC\BIN\.... Jeśli ich tam nie ma, zachowaj zimną krew i przeczytaj uważnie kilka następnych stron. ________________________________________________________________ € PAMIĘTAJ: ________________________________________________________________ Jeśli masz oryginalny tekst programu, nazywany WERSJĄ ŹRÓDŁOWĄ PROGRAMU, zawsze możesz uzyskać ten program w wersji "roboczej", tzn. skompilować go na plik wykonywalny typu *.EXE (ang. EXEcutable - wykonywalny). ________________________________________________________________ €[S!] printf() - PRINTing Function - Funkcja DRUKująca ________________________________________________________________ na ekranie (dokładniej - na standardowym urządzeniu wyjścia). Odpowiednik PRINT w Basicu lub write w Pascalu. Dla ułatwienia rozpoznawania nazw funkcji w tekście większość autorów pisząca o języku C++ umieszcza zawsze po nazwie funkcji parę nawiasów (tak też musi ją stosować programista w programach w C++). Ja także będę stosować dalej tę zasadę. ________________________________________________________________ €[???] A JEŚLI NIE MA C++ ??? ________________________________________________________________ W przeciwieństwie do INTERPRETERÓW (np. QBasic), które muszą być obecne, by program zadziałał, KOMPILATORY tworzą wersje wykonywalne programów, które mogą pracować niezależnie. W katalogu głównym tego dysku, na którym jest zainstalowany Twój BORLAND/Turbo C++ znajdziesz swoje programy PIERWSZY.EXE, DRUGI.EXE itp. Aby te programy uruchomić nie musisz uruchamiać kompilatora C++. Wystarczy: 1. Przejść na odpowiedni dysk przy pomocy polecenia: D: (E: lub F:) 2. Przejść do odpowiedniego katalogu - np. głównego: CD \ 3. Wydać polecenie: PIERWSZY[Enter] ________________________________________________________________ €[!!!]UWAGA: ________________________________________________________________ Jeśli nie jesteś jedynym użytkownikiem kompilatora C++ i na tym samym komputerze pracuje jeszcze ktoś inny, sprawdź, czy inny użytkownik nie ustawił inaczej katalogu wyjściowego (Options | Directories | Output Directory). Katalog wyjściowy (ang. output directory) to ten katalog, w którym C++ zapisuje pliki *.EXE po wykonaniu kompilacji. Jeśli jesteś skazany na własne siły - patrz - następne lekcje. ________________________________________________________________ SPECJALNE KLAWISZE, które warto poznać. Oto skrócona tabela z najważniejszymi kombinacjami klawiszy służącymi do "nawigacji" (czyli prościej - poruszania się) w środowisku IDE kompilatorów BORLAND C++ i Turbo C++. Przydatne w Borland C++ i Turbo C++ kombinacje klawiszy. ________________________________________________________________ Wybór rozkazów z menu: Alt+F Rozwinięcie menu File (operacje na plikach) Alt+E Rozwinięcie menu Edit (edycja tekstu programu) Alt+S Rozwinięcie menu Search (przeszukiwanie) Alt+R Rozwinięcie menu Run (uruchamianie programu) Alt+C Rozwinięcie menu Compile (kompilacja) Alt+D Rozwinięcie menu Debug (diagnostyka i błędy) Alt+P Rozwinięcie menu Project (program wielomodułowy) Alt+O Rozwinięcie menu Option (opcje, konfiguracja) Alt+W Rozwinięcie menu Window (zarządzanie oknami) Alt+H Rozwinięcie menu Help (pomoc) Alt+B Rozwinięcie menu przeglądarki - Browse (Win) Alt+X Wyjście z kompilatora DOS'owskiego - Exit Alt+F4 Wyjście z kompilatora dla Windows ________________________________________________________________ Rozkazy w trybie edycji tekstu programu: ________________________________________________________________ Shift+Delete Wytnij wybrany blok tekstu (Cut) i umieść w przechowalni (Clipboard) Shift+Insert Wstaw blok tekstu z przechowalni (Paste) Ctrl+Insert Skopiuj zaznaczony blok tekstu do przechowalni (Copy) Ctrl+Y Skasuj wiersz tekstu (Delete a line) Ctrl+Delete Skasuj zaznaczony blok tekstu Shift+[-->] Zaznaczanie bloku tekstu w prawo Shift+[<--] Zaznaczanie bloku tekstu w lewo Shift+[Down Arrow] Zaznaczanie bloku tekstu w dół (strzałka w dół) Shift+[Up Arrow] Zaznaczanie bloku tekstu w górę (strzałka w górę) Alt+Backspace Anuluj ostatnią operację (Undo) Ctrl+L Powtórz przeszukiwanie (Repeat search) ________________________________________________________________ Rozkazy ogólnego przeznaczenia: ________________________________________________________________ F1 Wyświetl pomoc - Help screen F2 Zapisz bieżący stan tekstu na dysk (Save) F3 Otwórz nowy plik (Open) F4 Uruchom i wykonaj program do pozycji wskazanej kursorem F5 Powiększ (maximize) bieżące aktywne okno F6 Przejdź do następnego okna (next window) F7 Wykonaj program krok-po-kroku F8 Wykonaj program krok-po-kroku z pominięciem śledzenia funkcji F9 Skompiluj i skonsoliduj program (Compile/Make) F10 Uaktywnij pasek głównego menu Shift+F1 Wyświetl spis treści Help - tzw. Help index Shift+F2 Wybierz rozkaz Arguments... z menu Run (uruchamianie programu z parametrami w DOS'owskim wierszu rozkazu) Ctrl+F1 Podpowiedzi kontekstowe (help topic search) Ctrl+F2 Wyzeruj bieżący program Ctrl+F5 Zmień pozycję aktywnego okna Ctrl+F7 Wyświetl okienko dialogowe "Add Watch" Ctrl+F8 Zaznacz punkt krytyczny (Toggle breakpoint) Ctrl+F9 Uruchom program (Run) Ctrl+PgUp Skocz na początek pliku Ctrl+PgDn Skocz na koniec pliku Alt+F1 Pokaż poprzedni ekran Help Alt+F2 Zmniejsz okno Alt+F3 Zamknij aktywne okno Alt+F4 Dokonaj inspekcji (inspect) Alt+F5 Pokaż DOS'owski ekran roboczy (User screen) Alt+F7 Przejdź do poprzedniego błędu (previous error) Alt+F8 Przejdź do następnego błędu (next error) ________________________________________________________________ ________________________________________________________________ EOF