Top Banner
Zaawansowane programowanie w (pakiecie) Delphi Andrzej Marciniak Prezentacja multimedialna przygotowana za pomoc¹ systemu Corel® Presentations 11 i X3 Copyright © 2004 - 2010 by Andrzej Marciniak DEL420 DEL-7(1 z 59)
59

Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Feb 27, 2019

Download

Documents

buiminh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Zaawansowane programowanie w (pakiecie) Delphi

Andrzej Marciniak

Prezentacja multimedialna przygotowana za pomoc¹ systemu Corel® Presentations 11 i X3Copyright © 2004 - 2010 by Andrzej Marciniak

DEL420

DEL-7(1 z 59)

Page 2: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� elementy jêzyka Delphi Pascal zwi¹zane z grafik¹�funkcje GDI�typ TCanvas�w³asnoœci typu TCanvas

(Brush, ClipRect, CopyMode, Font, Pen, PenPos,Pixels)

�metody typu TCanvas (Arc, Chord, CopyRect, Draw, Ellipse, FillRect,FloodFill, FrameRect, LineTo, MoveTo, Pie,PolyBezier, PolyBezierTo, Polygon, Polyline,Rectangle, RoundRect, StretchDraw, TextHeight,TextOut, TextRect, TextWidth)

Na poprzednim wyk³adzie ...

DEL-7(2 z 59)

Page 3: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� elementy jêzyka Delphi Pascal zwi¹zane z grafik¹(cd.)

�typ TColor�komponent Shape (typ TShape)�komponent Image (typ TImage)�komponent Chart (typ TChart)

� formaty zbiorów z rysunkami (mapy bitowe,piktogramy, metazbiory)

� komponenty dotycz¹ce obs³ugi multimediów�komponent Animate (typ TAnimate)�komponent MediaPlayer (typ TMediaPlayer)

� rysowanie wykresów funkcji

Na tym wyk³adzie ...

DEL-7(3 z 59)

Page 4: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Typ TColor

Typ ten jest u¿ywany do okreœlenia koloru obiektu. Jest zdefiniowany w module Graphics:

type TColor = !(COLOR_ENDCOLORS+1) .. $02FFFFFF;

przy czym sta³a

const COLOR_ENDCOLORS = 28;

jest zdefiniowana w module Windows .

DEL-7(4 z 59)

Page 5: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Typ TColor

W module Graphics zdefiniowano kilkanaœcie sta³ychdo oznaczania kolorów.

Sta³e te odnosz¹ siê

# albo do najbli¿szego koloru w palecie systemowej(np. clBlue oznacza kolor niebieski palety),

# albo do odpowiedniego elementu ekranuzdefiniowanego w œrodowisku Windows (np.clBtnFace okreœla kolor przyjêty w œrodowiskuWindows dla przycisku).

DEL-7(5 z 59)

Page 6: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� trzy mniej znacz¹ce bajty oznaczaj¹ intensywnoœci kolorówRGB: niebieskiego, zielonego i czerwonego (np.$00FF0000 oznacza kolor niebieski, $0000FF00 – zielony,$000000FF – czerwony, $00000000 – czarny, a wartoœæ$00FFFFFF – kolor bia³y),

� bajt najbardziej znacz¹cy mo¿e przyj¹æ trzy wartoœci: $00 – kolor jest pobierany z palety systemowej, $01 – kolor jest pobierany z bie¿¹cej palety, $02 – pobranie koloru z logicznej palety bie¿¹cego kontekstu urz¹dzenia.

Elementy ... zwi¹zane z grafik¹Typ TColor

Kolor mo¿na tak¿e okreœlaæ za pomoc¹ czterobajtowychwartoœci szesnastkowych:

DEL-7(6 z 59)

Page 7: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Shape (typ TShape)

Komponent ten znajduje siê na stronie Additionalpalety komponentów, a definiuj¹cy go typ opisano w module ExtCtrls .

Reprezentuje figury geometryczne, które mo¿nabezpoœrednio narysowaæ na formatce.

Podstawowe w³asnoœci:

Brush (typu TBrush) – wzorzec i kolor wype³niania,Pen (typu TPen) – rodzaj i kolor obrysu,Shape (typu TShapeType) – rodzaj figury, przy czym

type TShapeType = (stRectangle, stSquare, stCirle, stEllipse, stRoundRect, stRoundSquare);DEL-7(7 z 59)

Page 8: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Image (typ TImage)

