IFiZR Laboratorium 5 Info

Wielkość: px
Rozpocząć pokaz od strony:

Download "IFiZR Laboratorium 5 Info"

Transkrypt

1 IFiZR Laboratorium 5 Info File->New->Project->Windows Application (DevC++) Kurs WinAPI: #include <windows.h> #include <iostream> #include <stdlib.h> #include <math.h> Przykład 2 LPSTR NazwaKlasy = "Klasa Okienka"; MSG Komunikat; // definicja nazw kontrolek HWND hprzycisk1, hedit1, hedit2, hedit3, hedit4, hedit5, htekst1, htekst2; // definicja funkcji double CharToDouble(HWND okno); LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ); // WinMain zamiast main int WINAPI WinMain( HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow ) { WNDCLASSEX wc; wc.cbsize = sizeof( WNDCLASSEX ); wc.style = 0; wc.lpfnwndproc = Panel; wc.cbclsextra = 0; wc.cbwndextra = 0; wc.hinstance = hinstance; wc.hicon = LoadIcon( NULL, IDI_APPLICATION ); wc.hcursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrbackground =( HBRUSH )( COLOR_WINDOW+8); // kolor formatki poprzez zmiane liczby wc.lpszmenuname = NULL; wc.lpszclassname = NazwaKlasy; wc.hiconsm = LoadIcon( NULL, IDI_APPLICATION ); // rejestrowanie okna if(!registerclassex( & wc ) ) { MessageBox( NULL, "Blad rejestracji okna!", "Error.", MB_ICONEXCLAMATION MB_OK ); return 1;

2 //tworzenie panelu (okna) HWND hwnd=createwindowex( WS_EX_CLIENTEDGE, NazwaKlasy, "Panel obliczen", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 400, NULL, NULL, hinstance, NULL ); if( hwnd == NULL ) { MessageBox( NULL, "Nie udalo sie utworzyc okna", "Error", MB_ICONEXCLAMATION ); return 1; ShowWindow( hwnd, ncmdshow ); UpdateWindow( hwnd ); // tworzenie kontrolek tj editow, buttonów itp htekst1=createwindowex( 0, "STATIC", "Podaj dane punktów P1(x1,y1) oraz P2 (x2,y2)", WS_CHILD WS_VISIBLE SS_CENTER, 90, 30, 200, 40, hwnd, NULL, hinstance, NULL ); htekst2=createwindowex( 0, "STATIC", "Wynik obliczen", WS_CHILD WS_VISIBLE, 110, 200, 120, 20, hwnd, NULL, hinstance, NULL ); hedit1 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 50, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit2 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 110, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit3 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_VISIBLE, 200, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit4 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_VISIBLE, 260, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit5 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_VISIBLE, 100, 250, 150, 30, hwnd, NULL, hinstance, NULL ); hprzycisk1 = CreateWindowEx( 0, "BUTTON", " Licz dlugosc odcinka ", WS_CHILD WS_VISIBLE, 90, 150, 180, 30, hwnd, NULL, hinstance, NULL ); // UWAGA! Pętla komunikatów - przechwytyje wszelkie komunikaty while( GetMessage( & Komunikat, NULL, 0, 0 ) ) { TranslateMessage( & Komunikat ); DispatchMessage( & Komunikat ); return Komunikat.wParam; // obsluga zdarzen - czyli co ma wydarzyc sie po uzyciu danej kontrolki - nacisnieciu, wpisaniu, wybraniu itp LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch( msg ) { // obsługa zdarzenia zamykania okna case WM_CLOSE: DestroyWindow( hwnd ); case WM_DESTROY: PostQuitMessage( 0 );

