PODSTAWY PROGRAMOWANIA



Podobne dokumenty
Zaawansowane programowanie w (pakiecie) Delphi

Tworzenie własnych komponentów

Informatyka dr inż. Paweł Mazurek

16) Wprowadzenie do raportowania Rave

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

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

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

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

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

Delphi podstawy programowania. Środowisko Delphi

Wprowadzenie do systemu Delphi

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

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

Pakiet AutoRun Menu. Sławomir Pogodziński. Podyplomowe Studium Programowania i Zastosowań Komputerów

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Instalowanie VHOPE i plików biblioteki VHOPE

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

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Skopiuj plik do katalogu macierzystego serwera Apache (C:/xampp/htdocs). Uruchom przeglądarkę i wpisz w polu adresowym następujący ciąg:

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Platformy Programowania

Gdy z poziomu programu Delphi otworzysz folder pierwszy program, zauważysz tylko dwa pliki [rys.1]:

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

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

Instalacja NOD32 Remote Administrator

Zaawansowane aplikacje internetowe - laboratorium

Serwery Statefull i Stateless

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Podstawy Programowania 2

Nagrywamy podcasty program Audacity

EASY CAP VIDEO GRABBER SZYBKI START. Instalacja sterowników

Utworzenie pliku. Dowiesz się:

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

Pobieranie edytora CodeLite

Projektowanie aplikacji internetowych laboratorium

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

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

Borland to firma, która stworzyła kilka środowisk programistycznych: Turbo Pascal Borland Pascal Objekt Pascal Borland Delphi C++ Builder C++

Borland Developer Studio Autor: Radosław Bujak

FAQ. Kwiecień Generator Wniosków Płatniczych (GWP) Wersja 1.0

Programowanie obiektowe

Król Łukasz Nr albumu:

Język programowania PASCAL

PS QUAESTIO PRO /// instrukcja instalacji komponentu klienckiego

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Windows

Przesyłanie planowanych odbiorów dostawcy do monitora prognozy zlecenia PL

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy

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

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

Programowanie RAD Delphi

Załącznik nr 2. Zasady pracy aplikacji InteGrRej.

SZYBKI START DLA IGSS FREE50 - PRZEWODNIK

Zastanawiałeś się może, dlaczego Twój współpracownik,

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

Aplikacje w środowisku VBA. Visual Basic for Aplications

Programowanie w środowisku graficznym GUI

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

ZAPOZNANIE SIĘ Z TWORZENIEM

Windows 10 - Jak uruchomić system w trybie

Wprowadzenie do biblioteki klas C++


6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

Aplikacje w środowisku Java

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

STATISTICA 8 WERSJA JEDNOSTANOWISKOWA INSTRUKCJA INSTALACJI

Programowanie obiektowe

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Programowanie Obiektowe GUI

Wprowadzenie do projektu QualitySpy

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

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

ZAAWANSOWANE PROGRAMOWANIE W (PAKIECIE) DELPHI

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

Aplikacje WWW - laboratorium

Program PortaScan wersja Instrukcja obsługi

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

1. Podręcznik instalacji aplikacji EXR Creator Wstęp Instalacja Instalacja aplikacji EXR Creator z płyty CD

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie obiektowe zastosowanie języka Java SE

Język programowania. Andrzej Bobyk

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

Informatyzacja Przedsiębiorstw

MentorGraphics ModelSim

Dodawanie operacji dodatkowych w WAPRO Mag.

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Potwierdzenie zamówienia za pomocą metody przesyłania plików PL

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

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

5.2. Pierwsze kroki z bazami danych

6. Wciśnij Shift+F12 lub wybierz odpowiednią ikonę z paska narzędziowego (patrz wcześniejsze odcinki). 7. [rys.1] Klub IKS

Instrukcja instalacji programu SYSTEmSM

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

PRZETWORNIK USB - RS232

Instrukcja pobrania i instalacji wersji testowej Invest for Excel

Instalacja pakietu Office 365 ProPlus wersja stand-alone/offline

