Dialogi, Memo i Image. Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo.

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

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

W kodzie modułu Unit1 zdefiniuj dwie metody - składowe komponentu formatki TForm1:

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

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

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

Szybkie tworzenie grafiki w GcIde

Opis i przykłady zastosowań wybranych komponentów VCL

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

Delphi podstawy programowania. Środowisko Delphi

Wprowadzenie do systemu Delphi

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Ćwiczenie 1 Proste aplikacje - podstawowe komponenty.

Tworzenie własnych komponentów

Tablice, DataGridView

Wykład 7: Lazarus GUI

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

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

Jak napisaś edytor tekstowy w Delphi (wersja Delphi 2009)

Techniki CAD w pracy inŝyniera Aplikacja programu Autodesk Inventor 2010.

16) Wprowadzenie do raportowania Rave

Programowanie obiektowe zastosowanie języka Java SE

Podstawowe własności komponentów: nazwa komponentu

Programowanie obiektowe

Programowanie komputerów

Wykład 10 Kolekcje, pliki tekstowe, c.d. Przykład: Notatnik

PODSTAWY PROGRAMOWANIA

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

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Właściwości i metody obiektu Comment Właściwości

Wydział: ZiMK Przedmiot: Programowanie - Delphi Semestr 5

Podstawy Programowania 2

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

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

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

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

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1

Ćwiczenie 10 Generowanie plików HTML. Przygotuj program wyświetlający formatkę jak na rysunku (w fazie projektowania):

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

Lazarus dla początkujących, część III

Lazarus dla początkujących, część II

Algorytmy i struktury danych

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

Formularz MS Word. 1. Projektowanie formularza. 2. Formularze do wypełniania w programie Word

Delphi. Lazarus. Kompilatory Delphi. Linki do stron o Delphi

Kurs programowania 2 - listy

PROCAD Inventor Tools ver. 2.0

Grafika w aplikacjach lp. Jak zmienić kolor tła?

Programowanie Wizualno Obiektowe - zajęcia 2 (PWO_BCPP_2_1) Komponenty (Właściwości, Metody, Zdarzenia) Komponenty (Właściwości, Metody, Zdarzenia)

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

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Programowanie aplikacji na urządzenia mobilne

W kolejnym odcinku zajmiemy się umieszczaniem w naszym projekcie zestawu ikon służących szybkiemu korzystaniu z opcji programu.

Rozdział 9. Grupowanie komponentów Pola opcji i pola wyboru Komponenty grupujące Ramka TBevel...115

Instrukcja laboratoryjna cz.3

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

Dodanie nowej formy do projektu polega na:

Backend Administratora

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5

Visual Basic for Applications. Formatki tworzenie,

Laboratorium 8 ( Android -pierwsza aplikacja)

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Podstawy programowania obiektowego

Laboratorium 15: Bazy Danych Tworzenie bazy danych i programowanie elementów nawigacyjnych aplikacji stworzonej przy pomocy technologii dbexpress

UWAGA: poniższe procedury przygotowane zostały w oparciu o program HiTi PhotoDesiree 2 w wersji

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

ZASADY PROGRAMOWANIA semestr zimowy 2003/2004 Zajecia: 11 Zajecia z Delphi: 4

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Komponenty (Właściwości, Metody, Zdarzenia) 1. WŁAŚCIWOŚCI PODSTAWOWE

PROGRAMOWANIE W SYSTEMIE WINDOWS

15. Funkcje i procedury składowane PL/SQL

JAVA CZ.2 Programowanie obiektowe. poniedziałek, 20 kwietnia 2009

Współdziałanie przeglądarki i skryptów w pliku HTML (lub XML), oraz współdziałanie przeglądarki i ekranu ilustruje niżej położony rysunek.

Metodyka programowania. Komponent Chart

Dokumentacja imapliteapi

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007

C-geo definicja/edycja obiektów, zapis danych w formacie shape

Visual Basic w programie Excel

Tworzenie bazy danych na przykładzie Access

Advance CAD 2016 SP1. W tym dokumencie opisano ulepszenia w programie Advance CAD 2016 z dodatkiem Service Pack 1. Co nowego w Advance CAD 2016 SP1

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

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

Zapis programu z wykorzystaniem modułu (Podstawy Delphi 2.1, 2.2, 2.3 str11 )

TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony.

Wstęp do programowania. Różne różności

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

Praca w środowisku Visual Studio 2008, Visual C

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5

Semestr zimowy Podstawy Informatyki, Logika TAK