3 // obsluga zdarzen "nacisniecia" jednego z przycieskow case WM_COMMAND: double liczba1, liczba2, liczba3, liczba4, wynik; char wynikchar[20]; // kontrolki rozroznia sie po nazwie - uchwycie // kiedy zostanie nacisniety jeden z przyciskow if( (HWND)lParam == hprzycisk1 ) { int textlength1 = GetWindowTextLength(hEdit1) + 1; int textlength2 = GetWindowTextLength(hEdit2) + 1; int textlength3 = GetWindowTextLength(hEdit3) + 1; int textlength4 = GetWindowTextLength(hEdit4) + 1; if(textlength1==1 textlength2==1 textlength3==1 textlength4==1) { int odp=messagebox( NULL, "Wpisz dane", "Brak wszystkich danych", MB_OK MB_ICONWARNING); return 0; liczba1=chartodouble(hedit1); liczba2=chartodouble(hedit2); liczba3=chartodouble(hedit3); liczba4=chartodouble(hedit4); wynik=sqrt(pow(liczba3-liczba1, 2) + pow(liczba4-liczba2, 2)); sprintf(wynikchar,"%0.8f",wynik); SetWindowText( hedit5, wynikchar); default: return DefWindowProc( hwnd, msg, wparam, lparam ); return 0; // przykladowa funkcja - konwersja double CharToDouble(HWND okno) { int textlength= GetWindowTextLength(okno) + 1; char *textbuffer = new char[textlength]; GetWindowText(okno, textbuffer, textlength); double liczba=atof(textbuffer); delete []textbuffer; return liczba;

4 #include <windows.h> #include <iostream> #include <stdlib.h> #include "interval.h" Przykład 1 #define ID_RB1 101 #define ID_RB2 102 #define ID_CB1 103 #define ID_P6 104 #define ID_T3 105 LPSTR NazwaKlasy = "Klasa Okienka"; MSG Komunikat; // definicja nazw kontrolek HWND hprzycisk1, hprzycisk2, hprzycisk3, hprzycisk4, hprzycisk5, hprzycisk6, hedit1, hedit2, hedit3, hedit4, hedit5, htekst1, htekst2, htekst3, hrb1, hrb2, hcb1; // deklaracja własnej funkcji double CharToDouble(HWND okno); LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ); // WinMain zamiast main int WINAPI WinMain( HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow ) { WNDCLASSEX wc; wc.cbsize = sizeof( WNDCLASSEX ); wc.style = 0; wc.lpfnwndproc = Panel; wc.cbclsextra = 0; wc.cbwndextra = 0; wc.hinstance = hinstance; wc.hicon = LoadIcon( NULL, IDI_APPLICATION ); wc.hcursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrbackground =( HBRUSH )( COLOR_WINDOW+23); // kolor formatki poprzez zmiane liczby wc.lpszmenuname = NULL; wc.lpszclassname = NazwaKlasy; wc.hiconsm = LoadIcon( NULL, IDI_APPLICATION ); // rejestrowanie okna if(!registerclassex( & wc ) ) { MessageBox( NULL, "Blad rejestracji okna!", "Error.", MB_ICONEXCLAMATION MB_OK ); return 1; //tworzenie panelu (okna) HWND hwnd=createwindowex( WS_EX_CLIENTEDGE, NazwaKlasy, "Panel obliczen", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 450, NULL, NULL, hinstance, NULL ); if( hwnd == NULL ) { MessageBox( NULL, "Nie udalo sie utworzyc okna", "Error", MB_ICONEXCLAMATION ); return 1;