Instrukcja instalacji oprogramowania dla środowiska Windows

MICROSOFT WINDOWS INSTALLER TWORZENIE INSTALATORÓW W ŚRODOWISKU VISUAL STUDIO.NET

Transkrypt:

PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2013 by Andrzej Marciniak PP-12(1 z 46)

Na poprzednim wykładzie... Ptypy sparametryzowane < definiowanie typów sparametryzowanych < sparametryzowane typy proceduralne i metody Ppodstawowe moduły biblioteki RTL < moduł System < moduł SysUtils < moduł Math < wywołanie innego programu z programu paskalowego Pinformacje o bibliotece VCL < okienka z komunikatami PP-12(2 z 46)

Na tym wykładzie... Psystem pomocy dla programu okienkowego < wyświetlanie wskazówek < dołączanie plików pomocy i ich obsługa w języku Delphi Pprzygotowanie wersji dystrybucyjnej programu < program InstallShield Express < plik AUTORUN.INF Ptworzenie komponentów VCL i ActiveX oraz ich wykorzystanie < konstrukcja komponentu VCL < testowanie komponentu VCL < konstrukcja komponentu ActiveX PP-12(3 z 46)

Przygotowanie systemu pomocy Do utworzenia systemu pomocy dla programu okienkowego uruchamianego w środowisku Windows służy program HTML Help Workshop firmy Microsoft. Program ten można pobrać bezpłatnie m. in. ze strony http://www.microsoft.com/en-us/download W programie tym tworzy się plik projektowy systemu pomocy, a następnie kompiluje się go do pliku *.chm (w starszych wersjach programu S do pliku *.hlp). Tekst systemu pomocy można przygotować w edytorze MS Word (jako plik *.doc) lub w postaci pliku HTML. Szczegóły znajdują się w systemie pomocy programu HTML Help Workshop. PP-12(4 z 46)

Wyświetlanie wskazówek Przy aktywności komponentu: Pwe własności Hint wpisać odpowiedni tekst, Pwe własności ShowHint ustalić wartość True (domyślnie jest False). PP-12(5 z 46)

Dołączanie plików pomocy i ich obsługa Elementy typu TApplication (z modułu Vcl.Forms): Pwłasność HelpFile, Pmetoda HelpCommand, Pmetoda HelpContext, Pmetoda HelpJump, Pzdarzenie OnHelp. Bardzo ważna uwaga: Użycie w programie okienkowym plików pomocy *.chm wymaga zadeklarowania modułu HTMLHelpViewer w module głównego okna programu. PP-12(6 z 46)

Dołączanie plików pomocy i ich obsługa Własność HelpFile property HelpFile : string Służy do określenia nazwy domyślnego pliku pomocy (podczas wykonywania programu), który będzie używany przez program okienkowy do wyświetlania informacji. Domyślnie wartość tej własności jest łańcuchem pustym, co oznacza brak pliku pomocy skojarzonego z programem. PP-12(7 z 46)