Komponent Image znajduje siê na stronie Additionalpalety komponentów. Opisuj¹cy go typ TImage jestzdefiniowany w module ExtCtrls.

S³u¿y do wyœwietlania rysunków przygotowanych w ró¿nych formatach: JPG (JPEG), BMP, ICO orazWMF (EWF).

Podstawowe w³asnoœci:

Canvas (typu TCanvas) – w³asnoœæ dostêpna tylko, gdy w³asnoœæ Picture (zob. dalej) okreœla mapê bitow¹ (za jej pomoc¹ mo¿na np. dodaæ teskt do rysunku – metoda TextOut),

DEL-7(8 z 59)

Page 9: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Image (typ TImage)

Podstawowe w³asnoœci (cd.):

Center (typu Boolean) – przy wartoœci True oznacza centrowanie rysunku (wzglêdem komponentu Image );

wartoœæ tej w³asnoœci nie ma ¿adnego znaczenia, gdywartoœci¹ w³asnoœci AutoSize jest True lub wartoœci¹w³asnoœci Stretch (zob. dalej) jest True, a w³asnoœæPicture nie okreœla piktogramu;

Picture (typu TPicture) – okreœla obiekt zawieraj¹cy piktogram, mapê bitow¹, metazbiór lub rysunek o klasie zdefiniowanej przez u¿ytkownika,

DEL-7(9 z 59)

Page 10: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Image (typ TImage)

Stretch (typu Boolean) – przy wartoœci True okreœla takie przeskalowanie rysunku, ¿e bêdzie on dok³adnie dopasowany do komponentu Image;

Podstawowe w³asnoœci (cd.):

jeœli w³asnoœæ Picture okreœla piktogram, to wartoœæ tejw³asnoœci jest bez znaczenia.

DEL-7(10 z 59)

Page 11: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

Komponent ten znajduje siê na stronie Additional paletykomponentów i s³u¿y do wykonywania wykresów.

Do okreœlania ró¿nych charakterystyk wykresów s³u¿yEdytor Wykresów (ang. Chart Editor), który ustalawartoœci odpowiednich w³asnoœci.

Wartoœci te mog¹ byæ zmieniane podczas wykonywaniaprogramu przez bezpoœrednie przypisanie nowychwartoœci do w³asnoœci lub za pomoc¹ metod typuTChart.

Dane do wykresu generuje siê podczas wykonywaniaprogramu. DEL-7(11 z 59)

Page 12: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� umieœciæ komponent na formatce,

� umiejscowiæ kursor myszki na tym komponencie i nacisn¹æ prawy klawisz myszki,

� w wyœwietlonym menu kotekstowym wybraæpolecenie Edit Chart, co spowoduje ukzanie siêna ekranie wielostronicowego okna EdytoraWykresów,

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

Podstawowe czynnoœci zwi¹zane z u¿yciemkomponentu Chart:

DEL-7(12 z 59)

Page 13: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� uworzyæ seriê danych dowykresu, tj.

�wybraæ przycisk Add nastronie Chart, co spowodujewyœwietlenie galerii rodzajówwykresów,

�wybraæ jeden rodzaj (póŸniejmo¿na go zmieniæ).

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

Podstawowe czynnoœci zwi¹zane z u¿yciemkomponentu Chart:

wybraæ ten przycisk

DEL-7(13 z 59)

Page 14: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

Rodzaje wykresów

DEL-7(14 z 59)

Page 15: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

Edytor wykresówautomatyczniewygeneruje dlawybranegorodzaju wykresulosow¹ seriêdanych, dziêkiczemu wykresbêdzie widocznyna etapieprojektowaniaprogramu.

DEL-7(15 z 59)

Page 16: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

Uwaga: Losowe wartoœci wygenerowane przez EdytorWykresów obowi¹zuj¹ tylko w fazieprojektowania (próba wykonania programuspowoduje wyœwietlenie „pustego” wykresu).

Wartoœci, dla których ma byæ wykonany wykres mo¿naustaliæ w Edytorze Wykresów przez okreœlenie Ÿród³adanych (zob. system pomocy) lub przez dodanieodpowiednich instrukcji w tekœcie Ÿród³owym.

DEL-7(16 z 59)

Page 17: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� umieœciæ przycisk na formatce,

� napisaæ nastêpuj¹ce instrukcje obs³ugi zdarzenia OnClick dla tegoprzycisku:

Elementy ... zwi¹zane z grafik¹Komponent Chart (typ TChart)

with Series1 do begin Add (40, ’2000’, clRed); Add (60, ’2002’, clBlue); Add (80, ’2004’, clGreen) end;

Series1 – domyœlna nazwa serii danych. Pierwszy parametr metody Addokreœla wartoœæ wspó³rzêdnej Y (wspó³rzêdna X jest obliczona automatycznie)dodawanego punktu. Drugi parametr opisuje ten punkt (mo¿e byæ ³añcuchempustym). Trzeci parametr jest opcjonalny (mo¿e byæ clTeeColor – kolorwykresu).

Przyk³ad (dodanie wartoœci danych w tekœcie)

DEL-7(17 z 59)

Page 18: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Formaty zbiorów z rysunkamiMapy bitowe

Mapa bitowa jest binarn¹ reprezentacj¹ rysunku i sk³ada siê z dwu czêœci:

# rekordu typu TBitmapInfo opisuj¹cego wymiaryrysunku oraz paletê kolorów, któr¹ systemWindows bêdzie u¿ywaæ do jego wyœwietlenia,

# tablicy bajtów definiuj¹cej ka¿dy piksel mapybitowej.

Mapy bitowe s¹ zapisywane w zbiorach .bmp.

DEL-7(18 z 59)

Page 19: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Formaty zbiorów z rysunkamiPiktogramy (ang. icons)

Piktogramy s¹ zasobami œrodowiska Windows i s¹zapisywane w zbiorach .ico.

Na ogó³ piktogramy maj¹ dwa rozmiary:

# du¿y – 32×32 piksele (reprezentuj¹ np. program napulpicie),

# ma³y – 16×16 pikseli (stosowane np. w naro¿nikachokienek i paskach menu),

Piktogramy mo¿na przygotowaæ za pomoc¹programu Image Editor, a w jêzyku Delphi Pascal s¹reprezentowane przez obiekty typu TIcon.

DEL-7(19 z 59)

Page 20: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Formaty zbiorów z rysunkamiMetazbiory

Metazbiory zawieraj¹ zestaw funkcji GDI, którychwykonanie powoduje narysowanie obrazu.

G³ówne zalety:

# ma³y kod wynikowy,

# mo¿liwoœæ dok³adnego redagowania zawartoœcirysunku.

G³ówna wada:

# brak mo¿liwoœci bezpoœredniego zapamiêtania w tym formacie zeskanowanego rysunku.

DEL-7(20 z 59)

Page 21: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent Animate (typ TAnimate)

Komponent ten znajduje siê na stronie Win32 paletykomponentów, a definicja typu jest umieszczona w module ComCtrls .

Jest ³¹czem do elementu steruj¹cego œrodowiskaWindows obs³uguj¹cego animacje w formacie AVI (skr. ang. Audio Video Interleaved).

Uwagi: 1)Animacja w formacie AVI jest ci¹giem map bitowych i chocia¿ mo¿e zawieraæ „œcie¿kê dŸwiêkow¹”, tokomponent wyœwietla tylko animacjê bez dŸwiêku.

2)Komponent mo¿e wyœwietlaæ zwyk³e (bez kompresji)zbiory .avi lub skompresowane w systemie RLE (skr.ang. run-length encoding). DEL-7(21 z 59)

Page 22: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent Animate (typ TAnimate)

G³ówne w³asnoœci:

FileName (typu TFileName) – okreœla nazwê zbioru z animacj¹ AVI,

StartFrame (typu SmallInt) – okreœla pierwsz¹ wyœwietlan¹ klatkê (klatki s¹ numerowane od 1),

StopFrame (typu SmallInt) – okreœla ostatni¹ wyœwietlan¹ klatkê.

Uwaga: Metoda Play (zob. dalej) pokrywa wartoœci w³asnoœciStartFrame i StopFrame wartoœciami parametrówFromFrame i ToFrame.

DEL-7(22 z 59)

Page 23: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent Animate (typ TAnimate)

G³ówne metody:

Play – wyœwietlenie sekwencji klatek z animacj¹ AVI

procedure Play (FromFrame, ToFrame : Word; Count : Integer);

(parametr Count okreœla liczbê powtórzeñ sekwencji),

Stop – zatrzymanie wyœwietlenia (metoda bezparametrowa),

Seek – wyœwietlenie okreœlonej klatki

procedure Seek (Frame : SmallInt);

DEL-7(23 z 59)