5 ShowWindow( hwnd, ncmdshow ); UpdateWindow( hwnd ); // tworzenie kontrolek tj editow, buttonów itp htekst1=createwindowex( 0, "STATIC", "Podaj dane", WS_CHILD WS_VISIBLE SS_CENTER, 100, 50, 120, 20, hwnd, NULL, hinstance, NULL ); htekst2=createwindowex( 0, "STATIC", "Wynik obliczen", WS_CHILD WS_VISIBLE, 100, 200, 120, 20, hwnd, NULL, hinstance, NULL ); htekst3=createwindowex( 0, "STATIC", "", WS_CHILD WS_VISIBLE, 570, 100, 130, 20, hwnd, (HMENU) ID_T3, hinstance, NULL ); hedit1 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 100, 100, 80, 30, hwnd, NULL, hinstance, NULL ); hedit2 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 200, 100, 80, 30, hwnd, NULL, hinstance, NULL ); hedit3 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_VISIBLE, 100, 250, 150, 30, hwnd, NULL, hinstance, NULL ); hedit4 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_BORDER, 100, 280, 60, 30, hwnd, NULL, hinstance, NULL ); hedit5 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_BORDER, 170, 280, 60, 30, hwnd, NULL, hinstance, NULL ); hprzycisk1 = CreateWindowEx( 0, "BUTTON", "+", WS_CHILD WS_VISIBLE, 100, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk2 = CreateWindowEx( 0, "BUTTON", "-", WS_CHILD WS_VISIBLE, 140, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk3 = CreateWindowEx( 0, "BUTTON", "*", WS_CHILD WS_VISIBLE, 180, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk4 = CreateWindowEx( 0, "BUTTON", "/", WS_CHILD WS_VISIBLE, 220, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk5 = CreateWindowEx( 0, "BUTTON", "p^2", WS_CHILD WS_VISIBLE, 260, 150, 40, 30, hwnd, NULL, hinstance, NULL ); hprzycisk6 = CreateWindowEx( 0, "BUTTON", "Analizuj", WS_CHILD WS_VISIBLE, 420, 220, 120, 30, hwnd, (HMENU) ID_P6, hinstance, NULL ); hrb1 = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Opcja 1", WS_CHILD WS_VISIBLE BS_AUTORADIOBUTTON, 400, 100, 150, 20, hwnd, (HMENU) ID_RB1, hinstance, NULL ); hrb2 = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Opcja 2", WS_CHILD WS_VISIBLE BS_AUTORADIOBUTTON, 400, 135, 150, 20, hwnd, (HMENU) ID_RB2, hinstance, NULL ); hcb1 = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Checkbox", WS_CHILD WS_VISIBLE BS_AUTOCHECKBOX, 400, 180, 150, 20, hwnd, (HMENU) ID_CB1, hinstance, NULL ); // UWAGA! Pętla komunikatów - przechwytyje wszelkie komunikaty while( GetMessage( & Komunikat, NULL, 0, 0 ) ) { TranslateMessage( & Komunikat ); DispatchMessage( & Komunikat ); return Komunikat.wParam; // obsluga zdarzen - czyli co ma wydarzyc sie po uzyciu danej kontrolki - nacisnieciu, wpisaniu, wybraniu itp LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch( msg ) { // obsługa zdarzenia zamykania okna case WM_CLOSE: DestroyWindow( hwnd ); case WM_DESTROY: PostQuitMessage( 0 ); // obsluga zdarzen "nacisniecia" jednego z przycieskow case WM_COMMAND: double liczba1, liczba2, wynik; char *wynikchar;

6 // kontrolki rozroznia sie po nazwie - uchwycie // kiedy zostanie nacisniety jeden z przyciskow if( (HWND)lParam == hprzycisk1 (HWND)lParam == hprzycisk2 (HWND)lParam == hprzycisk3 (HWND)lParam == hprzycisk4 (HWND)lParam == hprzycisk5) { int textlength1 = GetWindowTextLength(hEdit1) + 1; int textlength2 = GetWindowTextLength(hEdit2) + 1; if(textlength1==1 textlength2==1) { int odp=messagebox( NULL, "Wpisz dane", "Brak wszystkich danych", MB_YESNOCANCEL MB_ICONWARNING); if(odp==6) // 1-OK 2-Anuluj(Cancel) 3-Przerwij(Abort) 4-Ponów próbę(retry) 5-Ignoruj(Ignore) 6-Tak(Yes) 7-Nie(No) MessageBox(HWND_DESKTOP,"Nacisnąłeś przycisk TAK","Informacja",MB_OK); return 0; liczba1=chartodouble(hedit1); liczba2=chartodouble(hedit2); wynikchar=new char[textlength1+textlength2+10]; // ukrywanie i odkrywanie Editow 3->wynik + - * / 4 i 5 wynik operacji na przedziale if(( HWND ) lparam == hprzycisk5) { ShowWindow(hEdit4, SW_SHOW); ShowWindow(hEdit5, SW_SHOW); ShowWindow(hEdit3, SW_HIDE); else { ShowWindow(hEdit4, SW_HIDE); ShowWindow(hEdit5, SW_HIDE); ShowWindow(hEdit3, SW_SHOW); //realizacja obliczen if(( HWND ) lparam == hprzycisk1 ) wynik=liczba1+liczba2; if(( HWND ) lparam == hprzycisk2 ) wynik=liczba1-liczba2; if(( HWND ) lparam == hprzycisk3 ) wynik=liczba1*liczba2; if(( HWND ) lparam == hprzycisk4 ) wynik=liczba1/liczba2; // potegowanie przedzialu if(( HWND ) lparam == hprzycisk5 ) { SetWindowText( hedit4, szer_inter(liczba1, liczba2, 1) ); SetWindowText( hedit5, szer_inter(liczba1, liczba2, 2) ); delete []wynikchar; if( (HWND)lParam == hprzycisk1 (HWND)lParam == hprzycisk2 (HWND)lParam == hprzycisk3 (HWND)lParam == hprzycisk4 ) { sprintf(wynikchar,"%0.8f",wynik); SetWindowText( hedit3, wynikchar); delete []wynikchar;

