Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 1 Tworzenie plików pomocy Programowanie Wizualno Obiektowe Zajęcia 5, część 1

Podobne dokumenty
Programowanie Wizualno Obiektowe - zajęcia 2 (PWO_BCPP_2_2) Tworzenie i kompilowanie projektów Programowanie Wizualno Obiektowe Zajęcia 2, część 2

Zasady Programowania (Projektowanie) C++ - część 6 1/9 Programowanie Wizualno Obiektowe (3)

Delphi Laboratorium 3

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Wykład 8: Obsługa Wyjątków

Obliczenie azymutu ze współrzędnych wersja C++ Builder

Wprowadzenie do systemu Delphi

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Ćwiczenie 4 Aktualizacja tabel. 1. Skopiuj aplikację przygotowaną na poprzednich zajęciach w katalogu SKOKI1 do nowego katalogu SKOKI2.

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Programowanie Wizualno Obiektowe - zajęcia 6 (PWO_BCPP_6_1) 1 Tworzenie plików pomocy Programowanie Wizualno Obiektowe Zajęcia 6, część 1

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Delphi podstawy programowania. Środowisko Delphi

Podstawy Programowania 2

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wprowadzenie do języka Pascal

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746)

Tworzenie własnych komponentów

16) Wprowadzenie do raportowania Rave

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Wprowadzenie 7. Rozdział 2. Podstawowe składniki aplikacji 23

Programowanie obiektowe

Programowanie w środowisku graficznym GUI

Wyjątki (exceptions)

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Nazwa implementacji: Kółko i krzyżyk w Lazarusie. Autor: Piotr Fiorek Andrzej Stefaniuk

Programowanie Obiektowe Ćwiczenie 4

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C

Podstawy i języki programowania

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Wprowadzenie do projektu QualitySpy

Podręcznik użytkownika

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Kurs walut. Specyfikacja projektu. Marek Zając

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Wprowadzenie do programowania aplikacji mobilnych

kierunkowy (podstawowy / kierunkowy / inny HES) nieobowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr V zimowy i letni (semestr zimowy / letni)

Delphi podstawy programowania. Podstawowe Komponenty

PODSTAWY PROGRAMOWANIA

1 Moduł Modbus ASCII/RTU 3

Strumienie, pliki. Sortowanie. Wyjątki.

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Podstawowe elementy GUI cz. 2 i 3 - zadania

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Semestr zimowy Podstawy Informatyki, Logika TAK

Programowanie w środowisku graficznym. Ćwiczenia 01 Wprowadzenie do C++Builder VCL

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Multimedia JAVA. Historia

Programowanie obiektowe

Wykład 7 Okna dialogowe, menu, pasek stanu itp.

Król Łukasz Nr albumu:

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40

Spis treści. 1 Moduł Modbus TCP 4

Klasy cd. Struktury Interfejsy Wyjątki

Instrukcja obsługi programu:

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Spis treści TRYB GRAFICZNY SYSTEMU WINDOWS - PODSTAWY OBSŁUGI WYBRANEGO ŚRODOWISKA PROGRAMISTYCZNEGO. Informatyka 2

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy i języki programowania

Działanie systemu operacyjnego

Strumienie, pliki. Sortowanie. Wyjątki.

Spis treści TRYB GRAFICZNY SYSTEMU WINDOWS - PODSTAWY OBSŁUGI WYBRANEGO ŚRODOWISKA PROGRAMISTYCZNEGO, TWORZENIE INTERFEJSU UŻYTKOWNIKA.

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

PODRĘCZNIK UŻYTKOWNIKA PRACOWNIK SPZOZ

1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków...

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Instrukcja użytkownika

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Wprowadzenie do biblioteki klas C++

Programowanie Obiektowe GUI

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Działanie systemu operacyjnego

Programowanie w środowiskach RAD Język C++ w środowiskach RAD

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Wykład PASCAL - Pliki tekstowe

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

Zaawansowane programowanie w języku C++ Wyjątki

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski

System rejestracji wizyt w BIOBANKU Instrukcja uz ytkownika systemu

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

Programowanie obiektowe

Kalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia

DIAGNOSTYKA DIAGNOSTYKA