Page 24: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Typ TMediaPlayer jest „paskalowym pokryciem”mechanizmu obs³ugi multimediów w œrodowiskuWindows (ang. MCI – skrót od Media Control Interface).Jest zdefiniowany w module MPlayer.

Komponent tego typu, znajduj¹cy siê na stronie Systempalety komponentów, zawiera zestaw przyciskówumo¿liwiaj¹cych sterowanie takimi urz¹dzeniami, jaknapêd CD-ROM, odtwarzacz MIDI lub VCR.

Urz¹dzenie multimedialne mo¿e byæ sprzêtowe lubprogramowe. DEL-7(24 z 59)

Page 25: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Znaczenia przycisków:

przycisk „wartoœæ” funkcja

btPlay odtwarzaniebtPause przerwanie odtwarzania (gdy

odtwarzanie jest ju¿ przerwane– wznowienie odtwarzania)

btStop zatrzymanie odtwarzania lubnagrywania

btNext przejœcie do nastêpnej œcie¿ki (lub dokoñca, gdy œrodek przekazu nie maœcie¿ek)

DEL-7(25 z 59)

Page 26: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Znaczenia przycisków:

przycisk „wartoœæ” funkcja

btPrev przejœcie do poprzedniej œcie¿ki (lub dopocz¹tku, gdy œrodek przekazu nie maœcie¿ek)

btStep przejœcie w przód pewn¹ liczbê „ramek”btBack przejœcie w ty³ pewn¹ liczbê „ramek”btRecord rozpoczêcie nagrywaniabtEject „wyrzucenie” noœnika (np. wysuniêcie

szuflady napêdu CD-ROM)

DEL-7(26 z 59)

Page 27: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Podstawowe w³asnoœci:

DeviceType (typu TMPDeviceTypes)

– okreœlenie rodzaju urz¹dzenia multimedialnego,które powinno byæ otwarte przez odtwarzacz

type TMPDeviceTypes = (dtAutoSelect,dtAVIVideo, dtCDAudio, dtDAT,dtDigitalVideo , dtMMMovie , dtOther,dtOverlay, dtScanner, dtSequencer,dtVCR, dtVideodisc, dtWaveAudio);

DEL-7(27 z 59)

Page 28: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Podstawowe w³asnoœci:

DeviceType (typu TMPDeviceTypes)

Uwagi: 1) Domyœlnie przyjmuje siê dtAutoSelect i wówczasrodzaj urz¹dzenia jest okreœlany automatycznie napodstawie rozszerzenia nazwy zbioru podanego we w³asnoœci FileName (zob. dalej).

2) Aby podczas wykonywania programu odtwarzaczotworzy³ automatycznie urz¹dzenie okreœloneprzez wartoœæ w³asnoœci DeviceType, wartoœci¹w³asnoœci AutoOpen musi byæ True.

DEL-7(28 z 59)

Page 29: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Podstawowe w³asnoœci:

FileName (typu string)

– okreœla nazwê zbioru otwieranego za pomoc¹metody Open (bêdzie dalej) lub zapisywanego zapomoc¹ metody Save (te¿ bêdzie dalej)

Mode (typu TMPModes)

– okreœla stan urz¹dzenia medialnego

type TMPModes = (mpNotReady, mpStopped,mpPlaying, mpRecording, mpSeeking,mpPaused, mpOpen);

DEL-7(29 z 59)

Page 30: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Podstawowe w³asnoœci:

EnabledButtons (typu TButtonSet)

– okreœla przyciski odtwarzacza

type TMPBtnType = (btPlay, btPause, btStop,btNext, btPrev, btStep, btBack,btRecord, btEject);

TButtonSet = set of TMPBtnType;

DEL-7(30 z 59)

Page 31: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Podstawowe w³asnoœci:

StartPos i EndPos (typu Longint)

– okreœla pozycjê pocz¹tku i koñca odtwarzaniabie¿¹cego noœnika (pozycje te s¹ okreœlone zapomoc¹ aktualnego formatu czasu – zob. w³asnoœæTimeFormat dalej)

Uwaga: Zmiana wartoœci w³asnoœci StartPosobowi¹zuje dopiero przy nastêpnymwywo³aniu metody Play lub StartRecording(zob. dalej).

DEL-7(31 z 59)

Page 32: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Podstawowe w³asnoœci:

TimeFormat (typu TMPTimeFormats )