7 // troszke inaczej - uwzgledninie identyfikatorów kontrolek zdefiniowanych poprzez #define if(( HWND ) lparam == hrb1 ( HWND ) lparam == hrb2 ( HWND ) lparam == hcb1 ( HWND ) lparam == hprzycisk6) { switch( wparam ) { case ID_RB1: SetWindowText( htekst3, "Aktywna opcja 1" ); case ID_RB2: SetWindowText( htekst3, "Aktywna opcja 2" ); case ID_CB1: if(isdlgbuttonchecked(hwnd, ID_CB1 ) == BST_CHECKED) { SetWindowText( htekst3, "Zaznaczono CB"); else SetWindowText( htekst3, "Odznaczono CB"); case ID_P6: if(isdlgbuttonchecked(hwnd, ID_RB1 ) == BST_CHECKED) MessageBox( hwnd, "Wybrano opcję 1", "Info", MB_ICONINFORMATION ); if(isdlgbuttonchecked(hwnd, ID_RB2 ) == BST_CHECKED) MessageBox( hwnd, "Wybrano opcję 2", "Info", MB_ICONINFORMATION ); default: MessageBox( hwnd, "Obiekt widmo;)", "Info", MB_ICONINFORMATION); //CheckDlgButton( hwnd, ID_CB1, BST_CHECKED ); //ustaw "fajeczkę" //CheckDlgButton( hwnd, ID_CB1, BST_UNCHECKED ); //usuń "fajeczkę" default: return DefWindowProc( hwnd, msg, wparam, lparam ); return 0;

8 // przykladowa funkcja - konwersja double CharToDouble(HWND okno) { int textlength= GetWindowTextLength(okno) + 1; char *textbuffer = new char[textlength]; GetWindowText(okno, textbuffer, textlength); double liczba=atof(textbuffer); delete []textbuffer; return liczba; ********************** plik nagłówkowy interval.h ******************* #ifndef INTERVAL_H #define INTERVAL_H #include<math.h> using namespace std; class interval { private: double pocz, kon; public: interval() {pocz=0; kon=0; interval(double x, double y) {pocz=x; kon=y; void ustal_pocz(double x) {pocz=x; void ustal_kon(double x) { kon=x; double zwroc_pocz() {return pocz; double zwroc_kon() {return kon; void wyswietl() { cout<<endl<<" ["<<pocz<<","<<kon<<"]"<<endl; ; interval operator+(interval A, interval B) { interval W; W.ustal_pocz(A.zwroc_pocz()+B.zwroc_pocz()); W.ustal_kon(A.zwroc_kon()+B.zwroc_kon()); return W;