Transkrypt:

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 1 Programowanie Wizualno Obiektowe Zajęcia 5, część 1 Temat: Zadanie: Obsługa wyjątków. Program wyświetla na ekranie wynik z dzielenia dwóch liczb rzeczywistych. Podczas działania programu zaprezentowana jest obsługa sytuacji wyjątkowych. Rysunek 5.2. Postać interfejsu użytkownika dla programu 5_2

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 2 1. Otwieramy nowa aplikację File>NewApplication 2. Zapisujemy projekt przy pomocy File>Save All w katalogu gdzie będzie kompilowany nasz projekt 3. Dodajemy odpowiednie komponenty w kolejności Komponent głównego menu TMainMenu. Komponenty z polami edycyjnymi TEdit Komponenty z etykietami TLabel Komponent paska statusu TStatusBar. Komponent z przyciskiem TButton 4. Do głównego menu dodać następujące opcje Koniec 5. Wyjście z programu zrealizować wykorzystując okienko dialogowe 6. Nazwać odpowiednie komponenty charakterystycznymi nazwami, a następnie w pliku nagłówkowym unit1.h zadeklarować zmienne wykorzystywane podczas dzielenia: private: // User declarations float wart_x, wart_y, wynik; 7. Obsłużyć zdarzenie naciśnięcia na przycisk i dzielenia dwóch liczb które zostały odczytane z pól edycyjnych void fastcall TForm1::BtnDzielenieClick(TObject *Sender) wart_x=strtofloat(this->edtwartoscx->text); wart_y=strtofloat(this->edtwartoscy->text); this->lblwynik->caption=floattostr(wynik); 8. Aby można było korzystać z obsługi wyjątków tak, żeby nie były wyświetlane dodatkowe błędy pochodzące od kompilatora, należy przed kompilacją wybrać opcję Tools->Debugger Options->Language Exceptions i odznaczyć pola Stop on Delphi Exceptions, oraz Stop on C++ Exceptions.

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 3 9. Wyjątki - wstęp 9.1. Informacje podstawowe Wyjątki - są to sytuacje/zdarzenia występujące podczas wykonywania programu, nad którymi program nie ma kontroli i/albo wymagają specjalnego obsłużenia. Ich obsługa przydatna jest podczas pracy z programem, oraz podczas pisania aplikacji. Przykładowe sytuacje wyjątkowe standardowo obsługiwane przez Borland C++ VCL to dzielenie przez 0, obsługa złych formatów plików, przekroczenie dostępnych wartości. Obsługa wyjątków - przewidywanie w programie sytuacji wyjątkowych i reagowanie na nie. UWAGA: Korzystanie z wyjątków powinno być zarezerwowane dla błędów krytycznych. Wyjątek powinien być generowany wtedy, gdy błędna sytuacja jest na tyle niebezpieczna, że może utrudnić dalsze funkcjonowanie programu. Większości błędów wykonania można zapobiec, sprawdzając zawczasu poprawność danych, użyte parametry itp. 9.2 Bloki obsługi wyjątków (ang. try statements) a) try w połączeniu z catch try <instrukcje programu> catch (<typ wyjątku>) <obsługa wyjątku> catch (<typ wyjątku>) <obsługa wyjątku> ; catch () <obsługa pozostałych wyjatków> ; end; W tym przypadku wykonywane są <instrukcje programu>; jeżeli wykonywanie jednej z tych instrukcji spowoduje wystąpienie wyjątku wykonywana jest sekcja rozpoczynająca się od słowa catch. Dyrektywy (<typ wyjątku>) w sekcji catch służą do zróżnicowanej obsługi poszczególnych typów wyjątków.

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 4 Wybrane przypadki przechwytywania wyjątków a) z obsługą wyjątków, bez ich wyszczególnienia try catch() <obsługa wyjątków> ; try wart_x=strtofloat(this->edtwartoscx->text); wart_y=strtofloat(this->edtwartoscy->text); catch() Application->MessageBox("Błąd","Wystąpił błąd",mb_ok); ; b) z obsługą wyszczególnionego wyjątku try catch(<wyjątek>) <obsługa wyjątku> (wybrany wyjątek to błąd konwersji danych w polu edycyjnym) try //obsługa dowolnego wyjątku z listy wszytkich wyjątków wart_x=strtofloat(this->edtwartoscx->text); catch(econverterror &ConvErr) Application->MessageBox("Wystąpił błąd konwersji znakow","błąd",mb_ok); c) z obsługą kilku wyszczególnionych wyjątków

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 5 try catch(<wyjątek 1>) <obsługa wyjątku 1> catch(<wyjątek 2>) <obsługa wyjątku 2> ; (wybrane wyjątki to błąd konwersji danych w polu edycyjnym oraz błąd dzielenia przez 0) try wart_y=strtofloat(this->edtwartoscy->text); catch(econverterror &ConvErr) //obsługa pierwszego wyjątku Application->MessageBox("Wystąpił błąd konwersji znakow","błąd",mb_ok); this->lblwynik->caption="(błąd)"; catch(ezerodivide &DivZeroErr); //obsługa drugiego wyjątku Application->MessageBox("Wystąpił błąd dzielenia przez zero","błąd",mb_ok); this->lblwynik->caption="(błąd)"; ; d) z wykorzystaniem informacji dostępnych w przechwyconym wyjątku try catch(typ_wyjątku &nazwa_wyjątku) <obsługa wyjątku, wykorzystanie danych z &nazwa_wyjatku> W tym przypadku możliwe jest wykorzystanie informacji dostępnych w wyjątku. W tym celu wykorzystuje się stworzony wskaźnik do obiektu wyjątku utworzony przy pomocy dyrektywy catch(typ_wyjątku &nazwa_wyjątku). Można wtedy w instrukcjach obsługujących wyjątek wykorzystać informacje z własności wyjątku. (wybrany wyjątek to błąd dzielenia przez 0) try

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 6 catch(ezerodivide &DivZeroErr) this->statusbar1->panels->items[0]->text=divzeroerr.message; Application->MessageBox("Wystąpił błąd dzielenia przez zero","błąd",mb_ok); e) obsługa wyjątków z wykorzystaniem dyrektywy finally W tym przypadku wykonywane są, po ich zakończeniu albo przerwaniu z powodu wyjątku wykonywane są <instrukcje końcowe> zostaną one wykonane zawsze, niezależnie od tego, w jaki sposób zakończyło się wykonywanie <instrukcji> i jakie zostały przechwycone wyjątki. Pozwala to na zakończenie pewnych instrukcji lub ich wykonanie bez względu na występujące błędy. try finally <instrukcje końcowe> 9.3 Generowanie własnych wyjątków (Temat zaawansowany, zwykle wykorzystywane przy pisaniu własnych komponentów)

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 7 9.4. Wyjątki dostępne dla komponentów VCL (C++ Help) EComponentError EConvertError EDatabaseError EDBEditError EDivByZero EExternalException EInOutError EIntOverflow EInvalidCast EInvalidGraphic EInvalidOperation EInvalidPointer EMenuError EOleCtrlError EOleError EPrinterError EPropertyError ERangeError ERegistryException EZeroDivide Sygnalizuje nieudaną próbę rejestracji lub zmiany nazwy komponentu Sygnalizuje błąd konwersji zmiennej typu łańcuch znaków (string) lub obiektu Sygnalizuje błąd podczas dostępu do bazy danych Przechwytuje dane nie zgadzające się z określoną maską (bazy danych). Sygnalizuje błędy dzielenia przez zero liczb całkowitych. Sygnalizuje nieokreślony wyjątek. Sygnalizuje błąd wejścia/wyjścia Sygnalizuje obliczenia na liczbach całkowitych, których wynik jest zbyt duży (przekracza zaalokowana pamięć) Sygnalizuje błędną wielkość znaków Sygnalizuje próbę pracy z nierozpoznawalnym formatem pliku graficznego Sygnalizuje błędną operację z wykorzystaniem komponentu Sygnalizuje błędną operację na wskaźniku. Sygnalizuje problem z elementem menu. Sygnalizuje problem z odnośnikiem do kontrolki ActiveX. Sygnalizuje błędy OLE Sygnalizuje błędy związane z drukowaniem. Sygnalizuje nieudane nadanie wartości jakiejś własności obiektu Sygnalizuje przekroczenie dopuszczalnego zakresu dla liczby całkowitej. Sygnalizuje błędy rejestru systemowego Sygnalizuje błędy dzielenia przez zero liczb rzeczywistych