– okreœla format u¿ywany do okreœlenia pozycji (m. in. pocz¹tkowej, koñcowej, bie¿¹cej) orazinterpretacji wartoœci w³asnoœci StartPos, Length,Position i EndPos

type TMPTimeFormats = (tfMilliseconds ,tfHMS, tfMSF, tfFrames, tfSMPTE24,tfSMPTE25, tfSMPTE30, tfSMPTE30Drop,tfBytes, tfSamples, tfTMSF);

DEL-7(32 z 59)

Page 33: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

TimeFormat (typu TMPTimeFormats )

Uwagi: 1) Nie wszystkie formaty s¹ dozwolone dla ka¿degourz¹dzenia.

Podstawowe w³asnoœci:

2) W ka¿dym formacie odpowiednie wartoœci s¹pamiêtane jako czterobajtowe liczby ca³kowite.

Znaczenia elementów typu TMPTimeFormats:

tfMilliseconds – milisekundy,tfHMS – godziny, minuty i sekundy (najmniej znacz¹cy

bajt okreœla liczbê godzin, a najbardziejznacz¹cy bajt nie jest u¿ywany),

DEL-7(33 z 59)

Page 34: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Znaczenia elementów typu TMPTimeFormats (cd.):tfMSF – minuty, sekundy i ramki (ang. frames)

(najmniej znacz¹cy bajt okreœla liczbê minut, a najbardziej znacz¹cy bajt nie jest u¿ywany),

tfFrames – ramki,tfSMPTE24 – 24-ramkowy format SMPTE (skr. ang. Society

of Motion Picture and Television Engineers), w którym najmniej znacz¹cy bajt zwiera liczbêgodzin, nastêpny – minut, dalej – sekund, a bajt najbardziej znacz¹cy – liczbê ramek (w standardzie tym wystêpuj¹ 24 ramki nasekundê),

tfSMPTE25 – 25-ramkowy format SMPTE,DEL-7(34 z 59)

Page 35: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Znaczenia elementów typu TMPTimeFormats (cd.):tfSMPTE30 – 30-ramkowy format SMPTE,tfSMPTE30Drop – jak tfSMPTE24,tfBytes – bajty,tfSamples – ?,tfTMSF – œcie¿ki, minuty, sekundy i ramki (od bajtu

najmniej znacz¹cego).

DEL-7(35 z 59)

Page 36: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Wa¿niejsze metody (wszystkie bezparametrowe):

Back – przesuniêcie bie¿¹cego noœnika wstecz o liczbê ramek okreœlon¹ przez wartoœæw³asnoœci Frames,

Close – zamkniêcie urz¹dzenia multimedialnego,

Eject – „wyrzucenie” noœnika (np. wysuniêcieszuflady napêdu CD-ROM),

Next – przejœcie do nastêpnej œcie¿ki bie¿¹cegourz¹dzenia multimedialnego,

Pause – przerwanie odtwarzania (gdy odtwarzanie jestprzerwane – wznowienie odtwarzania), DEL-7(36 z 59)

Page 37: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Obs³uga multimediówKomponent MediaPlayer (typ TMediaPlayer)

Wa¿niejsze metody (wszystkie bezparametrowe):

Play – odtwarzanie,Previous – przejœcie do poprzedniej œcie¿ki

bie¿¹cego urz¹dzenia multimedialnego,Rewind – ustalenie bie¿¹cej pozycji na pocz¹tku

noœnika (pamiêtanym we w³asnoœci Start),Step – przesuniêcie do przodu o liczbê ramek

okreœlon¹ wartoœci¹ w³asnoœci Frames,StartRecording

– rozpoczêcie nagrywania,

DEL-7(37 z 59)Stop – zatrzymanie odtwarzania lub nagrywania.

Page 38: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� funkcje paskalowe obliczaj¹ce (przybli¿one) wartoœciodpowiednich funkcji matematycznych powinny byæpobierane z biblioteki DLL (jej przygotowanie i skompilowanie bêdzie nale¿a³o do u¿ytkownika),

� funkcje te bêd¹ importowane do programu w sposóbdynamiczny,

� liczba tych funkcji nie powinna byæ ograniczona „nasztywno” w programie, a jedynym dla niej ograniczeniempowinna byæ pojemnoœæ dostêpnej pamiêci.

Rysowanie wykresów funkcji

(temat przedstawiony w oparciu o przyk³adprogramu okienkowego rysuj¹cego wykres jednejlub kilku funkcji jednej zmiennej)

