Programowanie wizualne

Slides:



Advertisements
Podobne prezentacje
Programowanie wizualne
Advertisements

Praca z plikami tekstowymi
Projektowanie programu obsługującego gniazdka
MS Access 2003 Kwerendy Paweł Górczyński.
Tworzenie prezentacji w programie PowerPoint
Programowanie w języku Visual Basic
Systemy mobilne i komunikacja bezprzewodowa Ćwiczenie 1 Jarosław Kurek WZIM SGGW 1.
SO – LAB3 Wojciech Pieprzyca
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Programowanie Wizualne WYKŁAD 3
Systemy operacyjne - Windows
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Algorytmy.
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
WINDOWS 95.
Malowanie na ekranie- Paint (Paintbrush).
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Opracowała: Iwona Kowalik
Mateusz Antonow. Tekst Obraz Galeria Media Kształty & linie Przyciski & menu Sklep Internetowy Ustawienia Społecznościowe Aplikacje 3. Dodaj.
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Wskazówki dotyczące pisania tekstów
Instrukcja USOS Rejestracja na zajęcia obieralne wersja by Marek Opacki.
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
Instrukcja USOS Płatności wersja by Marek Opacki.
Temat: Operacje na plikach i folderach str.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
ANNA BANIEWSKA SYLWIA FILUŚ
(C) Studenckie Koło Naukowe Bibliotekoznawców UŁ Kurs komputerowy dla słuchaczy Łódzkiego Uniwersytetu Trzeciego Wieku Zajęcia drugie Obsługa edytora tekstu.
Instrukcja obsługi systemu CMS Przygotowanie
Autorka : Gosia Okrasa Kl. 2 gim. CZĘŚĆ I - PODSTAWY
BAZA DANYCH AMATORSKIEJ DRUŻYNY PIŁKI HALOWEJ
TECHNOLOGIE INFORMATYCZNE Tydzień 6
TECHNOLOGIE INFORMATYCZNE Tydzień 7
Wzorce slajdów, animacje, różne orientacje slajdów
Robimy własne notatki - Notatnik
PROGRAMOWANIE KOMPUTERÓW
Na pasku komunikatów kliknij przycisk Włącz edytowanie,
MICROSOFT Access TWORZENIE MAKR
Formatowanie tekstu w Microsoft Word
Współpraca z innymi aplikacjami. Organizacja informacji 10 XII 2013.
Visual Basic w Excelu.
ARKUSZ KALKULACYJNY EXCEL wiadomości wstępne
Ujarzmić Worda Agnieszka Terebus.
Projektowanie stron WWW
Wzorce slajdów programu microsoft powerpoint
Korespondencja seryjna
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Program Logomocja.
Dofinansowano ze środków Ministra Kultury i Dziedzictwa Narodowego
Praca z wzorcami materiałów informacyjnych j następnie naciśnij przycisk F5 lub kliknij pozycję Pokaz slajdów > Od początku w celu rozpoczęcia kursu. Na.
PULPIT WINDOWS.
Visual Basic w Excelu - podstawy
prezentacja multimedialna
Wzorce slajdów, animacje, różne orientacje slajdów
Kolumny, tabulatory, tabele, sortowanie
Opracowanie mgr Karol Adamczyk
Formatowanie dokumentów
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Operacje na plikach i folderach
Tworzenie wykresów część I
Style i szablony w MS Word 2010
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
 Cele operacyjne:  Uczeń:   doskonali:   · zasady tworzenia tabeli;  · sposoby formatowania tekstu w programie Word;  · umiejętność wyrównania.
Wykład 4 Dr Aneta Polewko-Klim
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Wyższa Szkoła Ekologii i Zarządzania
Excel Informacje różne.
Zapis prezentacji:

Programowanie wizualne PW – LAB3 Wojciech Pieprzyca

Pasek narzędziowy (1) Pasek narzędziowy możemy łatwo stworzyć poprzez komponent ToolBar umieszczony na palecie komponentów na zakładce Win32. Na pasku narzędziowym klikając prawym klawiszem myszy możemy dodać jeden z dwóch elementów: New Button – nowy przycisk na pasku z możliwością dodania do niego ikony, New Separator – odstęp między poszczególnymi przyciskami. Zanim będziemy mogli użyć wybranych ikon konieczne jest dodania do formularza nowego komponentu o nazwie ImageList (Win32). Klikając dwukrotnie na tym komponencie przechodzimy do Image Editor, gdzie możemy dowolnie dodawać/usuwać ikony, które są nam potrzebne w ramach opracowywanego programu.

Pasek narzędziowy (2) Związanie zestawu ikon z paskiem narzędziowym odbywa się poprzez wybranie jedej z list ikon (ImageList) jako właściwości Images paska. Aby przyporządkować konkretną ikonę do konkretnego przycisku na pasku narzędziowym używamy właściwości ImageIndex przycisku na pasku. Podobnie w przypadku menu głównego możemy po stworzeniu listy ikon przyporządkować ją do komponentu MainMenu (właściwość Images), a następnie wybrać konkretne ikony dla poszczególnych pozycji menu (właściwość ImageIndex).