Tworzenie stron internetowych w kodzie HTML Cz 5

Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego

ejestr systemu Windows jest bazą danych, w której system i aplikacje mogą przechowywać swoje dane, w szczególności parametry konfiguracyjne.

Za pomocą atrybutu ROWS moŝemy dokonać podziału ekranu w poziomie. Odpowiedni kod powinien wyglądać następująco:

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

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

Aplikacje WWW - laboratorium

Transkrypt:

Dialogi, Memo i Image Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo. Komponenty Dialog: SaveDialog, OpenDialog: Metoda: Execute - wyświetla okienko dialogowe zwraca informację logiczną o rezultacie dialogu z uŝytkownikiem Właściwości: FileName - nazwa pliku ustalona w wyniki dialogu Filter DefaultExt - domyślne rozszerzenie (typ) pliku Filter (przykład ustawienia): Nazwa filtru Rozszerzenie Pliki źródłowe (*.pas) *.pas;*.~pa Wszystkie pliki (*.*) *.* Znak rozdzielający przy podawaniu wielu dopuszczalnych rozszerzeń średnik ; Komponent Memo i typ TStrings Komponent Memo słuŝy do prezentacji i edycji informacji tekstowej uporządkowanej w wierszach. Własność komponentu o nazwie: Text zawiera główny zasób komponentu - edytowany tekst. Pozostałe własności (a takŝe metody) komponentu słuŝą do organizacji dostępu do tego głównego zasobu, np.: Clear - kasowanie zawartości komponentu. Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo. Wśród pozostałych własności najwaŝniejsza jest: Lines - typu TStrings Typ TStrings zawiera składowe - własności i metody, które stanowią jednolity interfejs do tekstu zorganizowanego w postaci listy łańcuchów. Typ ten nie zawiera jednak sam w sobie zasobu (tekstu), którym zarządza. Z tego względu zasadą jest, ze typ ten jest wykorzystywany tylko jako typ składowej innego obiektu (który to obiekt jest wyposaŝony bezpośrednio w zarządzany tekst). 1

Np. dla utworzenia własnego obiektu zawierającego kolekcje łańcuchów naleŝy wykorzystywać typ TStringList - typ ten bardzo podobny do TStrings zawiera kolekcję łańcuchów. NajwaŜniejsze własności komponentu Lines: Count - liczba łańcuchów (wierszy) Strings - tablica odwzorowująca edytowany tekst w podziale na wiersze indeksowana od 0. Memo1.Lines.Strings[1] i Memo1.Lines[1] to dwa równowaŝne odwołania tak samo skutkujące. Metody: function Add(const S: String): Integer; Wstawia S na koniec; zwraca indeks elementu po wstawieniu. procedure Insert(I: Integer; Const S: Strind); Wstawia S na miejsce I. Pozostałe wiersze są odpowiednio przesuwane. Polecenia: Memo1.Lines.Add('Nowy') i Memo1.Lines.Insert(-1, 'Nowy') są równowaŝne; -1 moŝe być zastąpione wartością Memo1.Lines.Count. procedure AddStrings(S: TStrings); - dodaje listę łańcuchów. procedure Delete(I: Integer) - usuwa i-ty wiersz Np: for i:=1 to 5 do Memo1.Lines.Delete(Memo1.Lines.Count-1) usuwa 5 ostatnich wierszy tekstu. for i:=3 to 5 do Memo1.Lines.Delete(i) powyŝszy zapis jest błędny - w momencie usuwania wiersza o numerze 5 tego wiersza juz nie ma!!!! procedure Clear - usuwa wszystko procedure Move(I1, I2: Integer) - przesuwa łańcuch z I1 na I2 2