Za³o¿enia dotycz¹ce funkcji:

DEL-7(38 z 59)

Page 39: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

� rozmiary okienka (wysokoœæ i szerokoœæ), w którymbêd¹ przedstawiane wykresy, mog¹ ulegaæ zmianie(jak w przypadku ka¿dego niedialogowego okienkaœrodowiska Windows);

� ka¿dy wykres nale¿y skalowaæ wzglêdem rozmiarówokienka oraz wzglêdem innych wykresów.

Rysowanie wykresów funkcji

Za³o¿enia dotycz¹ce sposobu rysowania wykresów:

Lkoniecznoœæ przeskalowania wykresów po ka¿dej zmianie tych rozmiarów, czyli narysowanie ich od nowa, sk¹d wynika koniecznoœæ pamiêtania adresówwszystkich funkcji paskalowych (obliczaj¹cych wartoœciodpowiednich funkcji matematycznych) importowanychdynamicznie z biblioteki DLL, albo importowanie ich od nowaprzy ka¿dej zmianie rozmiarów okienka DEL-7(39 z 59)

Page 40: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcji(Najpierw) narysowanie wykresu jednej funkcji

Dla danej funkcji (matematycznej) y = f(x) nale¿yokreœliæ przedzia³ [ a, b] zmiennej x.1) Przyjmuj¹c, ¿e maksymalnej wspó³rzêdnej x obszaru

roboczego okienka (obszaru, w którym bêdziewykonany wykres) odpowiada wartoœæ b, a wspó³rzêdnej x tego obszaru o wartoœci 0 – wartoœæ a, znajdujemy najmniejsz¹ i najwiêksz¹wartoœæ funkcji w przedziale [ a, b].Wartoœæ tê wyznaczamy obliczaj¹c wartoœci yi funkcjiod x = a do x = b z krokiem odpowiadaj¹cym jednemupikselowi ekranu w kierunku osi x, tj. dla

DEL-7(40 z 59)

Page 41: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiNarysowanie wykresu jednej funkcji

przy czym k + 1 oznacza liczbê pikseli obszaruroboczego okienka w kierunku osi Ox (piksele s¹ponumerowane od zera).

Otrzymamy w ten sposób wartoœci yi.

DEL-7(41 z 59)

Page 42: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiNarysowanie wykresu jednej funkcji

2) Korzystaj¹c z wzorów:

wyznaczamy wspó³rzêdne kolejnych pikseli obszaruroboczego okienka, które ³¹czymy odcinkami.

gdzie symbol [.] oznacza czêœæ ca³kowit¹, a l + 1 – liczbê pikseli obszaru roboczego w kierunku osi Oy,

DEL-7(42 z 59)

Page 43: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiNarysowanie wykresu jednej funkcji

W podanych wzorach przyjêto, ¿e wspó³rzêdna yobszaru roboczego okienka o wartoœci 0 odpowiadawartoœci ymax, a l odpowiada wartoœci ymin, cospowoduje odwrócenie kierunku osi Oy ekranu(skierowanej w dó³), a wiêc otrzymanie wykresu w uk³adzie wspó³rzêdnych prostok¹tnych powszechnieprzyjmowanym (z osi¹ Oy skierowan¹ do góry).Uwaga: Dodatkowo mo¿na w obszarze roboczym okienka narysowaæ

uk³ad wspó³rzêdnych (przyjmuj¹c odpowiednie skalowanie).Osie liczbowe rysuje siê zwykle z lewej strony wspomnianegoobszaru (oœ Oy) i u jego do³u (oœ Ox). Punkt O przeciêcia siêobu osi nie musi byæ przy tym punktem o wspó³rzêdnych (0, 0) (wzglêdem wykresu funkcji). DEL-7(43 z 59)

Page 44: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiRysowanie wykresów kilku ( n) funkcji

1) Postêpujemy podobnie, tyle ¿e spoœród wszystkichprzedzia³ów [aj, bj] (j = 1, 2, ... , n) wybieramyprzedzia³ [amin, bmax], gdzie

a nastêpnie przyjmujemy, ¿e maksymalnejwspó³rzêdnej x obszaru roboczego okienkaodpowiada wartoœæ bmax, a wspó³rzêdnej x tegoobszaru o wartoœci 0 – wartoœæ amin.

DEL-7(44 z 59)

Page 45: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiRysowanie wykresów kilku ( n) funkcji