Pasek stanu Pasek stanu pełni zwykle funkcję informacyjną np. w edytorze kodu Borland Builder C++ podaje się na nim aktualnie edytowany wiersz i kolumnę oraz stan klawisza Insert. Pasek dzieli się na części (tzw. panele). Dodanie nowego panelu do paska odbywa się poprzez naciśnięcie prawego klawisza myszy na panelu, wybraniu opcji Panels Editor i dodaniu nowych paneli (opcja Add New). Dodatkowo można ustalić szerokość danego panelu (właściwość Width). Zapis tekstu do panelu odbywa się z poziomu kodu za pomocą instrukcji: StatusBar1->Panels->Items[nr]->Text = jakisText;

Komponent RichEdit Komponent RichEdit służy edycji wieloliniowego pola tekstowego. Posiada on funkcjonalność komponentu Memo, a do tego potrafi wczytać duże pliki, ustawić marginesy i wyrównywać tekst. RichEdit znajduje się na zakładce Win32. Ważniejsze właściwości i metody RichEdit to: Align – wyrównanie, opcja alClient ustala rozmiar okna edycyjnego na cały pozostały obszar programu (dlatego warto ten komponent dodawać na samym końcu). RichEdit1->Lines>Count – aktualna liczba wierszy zapisanego tekstu, RichEdit1->Clear() – czyści obszar edycyjny, RichEdit1->Lines->LoadFromFile(nazwaPliku) – ładuje zawartość pliku o podanej nazwie do obszaru edycyjnego, RichEdit1->Lines->SaveToFile(nazwaPliku) – zapisuje zawartość obszaru edycyjnego do pliku o podanej nazwie RichEdit1->Modified – określa czy tekst był modyfikowany od czasu ostatniego zapisu do pliku.