9 interval operator*(interval A, interval B) { interval W; double Ap, Ak, Bp, Bk; Ap=A.zwroc_pocz(); Ak=A.zwroc_kon(); Bp=B.zwroc_pocz(); Bk=B.zwroc_kon(); W.ustal_pocz(min(Ap*Bp, min(ap*bk, min(ak*bp, Ak*Bk)))); W.ustal_kon(max(Ap*Bp, max(ap*bk, max(ak*bp, Ak*Bk)))); return W; char* szer_inter(double x, double y, int z) { interval A(x,y); A=A*A; char *W; W=new char[20]; if(z==1) { sprintf(w,"%0.3f",a.zwroc_pocz()); else sprintf(w,"%0.3f",a.zwroc_kon()); return W; delete []W; #endif

Podstawy programowania w języku C dla środowiska Windows

Podstawy programowania w języku C dla środowiska Windows Podstawy programowania w języku C dla środowiska Windows Część pierwsza Windows API wprowadzenie Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera

Bardziej szczegółowo

Projektowanie i programowanie aplikacji biznesowych. Wykład 2

Projektowanie i programowanie aplikacji biznesowych. Wykład 2 Projektowanie i programowanie aplikacji biznesowych Wykład 2 Kontrolki w Windows API Aby korzystać z kontrolek należy dołączyć plik nagłówkowy o nazwie commctrl.h oraz bibliotekę o nazwie libcomctl32.a.

Bardziej szczegółowo

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); 1. Pierwszy program pod Windows 1/8 Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); UINT unsigned int DWORD 32-bitowy unsigned int. LPSTR - wskaźnik do

Bardziej szczegółowo

Programowanie w środowisku Windows. mgr inż. Krzysztof Mossakowski k.mossakowski@mini.pw.edu.pl http://www.mini.pw.edu.

Programowanie w środowisku Windows. mgr inż. Krzysztof Mossakowski k.mossakowski@mini.pw.edu.pl http://www.mini.pw.edu. Programowanie w środowisku Windows mgr inż. k.mossakowski@mini.pw.edu.pl Plan wykładu 1. Okna, komunikaty, czas, błędy 2. Typy, struktury, makra, mysz, klawiatura, wersje 3. GDI 4. Zasoby, okna dialogowe,

Bardziej szczegółowo

Podstawy programowania w języku C dla środowiska Windows

Podstawy programowania w języku C dla środowiska Windows Podstawy programowania w języku C dla środowiska Windows Część druga Windows API pierwsze kroki Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera

Bardziej szczegółowo

Podstawowy projekt OpenGL utworzony przy użyciu środowisk programistycznych firmy Microsoft.

Podstawowy projekt OpenGL utworzony przy użyciu środowisk programistycznych firmy Microsoft. Podstawowy projekt OpenGL utworzony przy użyciu środowisk programistycznych firmy Microsoft. Autor: Radosław Płoszajczak Spis treści I. Wymagania i utworzenie projektu w Visual Studio 2005...2 II. Absolutne

Bardziej szczegółowo

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

Programowanie w środowiskach RAD Język C++ w środowiskach RAD Programowanie w środowiskach RAD Język C++ w środowiskach RAD Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Programowanie sterowane zdarzeniami Geneza, koncepcja, rodzaje, przykłady Jeszcze

Bardziej szczegółowo

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Interfejs w MFC 1. Tworzenie nowego projektu Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej: Następnie wybieramy opcje jak na rysunku: Następnie wybieramy

Bardziej szczegółowo

Wprowadzenie do programowania w Windows

Wprowadzenie do programowania w Windows Wprowadzenie do programowania w Windows Sławomir Samolej Rzeszów, 1999 1. Wstęp Od kilku lat dominującym systemem operacyjnym na rynku komputerów osobistych jest Microsoft Windows. Wersje systemu Windows

Bardziej szczegółowo

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie I. Wprowadzenie do programowania w Windows

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie I. Wprowadzenie do programowania w Windows Laboratorium Grafiki Komputerowej i Animacji Ćwiczenie I Wprowadzenie do programowania w Windows Sławomir Samolej Rzeszów, 2012 1. Wstęp Od kilku lat dominującym systemem operacyjnym na rynku komputerów

Bardziej szczegółowo

1.1. Programowanie dla Windows. Programowanie dla Windows. Komunikaty w systemie Windows. Application Programming Interface

1.1. Programowanie dla Windows. Programowanie dla Windows. Komunikaty w systemie Windows. Application Programming Interface 1 Katedra Optoelektroniki i Systemów Elektronicznych 2 Oprogramowanie Systemów Elektronicznych Zagadnienia: Temat wykładu 1. 2. Etapy tworzenia okna 3. 4. 5. 6. 3 Application Programming Interface 4 jest

Bardziej szczegółowo

Komunikaty w Windows. Jarosław Kuchta

Komunikaty w Windows. Jarosław Kuchta Komunikaty w Windows Jarosław Kuchta Okna i procedury okien W Windows każde okno ma swoją procedurę sterującą. LRESULT CALLBACK WndProc ( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { } gdzie:

Bardziej szczegółowo

Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych

Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych Autor: Pawe³ Borkowski ISBN: 978-83-246-1881-1 Format: 158x235, stron: 456 Poznaj tajniki tworzenia aplikacji dla Windows Jak

Bardziej szczegółowo

1. Wstęp. 2. Szablon. 1 WinApi Wstęp i szablon. Czym jest API?

1. Wstęp. 2. Szablon. 1 WinApi Wstęp i szablon. Czym jest API? 1 WinApi Wstęp i szablon 1. Wstęp Czym jest API? API Windows to zestaw funkcji, które pozwalają zbudować praktycznie dowolną aplikację działającą w systemach Windows 95, 98, NT, 2000 oraz CE. Za ich pomocą

Bardziej szczegółowo

Projektowanie i programowanie aplikacji biznesowych. Wykład 4

Projektowanie i programowanie aplikacji biznesowych. Wykład 4 Projektowanie i programowanie aplikacji biznesowych Wykład 4 1 Kontrolka ListView ListView to jedna z przydatniejszych kontrolek, pozwalająca wyświetlać informacje w postaci tabeli. Przed utworzeniem kontrolki

Bardziej szczegółowo

Programowanie współbieżne. Tworzenie i obsługa semaforów oraz wątków przy użyciu funkcji Windows API.

Programowanie współbieżne. Tworzenie i obsługa semaforów oraz wątków przy użyciu funkcji Windows API. Programowanie współbieżne Tworzenie i obsługa semaforów oraz wątków przy użyciu funkcji Windows API. Cel zadania. Celem zadania jest poznanie podstawowych funkcji Windows API umożliwiających tworzenie

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Zegary. Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje.

Zegary. Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje. Zegary Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje. Zaczniemy od funkcji przetwarzania komunikatów: //procedura okna LRESULT CALLBACK WndProc(HWND hwnd, UINT

Bardziej szczegółowo

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

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

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec

PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec Co to jest GUI? Graphical User Interface (GUI), czyli po prostu interfejs użytkownika (UI). Najpopularniejsze GUI dla C++: Qt WinAPI MFC

Bardziej szczegółowo

Załącznik do ćwiczenia w środowisku MASM32 wersji 10. Tryb graficzny w systemie Windows

Załącznik do ćwiczenia w środowisku MASM32 wersji 10. Tryb graficzny w systemie Windows Załącznik do ćwiczenia w środowisku MASM32 wersji 10 7.7. Programowanie aplikacji graficznej Tryb graficzny w systemie Windows 7.7.1. Współdziałanie aplikacji graficznej z systemem Windows Aplikacja graficzna

Bardziej szczegółowo

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); 1. Pierwszy program pod Windows 1/8 Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); UINT unsigned int DWORD 32-bitowy unsigned int. LPSTR - wskanik do łacuch