procedure Exchange(I1, I2: Integer) - zamienia miejscami function IndexOf(const S: String):Integer - odszukuje wiersz zawierający tekst S i zwraca jego indeks (lub -1 gdy brak) procedure LoadFromFile(Const FileName: String); odczytuje plik o nazwie podanej w parametrze i ładuje wierszami. FileName moŝe zawierać ścieŝkę dostępu. procedure SaveToFile(Const FileName: String); zapisuje tekst na plik. Jeśli pliku nie ma, to jest tworzony. Własna Lista Łańcuchów jest tworzona z wykorzystaniem typu TStringList. Np. Private Moja: TStringList; Obiekt trzeba zainicjować (utworzyć). Np w momencie uruchomienia aplikacji tj. w czasie zdarzenia OnCreate dla formatki głównej: Procedure TForm1.FormCreate(Sender: TObject); Begin Moja:=TStringsList.Create; End; Dodawanie wierszy tekstu moŝna zorganizować np w zdarzeniu OnClick dla jakiegoś przycisku: Procedure TForm1.Button1.Click(Sender: TObject); Begin Moja.Add(Edit1.Text); End; W powyŝszej procedurze wykorzystujemy własność Strings która jest typu TStrings. Przed zakończeniem aplikacji trzeba pamiętać o skasowaniu wygenerowanego obiektu Moja. Np w czasie obsługi zdarzenia OnDestroy dla formatki głównej: Procedure TForm1.FormDestroy(Sender: TObject); Moja.SaveToFile('Wiersze.Txt'); Moja.Free; End; Inne własności w typie TStringList to 3

Sort - metoda porządkująca wiersze (łańcuchy) alfabetycznie Sorted - własność sprawiająca ze metoda Add dodaje wiersze na koniec zgodnie z uporządkowaniem. Obiekty typu TStringList posiadają (generują) tez zdarzenie: OnChange - następuje z chwila zmiany obiektu dodatkowo zdarzenie OnChanged w chwili rozpoczynania zmiany. Z obsługą tego zdarzenia jest pewien problem. Obiekt typu TStringList, nie jest komponentem, jest tworzony i obsługiwany całkowicie w tzw. Run-Time, a jego składowe oczywiście nie występują w Inspektorze obiektów. Tak wiec obsługę zdarzenia trzeba zorganizować inaczej. NaleŜy skorzystać z faktu, ze zdarzenia są definiowane jak specyficzne własności np: property OnChange: TNotifyEvent; gdzie: TNotifyEvent = procedure (Sender: TObject) of object; A więc zdarzenie jest własnością typu proceduralnego. Obsługa tych zdarzeń nie będzie tu opisana. Komponent Image Właściwości komponentu Image ( ale teŝ komponentu Form): - Width - szerokość komponentu, - Height - wysokość komponentu, - Canvas - zawartość komponentu. Właściwość typu obiektowego TCanvas grupująca właściwości m.in.: - Brush - właściwość typu obiektowego TBrush grupująca cechy tła komponentu m.in. cechę Color, - Pen - właściwość typu obiektowego TPen grupująca cechy linii kreślonych na komponencie, oraz metody m.in.: - Procedure MoveTo(X, Y: Integer); - umieszczenie kursora graficznego w punkcie X, Y - Procedure LineTo(X, Y: Integer); - wykreślenie linii do punktu X, Y. Przykładowa procedura rysowania ramki: procedure TForm1.FormCreate(Sender: TObject); 4

with Image1, Image1.Canvas do LineTo(Width-1, 0); LineTo(Width-1, Height-1); LineTo(0, Height-1); LineTo(0, 0); Układ współrzędnych obiektu Canvas: Właściwości Pen oraz Brush moŝna wykorzystać do ustalenia kolorów kreślonych linii i tła: Pen.Color:= clred; Brush.Color:=clBlue; Kasowanie wykreślanych linii poprzez wypełnianie obszaru tłem. Kolor tła jest wykorzystywany w czasie wypełniania prostokątnych obszarów metodą: procedure FillRect(const Rect: TRect); Parametr Rect jest typu rekordowego: type TPoint = record X: Longint; Y: Longint; TRect = record case Integer of 0: (Left, Top, Right, Bottom: Integer); 1: (TopLeft, BottomRight: TPoint); Przykład zastosowania metody: Image1.Canvas.FillRect(Rect(0,0,100,100)); PowyŜsze spowoduje namalowanie kwadratu 0 wierzchołkach: (0, 0) i (100, 100) w bieŝącym kolorze tła. Standardowa funkcja Rect: 5

function Rect(ALeft, ATop, ARight, ABottom: Integer): TRect; pozwala zamienić 4 parametry całkowite na odpowiedni rekord. W przypadku kolorowania całego obszaru Canvas moŝna wykorzystać właściwość ClientRect. Właściwość ClientRect komponentu Image zwraca rekord zawierający wymiary komponentu. Nowa postać procedury rysowania ramek: procedure TForm1.FormCreate(Sender: TObject); with Image1, Image1.Canvas do Pen.Color:= clred; Brush.Color:=clBlue; FillRect( ClientRect); LineTo(Width-1, 0); LineTo(Width-1, Height-1); LineTo(0, Height-1); LineTo(0, 0); 6