OpenDialog Komponent OpenDialog będzie nam służył do wyboru nazwy pliku do otwarcia. Jego użycie wiąże się z umieszczeniem na formularzu niewidocznego komponentu OpenDialog a później wywołaniu metody OpenDialog1->Execute(). Metoda ta zwraca wartość 0 jeżeli użytkownik nie wybrał pliku, i wartości różne od 0, gdy użytkownik wybrał plik. Można zatem to sprawdzać za pomocą instrukcji warunkowej if: if (OpenDialog1->Execute()) { //mamy do dyspozycji nazwę otwieranego pliku //poprzez OpenDialog1->FileName } Dodatkowo właściwość Filter pozwala nam ustalić rozszerzenia plików jakie będą wyświetlane przy wyborze pliku.

SaveDialog Komponent SaveDialog będzie nam służył do wyboru nazwy pliku do zapisu. Jego użycie wiąże się z umieszczeniem na formularzu niewidocznego komponentu SaveDialog a później wywołaniu metody SaveDialog1->Execute(). Metoda ta zwraca wartość 0 jeżeli użytkownik nie wybrał pliku, i wartości różne od 0, gdy użytkownik wybrał plik. Można zatem to sprawdzać za pomocą instrukcji warunkowej if: if (SaveDialog1->Execute()) { //mamy do dyspozycji nazwę otwieranego pliku //poprzez SaveDialog1>FileName } Dodatkowo właściwość Filter pozwala nam ustalić rozszerzenia plików jakie będą wyświetlane przy wyborze pliku.

FontDialog Komponent FontDialog służy do wyboru parametrów używanej czcionki. W wyniku wywołania metody Execute, parametry wybranej czcionki zapisywane są we właściwości Font komponentu FontDialog. Właściwość ta to obiekt typu TFont. if (FontDialog1->Execute()) { //mamy do dyspozycji wybraną czcionkę //poprzez FontDialog1->Font }

ColorDialog Komponent ColorDialog służy do wyboru koloru. W wyniku wywołania metody Execute, wybrany kolor zapisywany jest we właściwości Color komponentu ColorDialog. Właściwość ta to obiekt typu TColor. if (ColorDialog1->Execute()) { //mamy do dyspozycji wybrany kolor //poprzez ColorDialog1->Color }

Okna z komunikatami Application->MessageBox(”komunikat”,”tytuł okna”, przyciski|ikona); Przykład: int result = Application->MessageBox(”Plik został zmieniony. Czy zapisać?”, ”Uwaga”, MB_YESNOCANCEL|MB_ICONWARNING); W zmiennej result znajdzie się numer wybranej opcji. Można sprawdzać jaka opcja została wybrana poprzez porównanie zmiennej result z predefiniowanymi wartościami np. if (result == IDYES) if (result==IDCANCEL) itp. Rodzaje przycisków Rodzaje ikon

Komponent TTimer Komponent Timer pozwala uruchamiać określony kod co jakiś okres czasu (Timer umieszczony jest na zakładce System). Posiada ona właściwość Interval, która określa w milisekundach odstępy czasu pomiędzy kolejnymi wywoływaniami kodu. Wywoływany kod umieszcza się w metodzie obsługi zdarzenia onTimer. Komponent Timer posiada także właściwość Enabled, która pozwala włącząć/wyłączać odliczanie czasu (wartości true/false).

Ćwiczenia (1) menu pasek narzędziowy obszar edycyjny pasek stanu Naszym zadaniem będzie napisanie prostego edytora tekstu. Komponent edycyjny to RichEdit, należy ustalić jego właściwość Align na alClient co spowoduje, że będzie on rozszerzony na całe okno programu. Pasek stanu proszę podzielić na dwa panele (szerokość 150px i 150 px). W menu Plik dostępne są opcje Nowy, Otwórz, Zapisz i Zamknij. W menu Edycja proszę umieścić opcje Kopiuj, Wklej, Wytnij. Do poszczególnych przycisków i opcji menu proszę przyporządkować ikony (wojtek.wsi.edu.pl/ikony). menu pasek narzędziowy obszar edycyjny pasek stanu

Ćwiczenia (2) Proszę napisać kod dla tworzenia nowego pliku. Powinno to polegać na wyczyszczeniu obszaru edycyjnego oraz paneli na pasku statusu. Uwaga: kod powinien być związany z odpowiednią opcją w menu, spowoduje to utworzenie odpowiednich metod obsługi zdarzenia wyboru opcji menu. Proszę napisać kod otwarcia nowego pliku. Koncepcja: jeżeli użytkownik wybrał plik (użyć OpenDialog){ wyczyść obszar edycyjny wczytaj plik zapisz do pierwszego panelu paska stanu liczbę wierszy zapisz do drugiego panelu paska stanu ścieżkę do pliku } Proszę ustawić właściwość FilterName (nacisnąć obok tej właściwości przycisk z trzema kropkami) dla komponentu OpenDialog1 na *.txt (zarówno Filter jak i Filter Name).

Ćwiczenia (3) Ponieważ liczba linii może zmieniać się w trakcie edycji tekstu to należy to na bieżąco monitorować. W tym celu wystarczy użyć zdarzenia onChange komponentu RichEdit, które wywoływane jest zawsze, gdy zmienia się tekst w komponencie. Obsługa tego zdarzenia powinna polegać na przypisaniu do pierwszego panelu paska stanu aktualnej liczby linii. Proszę napisać kod zapisu nowego pliku. Koncepcja: jeżeli użytkownik wybrał plik (użyć SaveDialog){ zapisz plik (ścieżka to SaveDialog1->FileName+”.txt”) zapisz do drugiego panelu paska stanu nową ścieżkę do pliku } Proszę ustawić właściwość FilterName (nacisnąć obok tej właściwości przycisk z trzema kropkami) dla komponentu SaveDialog1 na *.txt (zarówno Filter jak i Filter Name).

Ćwiczenia (4) Proszę napisać kod obsługi dla opcji Kopiuj, Wklej, Wytnij. Odpowiednie metody dla komponentu RichEdit do wywołania to: CopyToClipboard() - kopiowanie do schowka PasteFromClipboard() - wklejanie ze schowka CutToClipboard() - wycinanie do schowka Proszę napisać kod zamknięcia programu. Application->Terminate() Naciśnięcie ikony na pasku narzędziowym powinno powodować wywołanie odpowiedniej metody wcześniej napisanej dla menu (np. Nowy1Click). Nie należy zatem pisać po raz drugi tego samego kodu, ale wybrać w inspektorze obiektów dla danego przycisku z ikoną na pasku narzędziowym dla zdarzenia onClick odpowiednią metodą wcześniej już napisaną dla menu.

Ćwiczenia (5) Rozszerzyć kod tworzenia nowego pliku oraz kod otwarcia pliku: jeżeli komponent edycyjny był modyfikowany (Modified) wyświetl komunikat z zapytaniem czy zapisać plik jeżeli użytkownik wybrał opcję tak wywołaj metodę zapisu Zapisz1Click(this) jeżeli użytkownik wybrał opcję anuluj wyjdź z metody - return dotychczasowy kod Dodać do kodu zapisu pliku instrukcję: RichEdit1->Modified = false; Spowoduje to, że po zapisie komponent edycyjny będzie uznawany za niezmieniony.

Ćwiczenia (6) Dodać do menu Edycja opcję Czcionka. Wykorzystać komponent FontDialog. Zmianie powinna ulegać czcionka wykorzystywana przez komponent edycyjny RichEdit. Dodać do menu Edycja opcję Kolor tla. Wykorzystać komponent ColorDialog. Zmianie powinno ulegać tło komponentu edycyjnego RichEdit (właściwość Color). Stworzyć program wykorzystujący komponent TTimer, który co 2 sekundy będzie wywoływał kod zmieniający kolor formularza na losowo wygenerowany. Dodatkowo na formularzu umieścić przycisk, który będzie włączał/wyłączał odliczanie czasu dla tego komponentu. Losowanie kolorów zrealizować według poniższego kodu: randomize() //uruchomienie generatora liczb losowych int r = rand()%255; //(wartości losowe od 0 do 255 dla składowej r) int g = rand()%255; //(wartości losowe od 0 do 255 dla składowej g) int b = rand()%255; //(wartości losowe od 0 do 255 dla składowej b) Form1->Color = TColor(RGB(r,g,b));