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

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

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

Wprowadzenie do systemu Delphi

Widok po uruchomieniu. Widok w trakcie gry

Zaprojektuj grę logiczną NIM. Program losuje w każdym rzędzie od 1 do 10 grzybów. Gracz

Po uruchomieniu Lazarusa należy wybrać z paska górnego opcję Projekt i następnie Nowy Projekt. Pokaże się okno:

Wykład 7: Lazarus GUI

Delphi podstawy programowania. Środowisko Delphi

Niniejszy ebook jest własnością prywatną.

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

Ćwiczenie z wykorzystaniem zmiennych i komponentu TGauge. TTimer co pewien czas. Gra. A jednak odlicza. Stoper. Aktualny czas, czyli zegar

Tworzenie własnych komponentów

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

1. Otwórz swój program. 2. Przejdź do źródła. Posłuży ci do tego funkcja Toggle Form/Unit lub naciśnięcie klawisza F12. [rys.1]

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Ćwiczenie 1 Proste aplikacje - podstawowe komponenty.

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

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

Podstawy Programowania 2

Darmowa publikacja dostarczona przez Złote Myśli

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

Programowanie obiektowe

Praktyczny kurs programowania w Delphi na przykładzie wygaszacza ekranu Windows

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

Podstawy programowania obiektowego

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

Ćwiczenie 5 Menu programu

Program powinien otworzyć się z pierwszym formularzem. Jeśli nie, otwórz pierwszy formularz, wybierając go z listy - Shift+F12.

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika

Amortyzacja obliczenia ekonomiczne w informatyce.

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

Programowanie w języku Python. Grażyna Koba

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

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

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

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Tworzenie prezentacji w MS PowerPoint

Delphi Laboratorium 3

Pokaz slajdów na stronie internetowej

Działki Przygotowanie organizacyjne

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Darmowa publikacja dostarczona przez

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

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

LIVE Gra w życie. - wpisz do niej polecenie z ramki. - uruchom program poleceniem F9

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Darmowa publikacja dostarczona przez

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Informatyka II. Laboratorium Aplikacja okienkowa

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

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

Wydział: ZiMK Przedmiot: Programowanie - Delphi Semestr 5

Instrukcja obsługi programu:

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

5.4. Tworzymy formularze

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

learningpanel - logowanie

DODAWANIE ARTYKUŁÓW DO STRONY INTERNETOWEJ

Podstawowe informacje potrzebne do szybkiego uruchomienia e-sklepu

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

Cel: Zastosowanie okien pytającychwyświetlających pytania i komunikaty (MessageBox). Klub IKS

Edytor Edit+ - dodawanie zdjęć i. załączników. Instrukcja użytkownika

5.9 Modyfikacja gry Kółko i krzyżyk

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

Instalacja i obsługa generatora świadectw i arkuszy ocen

KROK 17 i 18. Cel: Tworzymy oddzielne okno - O autorze. 1. Otwórz swój program. 2. Skompiluj i sprawdź, czy działa prawidłowo.

Makropolecenia w PowerPoint Spis treści

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Podstawowe elementy GUI cz. 2 i 3 - zadania

Język programowania PASCAL

Podstawy JavaScript ćwiczenia

Jak posługiwać się edytorem treści

TRAVEL OFFICE MANAGEMENT SP. Z O.O. System TOM 24. Oferta na LCD. Opis modułu Oferty na LCD w nowej wersji systemu TOM 24 Data aktualizacji

1. Przypisy, indeks i spisy.

BAZY DANYCH Panel sterujący

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

1. Dodawanie integracji

Tablice, DataGridView

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

Modelowanie obiektowe - Ćw. 1.

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

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

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Portal Turystyki Aktywnej Ziemi Wieluńskiej

16) Wprowadzenie do raportowania Rave

Temat: Podstawy języka Object Pascal

Instrukcja konfiguracji drukarki HP LaserJet 1018 dla systemu dreryk

Kancelaria zmiany w programie czerwiec 2011

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

1. Skopiować naswój komputer: (tymczasowy adres)

Kurs obsługi systemu CMS. Prawie wszystkie treści wyświetlające się na stronie są zlokalizowane w dziale artykuły.

Podręcznik Użytkownika LSI WRPO