2) Dla j-tej funkcji ( j = 1, 2, ... , n) wyznaczamynajmniejsz¹ yj, min i najwiêksz¹ yj, max wartoœæ w przedziale [ aj, bj], obliczaj¹c w tym celu wartoœci yij

od x = aj do x . bj z krokiem odpowiadaj¹cymjednemu pikselowi, czyli dla

gdzie symbol [.] oznacza czêœæ ca³kowit¹, sk¹d

DEL-7(45 z 59)

Page 46: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiRysowanie wykresów kilku ( n) funkcji

3) Wykonujemy skalowania funkcji w kierunku osi Oy.W tym celu obliczamy najpierw wartoœci

DEL-7(46 z 59)

Page 47: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiRysowanie wykresów kilku ( n) funkcji

Wspó³rzêdne kolejnych pikseli wykresu j-tej funkcji, które ³¹czymy odcinkami, wyznaczamy z wzorów:

i przyjmujemy, ¿e wspó³rzêdna y obszaru roboczegookienka o wartoœci 0 odpowiada wartoœci ymax, a maksymalnej wspó³rzêdnej l tego obszaruodpowiada wartoœæ ymin.

DEL-7(47 z 59)

Page 48: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Po uruchomieniu programu, ale jeszcze przedwczytaniem funkcji , których wykresy bêd¹ rysowane,czêœæ robocza okienka powinna zawieraæ osie uk³aduwspó³rzêdnych.

Narysowanie tych osi wymaga okreœlenia pewnychw³asnoœci pióra, które mo¿na opisaæ w metodzieobs³ugi zdarzenia OnActivate dotycz¹cego formatki:

DEL-7(48 z 59)

Page 49: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

procedure TForm1.FormActivate (Sender : TObject);begin with Canvas.Pen do begin Style:=psSolid; Width:=1; Mode:=pmCopy; Color:=clBlue end; f:=nil; a:=nil; b:=nil; kolor:=nil; grubosc:=nil; ...end;

Zmienne f, a, b, kolor i grubosc s¹ tablicamidynamicznymi s³u¿¹cymi do przechowywaniainformacji o funkcjach, koñcach przedzia³ówokreœlonoœci ka¿dej funkcji oraz kolorach i gruboœci linii u¿ytych do narysowania ichwykresów.

Zmienne te powinny byæ zadeklarowane jakoglobalne w czêœci implementacyjnej modu³uzwi¹zanego z formatk¹:

type funkcja = function (const x : Extended) : Extended;var f : array of funkcja;

a, b : array of Extended; kolor, grubosc : array of Integer;

DEL-7(49 z 59)

Page 50: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Uk³ad wspó³rzêdnych rysujemy za pomoc¹ metody obs³ugi zdarzenia OnPaintzwi¹zanego z formatk¹ (zaprogramowanie narysowania tego uk³adu w meto-dzie obs³ugi innego zdarzenia, np. OnActivate lub OnCreate, nie jest popraw-ne, gdy¿ zostanie on wymazany i pokryty przez nastêpne zdarzenie OnPaint):

procedure TForm1.FormPaint (Sender : TObject);begin with Canvas do begin MoveTo (50, 10); LineTo (50, ClientHeight!20); MoveTo (45, 15); LineTo (50, 10); LineTo (55, 15); MoveTo (40, 20); LineTo (50, 20); MoveTo (40, (ClientHeight!10) div 2); LineTo (50, (ClientHeight!10) div 2); TextOut (60, 5, ’y’); MoveTo (40, ClientHeight!30); LineTo (ClientWidth!10, ClientHeight!30);

DEL-7(50 z 59)

Page 51: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

MoveTo (ClientWidth!15, ClientHeight!35); LineTo (ClientWidth!10, ClientHeight!30); LineTo (ClientWidth!15, ClientHeight!25); MoveTo ((ClientWidth+30) div 2, ClientHeight!30); LineTo ((ClientWidth+30) div 2, ClientHeight!20); MoveTo (ClientWidth!20, ClientHeight!30); LineTo (ClientWidth!20, ClientHeight!20); TextOut (ClientWidth!15, ClientHeight!55, ’x’) endend;

U¿ycie w³asnoœci ClientWidth i ClientHeight w wywo³aniach metodMoveTo, LineTo i TextOut zapewnia narysowanie uk³adu wspó³rzêdnychwzglêdem aktualnych rozmiarów okienka.

DEL-7(51 z 59)