Bardziej szczegółowo

Programowanie pod Windows

Programowanie pod Windows Programowanie pod Windows Wersja 0.99 Uwaga: notatki są w fazie rozwoju. Brakujące elementy będą sukcesywnie uzupełniane. Dokument może być bez zgody autora rozpowszechniany, zabrania się jedynie czerpania

Bardziej szczegółowo

Co nie powinno być umieszczane w plikach nagłówkowych:

Co nie powinno być umieszczane w plikach nagłówkowych: Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct

Bardziej szczegółowo

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Programowanie w języku C++ z użyciem Windows API

Programowanie w języku C++ z użyciem Windows API Programowanie w języku C++ z użyciem Windows API Autor: Mateusz Ferenc Data opracowania: 30 maja 2012 r. Windows API jest jedną z bibliotek programistycznych przeznaczonych do pisania programów na platformę

Bardziej szczegółowo

INSTRUKCJE REPETYCYJNE PĘTLE

INSTRUKCJE REPETYCYJNE PĘTLE INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ): while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy 2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać

Bardziej szczegółowo

#include "stdafx.h" #include <iostream> #include "windows.h" using namespace std;

#include stdafx.h #include <iostream> #include windows.h using namespace std; // W8_3.cpp : Defines the entry point for the console application. // Przeciazenie operatorow new, delete // Przeciazenie globalne: przeciazone operatory new, delete // dzialaja dla danych dowolnych //

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) Języki i Paradygmaty Programowania Laboratorium 1 Obiekty i klasy C++ Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) UWAGA! Umiejętność tworzenia