Instrukcja zmiany stawki VAT oraz innych informacji dodatkowych dotyczących kartoteki asortymentowej oraz cenników w systemie MAAT

Sekretariat Optivum. Jak przygotować listę uczniów zawierającą tylko wybrane dane, np. adresy ucznia i jego opiekunów? Projektowanie listy

Instrukcja instalacji programu SPSS Statistics 21

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Transkrypt:

Nazwa implementacji: Kółko i krzyżyk w Lazarusie Autor: Piotr Fiorek Andrzej Stefaniuk Opis implementacji: Implementacja prezentuje środowisko Lazarus oraz prosty program w języku FreePascal. Na początku zapoznamy się ze środowiskiem Lazarus. Inspektor obiektów Inspektor obiektów pozwala zobaczyć wszystkie komponenty użyte w programie. Pokazuje jednocześnie, jak są one rozmieszczone. Dzięki niemu można się szybko przełączać pomiędzy nimi. Każdy z obiektów ma wyświetloną nazwę i klasę źródłową. 1

Właściwości Z lewej strony ekranu znajduje się okno zawierające właściwości używanych obiektów. Składa się z dwóch kolumn: lewa zawiera nazwy poszczególnych własności, prawa zawiera ich wartości. Wiele wartości jest ustalanych domyślnie w trakcie inicjalizacji komponentu. Wybór wartości może też być dokonywany ręcznie, lub wewnątrz kodu programu. Zdarzenia Zdarzenia to podprogramy, które reagują na określone wydarzenia związane z danym komponentem. Zakładka ta składa się z dwóch kolumn: lewa zawiera nazwy poszczególnych zdarzeń, prawa zawiera procedury i funkcje przypisane do nich. Zdarzenie OnClick odpowiada sytuacji, gdy dany komponent zostanie kliknięty myszką. Przypisany podprogram wykona daną operację. Różnym zdarzeniom można przypisać ten sam podprogram Favorites Trzecia zakładka zawiera ulubione właściwości i zdarzenia, które są często używane w odniesieniu do danego komponentu. Komponenty Środowisko Lazarus zawiera zbiór podstawowych komponentów wykorzystywanych w programach. 2

Są to np. przyciski, okienka, napisy, suwaki, pola wyboru, menu, tabelki itp. Pogrupowane są w kilku zakładkach, co pozwala je szybko wyszukać. Istnieje możliwość dodania nowych komponentów i stworzenia własnych. Komunikaty Komunikaty to opisy, uwagi, ostrzeżenia i błędy wygenerowane przez kompilator Lazarus. Jest to podstawowe źródło informacji w razie problemów z uruchomieniem programu. Tworzony program Okienko to przedstawia program, który jest tworzony. Jest to tryb WYSIWYG (What You See Is What You Get). Pozwala to na prostą i efektywną pracę. Zmianę właściwości i dodanie kodu realizujemy klikając na dany komponent. Edytor źródeł - Kod programu To okno zawiera kod tworzonego programu. Pozwala na ręczną edycję kodu. Poszczególne części są wyróżnione innym kolorem lub tłustym drukiem. Domyślnie są uwzględnione wcięcia w kodzie. Menu Edytora 3

Klasyczne menu edytora. Pod nim zebrano kilka najczęściej używanych poleceń jak: zapisz, uruchom, nowy projekt. Tworzenie programów w Lazarus Program w języku Delphi składa się z kilku plików źródłowych: *.pas plik z kodem źródłowym programu *.lpr Plik Lazarus Project. Zawiera budowę całego programu. *.lpi Plik Lazarus Project Information. Zawiera dokładne dane o projekcie. *.lfm plik Lazarus Form. Zawiera opis formularza. *.lrs plik zasobów. Z reguły nazwa projektu zaczyna się od słowa project natomiast pliku z kodem od słowa unit. Każdy program składa się z kilku plików, które mają podobne nazwy. Może to wprowadzić zamieszanie lub projekty mogą się skrzyżować. Należy więc utworzyć oddzielne katalogi dla każdego projektu. Powinny składać się z numeru projektu i imienia (lub nazwiska) twórcy: np. projekt1andrzej. Budowa programu Program składa się z kilku wyróżnionych i wymaganych części: unit - Unit to część projektu zapisywana w oddzielnym pliku. interface Metody, z których korzysta Unit. Są to różne właściwości i operacje, jakie może wykonywać. uses - składniki używane przez dany Unit type definicja występujących typów. Deklaracja komponentów, procedur i funkcji przez nie używanych, private - zmienne prywatne niedostępne z innych unitów, public - zmienne dostępne z innych unitów 4