Dołączanie plików pomocy i ich obsługa Własność HelpFile Przykład Application.HelpFile:= ENC_HELP.HLP ; Alternatywny sposób (statyczny): określenie Help file w okienku dialogowym wyświetlanym po zainicjowaniu w środowisku Delphi polecenia Project 6 Options i wyborze elementu Application Appearance. PP-12(8 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpCommand function HelpCommand (Command : Word; Data : Longint): Boolean; Umożliwia szybki dostęp do dowolnego polecenia funkcji WinHelp i HTMLHelp środowiska Windows (są to funkcje API). Polecenie określa się za pomocą parametru Command, a parametr Data służy do przekazania dodatkowych informacji (w zależności od wartosci parametru Command). Szczegóły S zob. temat HTMLHelp w MSDN Library PP-12(9 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpCommand Przykład Najczęściej stosowane wywołanie metody HelpCommand dla pliku pomocy *.hlp: Application.HelpCommand (HELP_FINDER, 0); PP-12(10 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpContext function HelpContext (Context : THelpContext) : Boolean; Typ THelpContext jest zdefiniowany w module System.Classes: type THelpContext =!2147483647..2147483647; Metoda ta wyświetla temat pomocy o identyfikatorze określonym parametrem Context. PP-12(11 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpContext Uwaga: Przed przesłaniem polecenia do funkcji WinHelp lub HTMLHelp metoda HelpContext generuje zdarzenie OnHelp. Funkcja API WinHelp lub HTMLHelp zostanie wywołana tylko wówczas, gdy nie określono metody obsługi tego zdarzenia lub w metodzie obsługi nastąpi jej wywołanie. Wartość funkcji równa False oznacza, że z programem nie skojarzono żadnego pliku pomocy (wartością własności CurrentHelpFile jest łańcuch pusty). Uwaga: Własność CurrentHelpFile określa plik pomocy skojarzony z aktywną formatką. W programach z jedną formatką (okienkiem) wartość własności CurrentHelpFile jest równa wartości własności HelpFile. PP-12(12 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpContext Przykład const DATANOTFOUND = 714;... Application.HelpContext (DATANOTFOUND); PP-12(13 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpJump function HelpJump (const JumpID : string) : Boolean; Metoda ta wyświetla temat pomocy identyfikawany przez swoją symboliczną nazwę. Uwaga: Przed przesłaniem polecenia do funkcji WinHelp lub HTMLHelp metoda HelpJump generuje zdarzenie OnHelp. Funkcja API WinHelp lub HTMLHelp zostanie wywołana tylko wówczas, gdy nie określono metody obsługi tego zdarzenia lub w metodzie obsługi nastąpi jej wywołanie. PP-12(14 z 46)

Dołączanie plików pomocy i ich obsługa Metoda HelpJump Wartość funkcji równa False oznacza, że z programem nie skojarzono żadnego pliku pomocy. Dokładniej: wartością własności CurrentHelpFile jest łańcuch pusty. Przykład Application.HelpJump ( metoda_abstrakcyjna ); PP-12(15 z 46)

Dołączanie plików pomocy i ich obsługa Zdarzenie OnHelp property OnHelp : THelpEvent read FOnHelp write FOnHelp; Typ THelpEvent jest zdefiniowany w module Vcl.Forms: type THelpEvent = function (Command : Word; Data : LongInt; var CallHelp : Boolean) : Boolean of object; Wszystkie metody wywołujące pomoc powodują najpierw wygenerowanie zdarzenia OnHelp. Wartość False metody obsługi zdarzenia OnHelp oznacza, że podczas jej wykonywania wystąpił błąd. PP-12(16 z 46)

Dołączanie plików pomocy i ich obsługa Zdarzenie OnHelp Programista może napisać własną metodę obsługi zdarzenia OnHelp. Jeśli wartością parametru CallHelp będzie True, to po wystąpieniu zdarzenia OnHelp nastąpi wywołanie funkcji API WinHelp lub HTMLHelp (działanie jest wówczas takie same, jak domyślne, tj. przy braku metody programisty obsługi tego zdarzenia). PP-12(17 z 46)

Dołączanie plików pomocy i ich obsługa Zdarzenie OnHelp Przykład (zmiana pliku pomocy dla aktywnej formatki) function TForml.AppHelp (Command : Word; Data : Longint; var CallHelp : Boolean) : Boolean; begin Application.HelpFile:=Screen.ActiveForm.Name +.HLP ; CallHelp:=True end; function TForml.FormCreate (Sender : TObject); begin Application.OnHelp:=AppHelp end; Zmienna globalna Screen (typu TScreen) opisuje stan ekranu. Jej własność ActiveForm (typu TForm) zawiera informację o aktualnie aktywnej formatce, a własność Name zawiera nazwę formatki. Metoda AppHelp jest przypisana do obsługi zdarzenia OnHelp podczas obsługi zdarzenia OnCreate dla formatki PP-12(18 z 46)

Przygotowanie wersji dystrybucyjnej programu Do tego celu służy program InstallShield Express, którego polskojęzyczną wersję można pobrać m. in. ze stron: http://www.installshield.com/express/ http://www.idg.pl http://www.filestube.com/installshield+express PP-12(19 z 46)

Przygotowanie wersji dystrybucyjnej programu W programie InstallShield Express tworzy się plik projektowy (*.ism) dla wersji instalacyjnej programu, ustalając lub określając różne parametry, w tym okienka wyświetlane podczas instalacji. Następnie plik ten kompiluje się, w wyniku czego powstaje wersja wykonywalna programu instalacyjnego. Program InstallShield Express umożliwia przetestowanie wersji instalacyjnej oraz przygotowanie jej dla różnych nośników (m. in. płyt CD i DVD). Do nagrania płyt można wykorzystać program Nero Burning ROM. PP-12(20 z 46)

Przygotowanie wersji dystrybucyjnej programu Plik AUTORUN.INF Po umieszczeniu płyty CD w napędzie, system Windows automatycznie rozpoczyna poszukiwanie pliku AUTORUN.INF i po jego odnalezieniu wykonuje zawarte w nim polecenia. W pliku tym można m. in. wskazać program do uruchomienia (np. Setup): [Autorun] OPEN=SETUP.EXE PP-12(21 z 46)

Tworzenie komponentów VCL i ActiveX Kierowca nie musi znać budowy skrzyni biegów wystarczy, że potrafi ją obsługiwać. Komponenty zdejmują z programisty ciężar zajmowania się szczegółami. Wystarczy je używać, a nie zastanawiać się nad tym, jak są zbudowane. Szczegółami zajmujemy się na etapie projektowania lub modyfikowania komponentów. PP-12(22 z 46)

Tworzenie komponentów VCL i ActiveX Powody znajomości sposobu tworzenia komponentów: P wielokrotne wykorzystanie tego samego kodu, P modyfikacja istniejących komponentów (ponieważ każdy komponent jest obiektem, więc opierając się na nim możemy utworzyć nowy komponent, który będzie dziedziczył jego własności), P udostępnianie gotowych komponentów (możliwość nabywania dodatkowych komponentów od niezależnego dostawcy lub komercyjna dystrybucja własnych komponentów w postaci skompilowanej bez udostępniania kodu źródłowego). Uwaga: W środowisku Delphi komponenty ActiveX tworzy się z komponentów VCL. PP-12(23 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) W palecie komponentów każdy komponent jest reprezentowany za pomocą jakiegoś piktogramu. Zasady wyświetlania piktogramów komponentów: Ppo dodaniu komponentu do środowiska Delphi (będzie dalej) jego piktogram jest poszukiwany w pliku o takiej samej nazwie, jak nazwa pliku z modułem (.PAS) zawierającym opis komponentu, ale o rozszerzeniu nazwy DCR (skr. ang. Delphi Component Resource), plik.dcr jest zwykłym plikiem z zasobem, tyle że o zmienionym rozszerzeniu nazwy, PP-12(24 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) W palecie komponentów każdy komponent jest reprezentowany za pomocą jakiegoś piktogramu. Zasady wyświetlania piktogramów komponentów: P jeśli taki plik nie zostanie odnaleziony, to komponent będzie reprezentowany w palecie przez piktogram domyślny (w zależności od typu przodka tworzonego komponentu piktogram ten może być różny). W pliku.dcr piktogram jest pamiętany jako mapa bitowa o rozmiarze 24 24 piksele. W starszych wersjach środowiska Delphi (np. Borland Delphi 7) piktogram komponentu można było przygotować za pomocą programu Image Editor, będącego jednym z programów narzędziowych dostępnych w pakiecie. W środowisku Embarcadero Delphi XE2 nie ma tego programu. PP-12(25 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) W celu utworzenia nowego komponentu należy: P w głównym menu środowiska Delphi zainicjować polecenie Component 6 New Component, które spowoduje zainicjowanie kreatora komponentów ze stroną zawierającą wykaz wszystkich klas definiujących komponenty już zainstalowane w systemie, P wybrać klasę definiującą przodka tworzonego komponentu (w przykładzie będzie to klasa TStaticText), po czym wybrać przycisk Next, PP-12(26 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) PP-12(27 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) W celu utworzenia nowego komponentu należy: P w drugim okienku określić nazwę klasy definiującej komponent (w podokienku Class Name) S w przykładzie będzie to TStaticTextClock, P przyjąć (lub zmienić) domyślne ustalenia w innych podokienkach wejściowych S w przykładzie zmieniamy domyślną nazwę modułu z definicją komponentu na StaticTextClock, P wybrać przycisk Next. PP-12(28 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) PP-12(29 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) Wybór przycisku Next powoduje wyświetlenie kolejnego okna z możliwością utworzenia modułu z definicją komponentu lub dodania go do istniejącego lub nowego pakietu (w przykładzie wybieramy opcję Create Unit, po czym przycisk Finish). PP-12(30 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) W przypadku wyboru opcji Create Unit i przycisku Finish na ekranie ukaże się okienko redakcyjne z modułem zawierającym szkielet definicji klasy określającej komponent. Ważnym elementem tego modułu jest procedura Register, której zadaniem jest umieszczenie piktogramu komponentu w palecie. Po uzupełnieniu definicji klasy o elementy powodujące zamierzone działanie komponentu należy zapisać moduł na dysku (przez wybór polecenia File 6 Save). PP-12(31 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) W celu zainstalowania komponentu należy zainicjować polecenie Component 6 Install Component i w wyświetlonym okienku wybrać z listy nazwę modułu z definicją klasy określającej komponent, po czym określić instalację do istniejącego lub nowego pakietu. PP-12(32 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) Wybór przycisku Next powoduje wyświetlenie kolejnego okna, w którym należy określić nazwę pakietu (w podokienku Package name) i ewentualnie jego opis (w podokienku Package description), po czym wybrać przycisk Finish. Spowoduje to pojawienie się zapytania: na które należy odpowiedzieć Yes. PP-12(33 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład: StaticTextClock) Pomyślne zainstalowanie komponentu kończy się komunikatem: O tym, że komponent został zainstalowany można przekonać się wyświetlając odpowiednią grupę (tę, do której dodano komponent) w okienku Tool Palette lub odpowiednią zakładkę palety komponentów znajdującej się pod piktogramami szybkiego inicjowania poleceń. PP-12(34 z 46)

Tworzenie komponentów Usuwanie komponentów W celu usunięcia komponentu należy: P zainicjować polecenie Project 6 Options, P w wyświetlonym oknie wybrać z lewej strony element Packages, po czym w oknie Design packages odszukać zainstalowany pakiet na liście, P przy podświetlonej nazwie pliku z pakietem (lub opisie, o ile taki został utworzony podczas tworzenia pakietu) wybrać przycisk Remove. Uwaga: Operacja ta nie usuwa pliku pakietu z dysku. PP-12(35 z 46)

Tworzenie komponentów Zmiana komponentu Zmiana (modyfikacja) zarejestrowanego komponentu polega zwykle na dodaniu kilku nowych elementów do definiującej go klasy. W tym celu należy zainicjować polecenie File 6 Open i wyszukać w wyświetlonej liście plików odpowiedni pakiet. Wczytanie pakietu spowoduje pojawienie się w okienku File (z prawej strony ekranu) drzewa hierarchicznego z pakietem, w którym należy w grupie Contains kliknąć w piktogram z modułem zawierającym definicję klasy komponentu. Po modyfikacji należy skompilować cały pakiet (wykonujemy to za pomocą polecenia Project 6 Compile). PP-12(36 z 46)

Tworzenie komponentów Konstrukcja komponentu VCL (przykład StaticTextClock) PP-12(37 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) Komponenty ActiveX (elementy sterujące i formatki) mogą być wykorzystywane w różnych pakietach (m. in. C++ Builder, Visual C++, Visual Basic) i przeglądarkach internetowych. Łatwiej jest zintegrować z programem (aplikacją) obiekt realizujący określone funkcje niż programować te funkcje od początku. Z komponentu StaticTextClock utworzymy komponent ActiveX, który nazwiemy (przez analogię) StaticTextClockX. W tym celu wystarczy wykonać kilka prostych operacji: P zainicjować polecenie File 6 New 6 Other i w wyświetlonym okienku New Items uaktywnić element ActiveX, PP-12(38 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) Pwybrać piktogram ActiveX Library, co spowoduje otwarcie okienka redakcyjnego z tekstem biblioteki o domyślnej nazwie oraz okienka edytora komponentów ActiveX z nazwą *.ridl, PP-12(39 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) P w bibliotece dodać deklarację modułu z klasą definiującą komponent VCL; w opisywanym przykładzie klauzula uses powinna mieć postać uses ComServ, Project2_TLB in Project2_TLB.pas, StaticTextClock in StaticTextClock.pas ; P skompilować bibliotekę (przez wybór polecenia Project 6 Compile), P ponownie zainicjować polecenie File 6 New 6 Other, znowu uaktywnić element ActiveX, ale tym razem wybrać w okienku piktogram ActiveX Control, co spowoduje wyświetlenie PP-12(40 z 46) okienka dialogowego kreatora komponentów ActiveX,

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) Pw podokienku CoClass Name wpisać nazwę tworzonego komponentu ActiveX (w okienku Interface automatycznie pojawi się nazwa łącza programowego), Pw podokienku listowym Component Name wybrać nazwę klasy ze zwykłym komponentem, z którego jest tworzony komponent ActiveX, po czym wybrać przycisk OK (spowoduje to automatyczne utworzenie modułu z definicją klasy określającej komponent ActiveX). PP-12(41 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) Uwaga: Jeśli moduł z definicją klasy zwykłego komponentu nie zostanie odnaleziony automatycznie, to na ekranie pojawi się następujące okienko i po wyborze przycisku OK. programista będzie mógł wskazać ten moduł (wcześniej skompilowany!) w wyświetlonym okienku Find Unit. PP-12(42 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) Wygenerowany automatycznie moduł będzie zawierać definicję klasy TStaticTextClockX określającej komponent ActiveX. W nagłówku tej klasy obok nazwy przodka (TActiveXControl) będzie podana nazwa łącza programowego (IStaticTextClockX). Łącze to jest zdefiniowane w module *_TLB, który także został utworzony automatycznie i zawiera odpowiednie deklaracje zaimportowane z biblioteki typów. W definicji łącza programowego IStaticTextClockX są zdefiniowane własności odpowiadające własnościom komponentu StaticTextClock, ale dostęp do nich odbywa się wyłącznie za pomocą metod (o przedrostkach Get_ oraz Set_), których definicje są podane w implementacji łącza, tj. w klasie TStaticTextClockX. Do bezpośredniej ingerencji we wszystkie elementy definicji komponentu ActiveX służy edytor, którego okienko znajduje się na zakładce *.ridgl głównego okna środowiska Delphi. PP-12(43 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) Automatyczne wygenerowanie modułu z definicją komponentu ActiveX nie kończy procesu jego tworzenia. Należy jeszcze cały projekt (bibliotekę): P skompilować przez zainicjowanie polecenia Project 6 Compile (otrzymamy plik *.ocx z komponentem), P zarejestrować komponent w systemie za pomocą polecenia Run 6 ActiveX Server 6 Register (do anulowania rejestracji służy polecenie Run 6 ActiveX Server 6 Unregister). Za pomocą polecenia Component 6 Install Component utworzony komponent ActiveX można dołączyć do palety komponentów (np. do grupy ActiveX). PP-12(44 z 46)

Komponenty ActiveX Konstrukcja komponentu ActiveX (przykład: StaticTextClockX) PP-12(45 z 46)

KONIEC PP-12(46 z 46)