Bardziej szczegółowo

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

Obliczenie azymutu ze współrzędnych wersja C++ Builder Obliczenie azymutu ze współrzędnych wersja C++ Builder Specyfikacja problemu algorytmicznego Problem algorytmiczny: Obliczenie azymutów i długości, gdy dana jest tablica współrzędnych punktów (Nr X Y).

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Plik klasy. h deklaracje klas

Plik klasy. h deklaracje klas Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 8 Przykład realizowany na wykładzie Klasy StringBad i String. Wstępne pliki załaczone jako źródła.

Bardziej szczegółowo

Cechy systemu Windows

Cechy systemu Windows Cechy systemu Windows Wielozadaniowość Współdzielenie zasobów sprzętowych: ekran klawiatura mysz pamięć dysk Wymiana danych pomiędzy aplikacjami Niezależna sprzętowo grafika Zdefiniowany w systemie interfejs

Bardziej szczegółowo

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja

Bardziej szczegółowo

Do nich też i tylko do nich będzie się w tym rozdziale odnosić sam termin okno.

Do nich też i tylko do nich będzie się w tym rozdziale odnosić sam termin okno. 2 ANATOMIA OKNA Nauczycielem wszystkiego jest praktyka. Juliusz Cezar W systemie Windows składniki interfejsu użytkownika nazywamy oknami. Nadmieniłem w poprzednim rozdziale, iż określeniem tym obdarzamy

Bardziej szczegółowo

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski. - - uzupełnienie notatek: dr Jerzy Białkowski - - 1-2 - - - 1 #include 2 #include 3 # include 4 using namespace std ; 5 6 class Punkt { 7 8 private : 9 double

Bardziej szczegółowo

Projektowanie klas c.d. Projektowanie klas przykład

Projektowanie klas c.d. Projektowanie klas przykład Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej

Bardziej szczegółowo

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

Bardziej szczegółowo

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja Opis zagadnieo 1-3 Iteracja, rekurencja i ich realizacja Iteracja Iteracja to czynnośd powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa

Bardziej szczegółowo

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Składnia C++ Programowanie Obiektowe Mateusz Cicheński Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory

Bardziej szczegółowo

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe

Bardziej szczegółowo

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 5 Algorytmy i wskaźniki dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Plan Zapis i odczyt z plików tekstowych O tablicach ciąg dalszy Referencje

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane

Bardziej szczegółowo

Języki programowania - podstawy

Języki programowania - podstawy Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania

Bardziej szczegółowo

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia Struktura programu W programach napisanych w C++ litery wielkie i małe są rozróżniane i często po nauce Pascala są przyczyną błędów. Program napisany w języku C++ składa się zazw yczaj z następujących

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Rodzina protokołów TCP/IP. Aplikacja: ipconfig.

Rodzina protokołów TCP/IP. Aplikacja: ipconfig. Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:

Bardziej szczegółowo