var - zmienne globalne występujące w Unicie implementation - implementacja metod procedury i funkcje: procedure, function initialization polecenie inicjalizacji zasobów edytora unit Unit1; //początek programu nazwa Unita {$mode objfpc}{$h+} //polecenie dla kompilatora interface uses //lista zasobów używanych przez Unit. Część jest standardowa i dodawana automatycznie. Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } //komentarz definicja typu TForm1 TForm1 = class(tform) //obiekt TForm1 należy do klasy TForm Button1: TButton; //komponent Przycisk Button2: TButton; Edit1: TEdit; //komponent Okienko edycyjne Edit2: TEdit; Label1: TLabel; //komponent Etykieta procedure Button1Click(Sender: TObject); //deklaracja procedura procedure Button2Click(Sender: TObject); private //deklaracja zmiennych prywatnych niedostępnych z innych Unitów { private declarations } public //deklaracja zmiennych publicznych dostępnych z innych Unitów { public declarations } var Form1: TForm1; x,y,z:real; //zmienne Implementation //Część implementacyjna Unitu { TForm1 } //komentarz implementacja metod TForm1 procedure TForm1.Button1Click(Sender: TObject); //definicja procedury x:=strtofloat(edit1.text); y:=strtofloat(edit2.text); z:=x+y; Edit3.Text:= FloatToStr(z); procedure TForm1.Button2Click(Sender: TObject); x:=strtofloat(edit1.text); y:=strtofloat(edit2.text); z:=x-y; Edit3.Text:= FloatToStr(z); 5

initialization {$I unit1.lrs} end. //polecenie dla kompilatora Inicjalizacja zasobów edytora //koniec Unitu Napisz prostą grę w Kółko i Krzyżyk Okno Formularza: Należy dodać obiekty TImage oraz TPictureList. W przypadku TPictureList należy określić jego rozmiary (powinien być taki sam jak rozmiar pól obrazkowych, które zamierzamy stworzyć, w przeciwnym wypadku obrazki będą przycięte) oraz po dwukrotnym kliknięciu w obiekt listę obrazków przedstawiających kółko oraz krzyżyk. Obrazkom należy w zakładce Events przypisać funkcję, która będzie obsługiwać kliknięcie w obrazki. Aby stworzyć taką funkcję, wystarczy dwa razy kliknąć w jeden z obrazków, a w pozostałych wybrać funkcję z listy.w oknie Object Inspector można również ustawić nazwy poszczególnych elementów. 6

Kod: unit Unit1; {$mode objfpc}{$h+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls; type { TKiK } TKiK = class(tform) // obiekty umieszczone an planszy Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; ImageList1: TImageList; // procedury używane w programie procedure FormCreate(Sender: TObject); procedure Image1Click(Sender: TObject); private tura: Integer; // zmienna zliczająca tury public { public declarations } var KiK: TKiK; implementation {$R *.lfm} // procedura wywoływana podczas startu programu procedure TKiK.FormCreate(Sender: TObject); tura := 0; // wyzerowanie licznika tur // procedura wywoływana w momencie kliknięcia w kafelek procedure TKiK.Image1Click(Sender: TObject); var klikniety: TImage; // zmienna do przechowywania informacji który kafelek został kliknięty 7

wybieracz: Integer; // zmienna przechowująca informację o tym jaki element umieścić klikniety := (Sender as TImage); // przypisanie klikniętego elementu do zmiennego wybieracz := tura mod 2; // określenie jaki obiekt teraz umieścić if klikniety.tag = 0 then // sprawdzenie czy kafelek nie był już wcześniej kliknięty ImageList1.GetBitmap(wybieracz, klikniety.picture.bitmap); // przypisanie odpowiedniego obrazka do kafelka klikniety.tag := 1; // zapisanie informacji, że kafelek został kliknięty tura := tura + 1; // zwiększenie licznika tur end. UWAGA: Podczas zapisywania projektu nie wolno zapisywać plików ".pas" (plik z kodem) oraz ".lpi" (plik projektu) pod tymi samymi nazwami. 8