Page 52: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Aby uk³ad wspó³rzêdnych i wykresy funkcji (!) by³y narysowane poprawnie poka¿dej zmianie rozmiarów okienka, powinniœmy napisaæ metodê obs³ugizdarzenia OnResize:

procedure TForm1.FormResize (Sender : TObject);var prostokat : TRect;begin if Width<350 then Width:=350; if Height<250 then Height:=250; with prostokat do begin Left:=0; Top:=0; Right:=ClientWidth ; Bottom :=ClientHeight end; Canvas.FillRect (prostokat); FormPaint (Sender); if f<>nil then Rysuj (Sender)end;

Instrukcje warunkoweuniemo¿liwiaj¹ zbytniezmniejszenie okienka, przez couk³ad wspó³rzêdnych i wykresys¹ zawsze rysowanepoprawnie.Wyczyszczenies tarejzawartoœci okienka odbywa siêprzez wype³nienie jego ca³egoobszaru roboczego przy u¿yciudomyœlnego pêdzla o domyœlnym kolorze.

DEL-7(52 z 59)

Page 53: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Rysowanie wykresów funkcji programuje siê zwykle w postaci metodyprywatnej (nazwiemy j¹ Rysuj). Do okreœlenia funkcji, przedzia³ów [aj, bj] orazkolorów i gruboœci linii dla poszczególnych wykresów w metodzie tej u¿ytonielokalnych zmiennych f, a, b, kolor i grubosc, które opisano bli¿ej.

Szkielet metody:procedure TForm1.Rysuj (Sender : TObject);var i, j, kj, n, xp, yp : Integer; amin, krokx, kroky, ymax : Extended;begin ... for j:=0 to n do begin with Canvas.Pen do begin Width:=grubosc[j]; Color:=kolor[j] end;

ustalenie wartoœci amin, ymax, krokx, kroky– zob. wzory

ustalenie gruboœci linii i koloru (j+1)-szego wykresu DEL-7(53 z 59)

Page 54: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

kj:=Floor((b[j]!a[j])/krokx); for i:=0 to kj do begin xp:=50+i+Floor((a[j]!amin)/krokx); yp:=20+Floor((ymax!y[j,i])/kroky); with Canvas do if i=0 then MoveTo (xp, yp) else LineTo (xp, yp) end; Canvas.TextOut (xp+5, yp!10, IntToStr(j+1)); end; ...end;

rysowanie (j+1)-szego wykresu

oznaczenie (j+1)-szego wykresuDEL-7(54 z 59)

Page 55: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Nastêpne etapy konstrukcji programu:

# oprogramowanie dynamicznegowczytania biblioteki DLL (zapomoc¹ komponentuOpenDialog) i dynamicznegoimportowania funkcji (jednej lubkilku) z tej biblioteki (mo¿nautworzyæ oddzielne okienkos³u¿¹ce tak¿e do okreœlaniaprzedzia³ów [aj, bj]; powinno tuwyst¹piæ przydzielenie pamiêcitablicom dynamicznym), DEL-7(55 z 59)

Page 56: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Nastêpne etapy konstrukcji programu:

# oprogramowanie zwalniania pamiêci przydzielonejbibliotece DLL i tablicom dynamicznym, np. zapomoc¹ metody obs³ugi zdarzenia OnClose,procedure TForm1.FormClose (Sender : TObject);begin if identDLL<>0 then FreeLibrary (identDLL); Finalize (f); Finalize (a); Finalize (b); Finalize (grubosc); Finalize (kolor); Closeend;

DEL-7(56 z 59)

Page 57: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

Nastêpne etapy konstrukcji programu:

# oprogramowanie zmiany kolorów wykresów, np. zapomoc¹ komponentu ColorDialog i w³asnego okienkado okreœlania numerów wykresów,

# oprogramowanie okreœlania gruboœci linii, np. zapomoc¹ w³asnego okienka z komponentamiRadioButton.

DEL-7(57 z 59)

Page 58: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

Rysowanie wykresów funkcjiKonstrukcja programu rysowania wykresów funkcji

DEL-7(58 z 59)

Page 59: Zaawansowane programowanie w (pakiecie) Delphi · Piktogramy (ang. icons) Piktogramy s¹ zasobami œrodowiska Windows i s ... w tym formacie zeskanowanego rysunku. DEL-7(20 z 59)

... i po prezentacji

... alepo

wyk³adzietak¿e !!!

DEL-7(59 z 59)