Wykład 9 2014-06-20 09:37 PP2_W9

Wykład 9 2014-06-20 09:37 PP2_W9 Wykład 9 Przykłady programów z wykorzystaniem klas - przykład funkcji operatorowych - obiektowa implementacja listy jednokierunkowej kopiowanie obiektów - klasa "latający napis" Pozycjonowanie w plikach

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane

Bardziej szczegółowo

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 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc Rok akademicki 2016/2017, Wykład nr 4 2/45 Plan wykładu nr 4 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3 Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

DLL Injection. Przejęcie kontroli nad procesem

DLL Injection. Przejęcie kontroli nad procesem MACIEJ PAKULSKI DLL Injection Stopień trudności Współczesne systemy operacyjne pozwalają uruchomić wiele procesów, z których część posiada wyższy priorytet niż inne oraz może korzystać z większej ilości

Bardziej szczegółowo

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis. Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,

Bardziej szczegółowo

Programowanie obiektowe język C++

Programowanie obiektowe język C++ Programowanie obiektowe język C++ Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Podziękowanie: Chcę podziękować dr inż.. Grzegorzowi Hałdasiowi

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:

Bardziej szczegółowo

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk.   tel: Konsultacje: piątek: Języki Programowania Prowadząca: dr inż. Hanna Zbroszczyk e-mail: gos@if.pw.edu.pl tel: +48 22 234 58 51 Konsultacje: piątek: 12.00 13.30 www: http://www.if.pw.edu.pl/~gos/students/jp Politechnika Warszawska

Bardziej szczegółowo

Programowanie Procedurale

Programowanie Procedurale Programowanie Procedurale Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27 Zbiór ctime zawiera deklarcję

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

Rysowanie punktów na powierzchni graficznej Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.

Bardziej szczegółowo

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 2

PARADYGMATY PROGRAMOWANIA Wykład 2 PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych

Bardziej szczegółowo

Qt sygnały i designer

Qt sygnały i designer Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ Programowanie w języku C++ Część szósta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego

Bardziej szczegółowo

Wykład IX. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład IX. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład IX - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Biblioteka FLTK FLTK - Fast Light Toolkit - biblioteka GUI,

Bardziej szczegółowo

Ćwiczenia 9 - Swing - część 1

Ćwiczenia 9 - Swing - część 1 Ćwiczenia 9 - Swing - część 1 Utwórz nowy projekt wybierając: File->New Project->Java Application, przy czym odznacz opcję Create Main Class. Kliknij prawym przyciskiem myszy na podfolder Source Packages

Bardziej szczegółowo

1.1. Programowanie w Visual C++ Programowanie w Visual C++ Środowisko programisty Visual C++ Środowisko programisty Visual C++

1.1. Programowanie w Visual C++ Programowanie w Visual C++ Środowisko programisty Visual C++ Środowisko programisty Visual C++ 1 Katedra Optoelektroniki i Systemów Elektronicznych 2 Programowanie w Organizacja i Oprogramowanie Systemów Elektronicznych Temat wykładu Programowanie w 1. Środowisko programisty 5. 6. 3 Środowisko programisty

Bardziej szczegółowo

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE

Bardziej szczegółowo

Najnowsza wersja dokumentu dostępna pod adresem

Najnowsza wersja dokumentu dostępna pod adresem Jacek Matulewski http://www.fizyka.umk.pl/~jacek/ Hooks Wersja α Toruń, 15 grudnia 2006 Najnowsza wersja dokumentu dostępna pod adresem http://www.fizyka.umk.pl/~jacek/dydaktyka/cpp/cpp-hooks.pdf Źródła

Bardziej szczegółowo

Operatory na rzecz typu TString

Operatory na rzecz typu TString Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t

Bardziej szczegółowo

Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne

Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Przeciążenie funkcji polega na użyciu funkcji z tą samą nazwą, które mają różne listy argumentów(różne typy, różna ilość lub to i inne).

Bardziej szczegółowo

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Składnia C++ Programowanie Obiektowe Mateusz Cicheński Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo

Bardziej szczegółowo

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

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo