1
P RO JE KT O WANI E O BI E KT O WE –
ûZLF]HQLD ODERUDWRU\MQH
TEMAT 1: Borland Delphi – podstawy tworzenia aplikacji cz. 1.
TEMAT 1: Borland Delphi – podstawy tworzenia aplikacji cz. 1.
1.
ûZLF]HQLD ZVW SQH.
=DSR]QDü VL ] HOHPHQWDPL SXOSLWX SR XUXFKRPLHQLX 'HOSKL
1.1.
8VWDZLDQLH ZáDFLZRFL NRPSRQHQWyZ Button i Lablel w oknie ObjectInspector.
•
Wybierz z menu File\New Application
WZRU]HQLH QRZHM DSOLNDFML L REHMU]\M QDU] G]LD GR WZRU]HQLD DSOLNDFML
okno ObjectInspector L MHJR ]DNáDGNL Properties – ZáDFLZRFL NRPSRQHQWX L Events – ]GDU]HQLD ]ZL]DQH
z komponentem,
XPLHV]F]RQH QD SDVNX QDU] G]LRZ\P ]DNáDGNL Standard, Additional, Win32, System, DataAcces itd.,
NRPSRQHQW\ ]DNáDGNL Standard Z FHOX LGHQW\ILNDFML SU]\WU]\PDM ZVND(QLN P\V]\ QD RGSRZLHGQLP U\VXQNX
MainMenu, PopupMenu, Label, Button itp.
•
1D QRZHM IRUPLH QDU\VXM HW\NLHW (Label) i przycisk (Button), NOLNDMF P\V] QD HOHPHQFLH ] OLVWZ\ QDU] G]LRZHM
L U\VXMF QD IRUPLH MHJR *GDQH Z\PLDU\
•
:\VHOHNFMRQXM HW\NLHW L REHMU]\M RNQR ObjectInspectora dla etykiety. To samo wykonaj dla przycisku. Czy
ZáDFLZRFL L ]GDU]HQLD GOD SU]\FLVNX V WDNLH VDPH MDN GOD HW\NLHW\" =ZUyü XZDJ QD ZáDFLZRFL Name, Caption.
6SUyEXM ZSLVDü GR RNQD RERN ZáDFLZRFL Caption VáRZR Etykieta. =DREVHUZXM ]PLDQ\ QD HW\NLHFLH 3U]HVX P\V]
SU]\FLVN Z LQQH PLHMVFH L ]DREVHUZXM ]PLDQ\ ZH ZáDFLZRFLDFK Left, Top, Width.
•
=PLH QDSLV QD SU]\FLVNX Qa Komunikat i napis na etykiecie na Etykieta QDOH*\ XVWDZLü ZáDFLZRü Caption
w oknie Objectinspectora).
1.2. Zadanie aplikacji:
SR QDFLQL FLX SU]\FLVNX Z\ZLHWODQH MHVW RNQR NRPXQLNDWX ] QDSLVHP To komunikat.
•
8WZyU] QRZ DSOLNDFM Z\ELHUDMF ] PHQu File\New Application.
•
Na formie wstaw przycisk z napisem Komunikat.
•
3RGHSQLM SRG SU]\FLVN SURFHGXU –]GDU]HQLH Z\NRQXMF QDVW SXMFH F]\QQRFL
Z\ELHU] ]DNáDGN Events w oknie ObjectInspectora,
wybierz zdarzenie OnClick,
ZHMG( GR HG\FML SURFHGXU\ NOLNDMF SRGZyMQLH Z RNLHQNX RERN QDSLVXOnClick
OXE NOLNDMF SRGZyMQLH QD SU]\FLVNX
ZSLV] PL G]\ begin i end WUHü
ShowMessage('To komunikat')
Z\ZRáDQLH IXQNFML Z\ZLHWODMFHM RNLHQNR NRPXQLNDWX
•
=DSLV] SURMHNW X*\ZDMF ] PHQX File\Save All.
•
Uruchom projekt (przycisk Run lub z menu: Run\Run)
L VSUDZG( G]LDáDQLH SU]\FLVNX
Komunikat.
•
3U]HMG( GR HG\FML ]DPNQL
FLH RNQD ] DSOLNDFM L GRGDM QD IRUPLH QRZ\ SU]\FLVN – MHJR ]DGDQLHP E
G]LH ]DPNQL
FLH
formularza:
]PLH QDSLV QD SU]\FLVNX QD Zamknij, XVWDZLDMF ZáDFLZRü Caption w oknie
ObjectInspectora,
dla zdarzenia OnClick ZSLV] WUHü SURFHGXU\
Close
]DPNQL FLH DNW\ZQHJR RNQD — VSRZRGXMH WR Z\MFLH
z aplikacji.
•
2EHMU]\M ZV]\VWNLH HOHPHQW\ SURMHNWX SU]HMG( GR PRGXáX (Unit1.pas) L VSUDZG( MDNLH ]DSLV\ SRZVWDá\ WDP
Z Z\QLNX 7ZRLFK G]LDáD 3U]H]QDF]HQLH SRV]F]HJyOQ\FK VHNFML PRGXáX L SURMHNWX SRGDQH MHVW Z ]DáF]QLNX QU
•
Zachowaj pliki aplikacji: wybierz z menu File\Save All,
NOLNQLM SUDZ\P SU]\FLVNLHP P\V]\ Z Z\ZLHWORQ\P RNQLH
L SU]HMG( GR WZRU]HQLD QRZHJR IROGHUD 2WZyU] XWZRU]RQ\ IROGHU L ]DSLV] PRGXá (Unit1.pas) oraz projekt aplikacji,
]PLHQLDMF MHG\QLH QD]Z SURMHNWX QD DGHNZDWQ GR G]LDáDQLD DSOLNDFML
okno ObjectInspector
]DNáDGND ZáDFLZRFL
]DNáDGND ]GDU]H
przycisk uruchomienia
]DNáDGND
z komponentami
komponenty
okno formy
RNQR PRGXáX
2
1.3.
3OLNL VNáDGRZH DSOLNDFML.
2WZyU] GRZROQ\ NDWDORJ ] DSOLNDFM Delphi L VSUDZG( MDNLH SOLNL WDP Z\VW SXM =ZUyü XZDJ QD UR]V]HU]HQLD SOLNyZ
RUD] QD SOLNL R WDNLFK VDP\FK QD]ZDFK Uy*QLFH VL UR]V]HU]HQLHP 6SUDZG( ]DZDUWRü SOLNX R UR]V]HU]HQLX *.dpr, *.pas.
2EHMU]\M Z QRWDWQLNX ]DZDUWRü SOLNyZ *.dfm, *.dof.
Informacje dodatkowe.
Aplikacja tworzona pod Delphi
VNáDGD VL ] QDVW SXMF\FK HOHPHQWyZ
•
PRGXá ] RSLVDPL SURFHGXU Z 3DVFDOX unit1.pas,
•
projekt — project1.dpr —
MHVW WR JáyZQ\ SOLN SURJUDPX ]DZLHUDMF\ VSLV ZV]\VWNLFK IRUP DSOLNDFML RUD] NRG
LQLFMXMF\
•
plik z rozszerzeniem *.dfm, nazwa
WDND MDN QD]ZD PRGXáX — jest to graficzny plik formy,
•
plik z rozszerzeniem *.dof, nazwa taka, jak nazwa pliku projektu: project1.dof — jest to plik opcji projektu — plik
WHNVWRZ\ ]DZLHUDMF\ XVWDZLHQLD RSFML NRPSLODWRUD OLQNHUD SDUDPHWU\ SURJUDPX
•
plik z rozszerzeniem *.dsk, nazwa jest taka sama, jak pliku projektu project1.dsk —
MHVW WR SOLN XVWDZLH URGRZLVND
(Environment Option),
•
plik z rozszerzeniem *.res — plik zasobów graficznych: ikony, przyciski rysunkowe itp.,
•
SOLNL ] W\OG Z UR]V]HU]HQLX *.~* — V WR SOLNL ]DSDVRZH
•
SOLNL SRZVWDáH SR NRPSLODFML
*.exe — plik wykonywalny, *.dcu —
SOLN VNRPSLORZDQHJR PRGXáX
2. Przypisanie ikony do aplikacji.
Zadanie aplikacji:
SU]\SLVDQLH GR DSOLNDFML ZáDVQHM LNRQ\
•
2WZyU] SRSU]HGQL DSOLNDFM
•
Wybierz z menu: Project\Options\Application LoadIcon.
•
:\ELHU] GRZROQ LNRQ ] IROGHUD Borland Shared\Images\Icons.
•
=DSLV] DSOLNDFM Save All) i utwórz plik wykonywalny (Project\Compile).
•
3U]HMG( GR V\VWHPX Windows przez przycisk Start L VWRVXMF QS ([SORUDWRUD :LQGRZV utwórz skrót do aplikacji.
•
6SUDZG( HIHNW\ VZRMHM SUDF\
3. Menu aplikacji.
7ZRU]HQLH PHQX JáyZQHJR
Zadanie aplikacji:
DSOLNDFMD ]DZLHUD ZáDVQH PHQX SRVWDFL
L SURFHGXU\ REVáXJXMFH RSFMH PHQX
G]LDáDQLH RSFML PHQX Plik:
— wybranie opcji z menu Plik p
RZRGXMH Z\ZLHWOHQLH RNQD NRPXQLNDWX ] QD]Z RSFML
—
Z\EUDQLH RSFML =DPNQLM ]DP\ND IRUP
G]LDáDQLH RSFML PHQX (G\FMD
→
Edycja\Wypisz
QD HW\NLHFLH SRND]XMH VL QDSLV Powodzenia,
→
Edycja\Kasuj napis na etykiecie jest kasowany.
•
Na formie wstaw komponenty Label i MainMenu
] ]DNáDGNL Standard.
•
Przez dwuklik komponentu MainMenu
ZHMG( GR HG\WRZDQLD PHQX
•
8WZyU] PHQX GOD 7ZRMHM DSOLNDFML X]XSHáQLDMF ZáDFLZRü Caption odpowiedniej pozycji menu.
•
3U]H] ]DNáDGN Events OXE GZXNOLN RGSRZLHGQLHM RSFML SU]HMG( GR HG\cji procedur:
WUHü SURFHGXU GOD JUXS\ Plik:
6KRZ0HVVDJH :\EUDáH VFKRZDM WX RGSRZLHGQL NRPXQLNDW,
WUHü SURFHGXU GOD JUXS\ Edycja:
→
dla Wypisz:
Labell.Caption := 'Powodzenia'
→
dla Kasuj:
Labell.Caption := ''
3.2. Klawisze szybkiego reagowania.
D
R RSFML PHQX PR*HP\ SRGSLü JRUF\ NODZLV] 8*\FLH WHJR NODZLV]D RWZLHUD RGSRZLHGQL RSFM EH] NRQLHF]QRFL
ZFKRG]HQLD GR PHQX 'OD JáyZQ\FK RSFML PHQX JRUFH NODZLV]H X]\VNXMHP\ SU]H] ZVWDZLHQLH ]QDNX & przed
RGSRZLHGQL OLWHU QD]Z\ XVWDZLRQHM Z RSFML Caption 1DOH*\ SU]\ W\P XZD*Dü DE\ OLWHU\ SRSU]HG]RQH ]QDNLHP & nie
SRZWDU]Dá\ VL 7DN XWZRU]RQH JRUFH NODZLV]H G]LDáDM SRSU]H] NRPELQDFM $OW OLWHUD 3U]\SLVDQLH NODZLV]\ GR RSFML
SRGU] GQ\FK PR*OLZH MHVW W\ONR SRSU]H] XVWDZLHQLH ZáDFLZRFL ShortCut w oknie ObjectInspectora.
Zadanie aplikacji:
GR PHQX DSOLNDFML GRGDü NODZLV]H V]\ENLHJR UHDJRZDQLD
3
•
:\VHOHNFMRQXM PHQX ZHMG( GR HG\FML RSFML L GRGDM GOD RSFML JáyZQ\FK ]QDN &:
SU]HG OLWHU P dla opcji Plik,
SU]HG OLWHU E dla opcji Edycja,
2SFMH JáyZQH E G]LH PR*QD Z\ZRá\ZDü NRPELQDFM NODZLV]\ $OW 3 $OW (
•
'OD RSFML SRGU] GQ\FK Z\ELHU] JRUFH NODZLV]H SRSU]H] XVWDZLHQLH ZáDFLZRFL ShortCut:
NOLNDMF Z SROH ZáDFLZRFL ShortCut RWZyU] OLVW Z\ERUX
Z\ELHU] ] OLVW\ JRUFH NODZLV]H
•
Przetestuj apl
LNDFM
7ZRU]HQLH PHQX SRGU
F]QHJR
0HQX SRGU F]QH QD]\ZDQH LQDF]HM NRQWHNVWRZ\P Z\ZRá\ZDQH MHVW SUDZ\P SU]\FLVNLHP P\V]\ -HVW RQR
VNRMDU]RQH ] NRPSRQHQWHP QS ] SU]\FLVNLHP HW\NLHW IRUP LWS : 'HOSKL WZRU]\P\ MH ]D SRPRF QLHZLGRF]QHJR
komponentu PopupMenu, w taki sam sposób, jak menu aplikacji. Utworzone menu podpinamy do komponentu,
XVWDZLDMF GOD WHJR NRPSRQHQWX ZáDFLZRü PopupMenu QD QD]Z
PHQX
Zadanie aplikacji:
DSOLNDFMD ]DZLHUD PHQX SRGU F]QH GOD IRUP\ SR Z\EUDQLX RSFML Zamknij
za
P\ND IRUP Z\EyU 3RZL NV] i
Zmniejsz
RGSRZLHGQLR ]ZL NV]D L ]PQLHMV]D IRUP
•
Wybierz komponent PopupMenu
L XWZyU] PHQX SRGU F]QH GOD FDáHM IRUP\ ZSLVXMF
NROHMQR ZH ZáDFLZRFLDFK Caption: =DPNQLM 3RZL NV] =PQLHMV]
•
3U]HMG( GR ZáDFLZRFL IRUP\ Z\ELHrz z listy Form1:TForm w oknie
ObjectInspectora).
'OD ZáDFLZRFL PopupMenu XVWDZ ] OLVW\ Z\ERUX QD]Z XWZRU]RQHJR SU]H] &LHELH PHQX SRGU F]QHJR
•
8]XSHáQLM SURFHGXU\ – ]GDU]HQLD GOD PHQX 7UHFL SURFHGXU ]ZL]DQ\FK ] RSFMDPL =ZL
NV] i Zmniejsz E
G]LH
usta
ZLHQLH ZáDFLZRFL GRW\F]F\FK UR]PLDUX IRUP\ QD SU]\NáDG
Form1.Height := 50;
Form1.Width := 50;
•
8UXFKRP DSOLNDFM L VSUDZG( UHDNFM QD SUDZ\ SU]\FLVN P\V]\ QD WHUHQLH IRUP\
:LGRF]QRü NRPSRQHQWyZ
$E\ ]QDMGXMF\ VL QD IRUPLH NRPSRQHQW XF]\QLü QLHZLGRF]Q\P QDOH*\ XVWDZLü MHJR ZáDFLZRü Visible na False.
1DMF] FLHM URELP\ WR ZHZQWU] SURFHGXU\ REVáXJXMFHM ]GDU]HQLH
Zadanie aplikacji:
DSOLNDFMD ]DZLHUD SU]\FLVN L HW\NLHW RUD] PHQX SRGU F]QH GOD IRUP\ R RSFMDFK Przycisk, Etykieta,
Koniec. Wybór
RGSRZLHGQLHM RSFML SRZRGXMH Z\ZLHWODQLH ZVND]DQHJR NRPSRQHQWX L XQLHZLGRF]QLHQLH GUXJLHJR 2SFMD
Zamknij
]DP\ND DSOLNDFM
•
8PLHü QD IRUPLH SU]\FLVN L HW\NLHW
•
8WZyU] PHQX SRGU F]QH GOD IRUP\ R RSFMDFK Przycisk, Etykieta, Koniec.
•
3RGHSQLM SRG RSFM Przycisk SURFHGXU R WUHFL
Button1.Visible := True;
Label1.Visible := False;
•
3RG RSFM Etykieta SRGHSQLM SURFHGXU XVWDZLDMF RGZURWQLH ZLGRF]QRü NRPSRQHQWyZ
•
6SUDZG( G]LDáDQLH DSOLNDFML
3RGSRZLHG( Z ÄFKPXUFH
Jest to krótki komentarz w chmurce, na
]\ZDQ\ SRWRF]QLH G\PNLHP QDMF] FLHM REMDQLDMF\ QS G]LDáDQLH SU]\FLVNX OXE
LQQHJR NRPSRQHQWX SRND]XMF\ VL JG\ SU]\WU]\PDP\ GáX*HM P\V] QD NRPSRQHQFLH $E\ XWZRU]\ü SRGSRZLHG( GOD
NRPSRQHQWX QDOH*\ ZSLVDü WHNVW SRND]XMF\ VL Z G\PNX L XZLGRF]QLü G\PHN 7HNVW ZSLVXMHP\ ZH ZáDFLZRFL Hint
NRPSRQHQWX 8ZLGRF]QLHQLH RVLJDP\ SRSU]H] XVWDZLHQLH ZáDFLZRFL ShowHint na True.
Zadanie aplikacji: dodanie do poprzedniej aplikacji przycisku Zamknij
L REMDQLHQLH G]LDáDQLD SU]\FLVNX Z G\PNX
Ä:\MFLH ] DSOLNacji".
•
Dodaj do formy z poprzedniego zadania przycisk Zamknij i przypisz do niego
RGSRZLHGQL SURFHGXU
•
W oknie ObjectInspectora
Z\SHáQLM GOD SU]\FLVNX ZáDFLZRü Hint, ZSLVXMF
tekst
:\MFLH ] DSOLNDFML
•
8VWDZ ZáDFLZRü ShowHint na True.
•
6SUDZG( G]LDáDQLH
4
=DáF]QLN QU
*áyZQH EORNL DSOLNDFML
: SURMHNFLH DSOLNDFML ]QDMGXM VL QDVW SXMFH SOLNL ]DZLHUDMFH NRG Z M ]\NX 2EMHFW 3DVFDO
•
SOLNL PRGXáyZ NWyUH ]DF]\QDM VL RG VáRZD NOXF]RZHJR unit;
•
SOLN SURMHNWX NWyU\ ]DZLHUD JáyZQ\ EORN ]DF]\QDMF\ VL RG VáRZD NOXF]RZHgo program.
6WUXNWXUD PRGXáX
: 'HOSKL ND*GHM IRUPDWFH RGSRZLDGD MHGHQ PRGXá NWyU\ ]DZLHUD GHILQLFMH RGSRZLHGQLFK W\SyZ GHNODUDFMH ]PLHQQ\FK
GHILQLFMH SURFHGXU REVáXJL ]GDU]H :V]\VWNLH HOHPHQW\ V XPLHV]F]DQH Z RGSRZLHGQLFK F] FLDFK PRGXáX 0RGXáyZ
X*\ZDP\ UyZQLH* GR G]LHOHQLD SURMHNWX DSOLNDFML QD ORJLF]QH F] FL 2JyOQD VWUXNWXUD PRGXáX MHVW QDVW SXMFD
unit
QD]ZDBPRGXáX
interface
^F] ü RSLVRZD`
implementation
F] ü LPSOHPHQWDF\MQD`
initialization
F] ü LQLFMXMFD`
finalization
F] ü NRF]FD`
end.
0RGXá UR]SRF]\QD VL RG VáRZD NOXF]RZHJR unit SR NWyU\P QDVW SXMH LGHQW\ILNDWRU E GF\ QD]Z PRGXáX 1D]ZD WD
MHVW X*\ZDQD GR GHNODUDFML GDQHJR PRGXáX Z LQQ\P PRGXOH : MHGQ\P SURMHNFLH ZV]\VWNLH PRGXá\ PXV] PLHü Uy*QH
nazwy.
: F] FL RSLVRZHM interface):
•
deklarujemy
VWDáH, typy, zmienne, procedury i funkcje NWyUH E G GRVW SQH Z LQQ\P PRGXOH
•
deklarujemy inne
PRGXá\ MHOL LGHQW\ILNDWRUyZ ]DGHNODURZDQ\FK Z W\FK PRGXáDFK FKFHP\ X*\ZDü ZH
ZV]\VWNLFK F] FLDFK GDQHJR PRGXáX
: F] FL LPSOHPHQWDF\MQHM implementation):
•
definiujemy procedury i funkcje
NWyUH ]RVWDá\ ]DGHNODURZDQH Z F] FL RSLVXMFHM OXE Z F] FL
implementacyjnej,
•
deklarujemy
VWDáH, typy, zmienne, procedury i funkcje NWyUH E G GRVW SQH W\ONR Z WHM F] FL PRGXáX QLH
E G GRVW SQH Z LQQ\FK PRGXáDFK ]DZLHUDMF\FK GHNODUDFMH GDQHJR PRGXáX
•
PR*HP\ GHNODURZDü LQQH PRGXá\ MHOL LGHQW\ILNDWRU\ ]DGHNODURZDQH Z W\FK PRGXáDFK FKFHP\ X*\ZDü W\ONR
Z F] FL LPSOHPHQWDF\MQHM GDQHJR PRGXáX GHNODUDFMD PRGXáyZ MHVW WDND MDN Z F] FL RSLVRZHM
&] ü LQLFMXMFD initialization ]DZLHUD LQVWUXNFMH NWyUH E G Z\NRQDQH Z FHOX ]DLQLFMRZDQLD PRGXáX 0RGXá\ V
LQLFMRZDQH Z WDNLHM NROHMQRFL Z MDNLHM V ]DGHNODURZDQH Z SOLNX SURMHNWX '35 &] ü LQLFMXMFD MHVW RSFMRQDOQa i nie
PXVL Z\VWSLü
&] ü NRF]FD finalization
)
]DZLHUD LQVWUXNFMH NWyUH E G Z\NRQDQH SU]HG NRFHP G]LDáDQLD DSOLNDFML Z FHOX
]ZROQLHQLD ]DVREyZ &] FL NRF]FH Z SRV]F]HJyOQ\FK PRGXáDFK E G Z\NRQ\ZDQH Z RGZURWQHM NROHMQRFL QL* F] FL
LQLFMXMFH &] ü NRF]FD MHVW RSFMRQDOQD DOH PR*H Z\VWSLü W\ONR ZyZF]DV MHOL PRGXá ]DZLHUD F] ü LQLFMXMF
Struktura projektu.
']LDáDQLH DSOLNDFML UR]SRF]\QD VL RG Z\NRQ\ZDQLD LQVWUXNFML ]DZDUW\FK Z EORNX SURMHNWX %ORN SURMHNWX ]QDMGXMH VL
w pliku projektu, który jest automatycznie tworzony przy konstrukcji nowego projektu. Struktura bloku projektu jest
QDVW SXMFD
program nazwa_projektu;
^GHNODUDFMH PRGXáyZ`
^F] ü RSLVRZD`
begin
^EORN JáyZQ\`
end.
3R VáRZLH NOXF]RZ\P program ]QDMGXMH VL LGHQW\ILNDWRU E GF\ QD]Z SURMHNWX
%H]SRUHGQLR ]D W QD]Z Z\VW SXMH GHNODUDFMD PRGXáyZ ZFKRG]F\FK Z VNáDG SURMHNWX 'HNODUDFMD WD Uy*QL VL
QLH]QDF]QLH RG GHNODUDFML Z\VW SXMFHM Z PRGXOH L PR*H E\ü QDVW SXMFD
uses Modul1 in 'Plik1.pas",
Modul2 in 'Plik2.pas';
3R VáRZLH uses Z\VW SXMH OLVWD QD]Z PRGXáyZ ]DNRF]RQD UHGQLNLHP 'OD ND*GHJR PRGXáX SR VáRZLH in PR*H E\ü
SRGDQ\ SOLN Z NWyU\P ]QDMGXMH VL PRGXá
: F] FL RSLVRZHM GHNODUXMHP\ VWDáH, typy, zmienne, procedury i funkcje NWyUH E G GRVW SQH Z EORNX JáyZQ\P
=Z\NOH Z WHM F] FL QLF VL QLH ]QDMGXMH JG\* ZáDVQH RELHNW\ GHNODUXMHP\ Z PRGXáDFK
%ORN JáyZQ\ ]DZLHUD LQVWUXNFMH NWyUH V Z\NRQ\ZDQH SR XUXFKRPLHQLX DSOLNDFML %ORN WHQ MHVW DXWRPDW\F]QLH WZRU]RQ\
przez Delphi i zawiera instruk
FMH VáX*FH GR LQLFMRZDQLD DSOLNDFML XWZRU]HQLD RNLHQ XUXFKRPLHQLD G]LDáDQLD DSOLNDFML
&] ü LQLFMXMFD Z PRGXáDFK MHVW Z\NRQ\ZDQD SU]HG EORNLHP JáyZQ\P &] ü NRF]FD Z PRGXáDFK MHVW Z\NRQ\ZDQD
SR ]DNRF]HQLX LQVWUXNFML Z EORNX JáyZQ\P
5
Zadania
Zadanie 1
Ut
ZyU] DSOLNDFM ]DZLHUDMF GZD SU]\FLVNL ] QDSLVDPL Przycisk1, Przycisk2; SR QDFLQL FLX ND*GHJR ] QLFK QD HW\NLHFLH
SRND]XMH VL QDSLV ZVND]XMF\ NWyU\ SU]\FLVN ]RVWDá QDFLQL W\ 'RGDM GR DSOLNDFML SU]\FLVN Zamknij NRF]F\ DSOLNDFM
Wskazówka
Na form
LH ZVWDZ GZD SU]\FLVNL L HW\NLHW 8VWDZ ZáDFLZRü Caption przycisków na Przycisk1, Przycisk2. -DNR SURFHGXU
dla zdarzenia OnClick
ZSLV] DNFM /DEHO&DSWLRQ :FLQL WR SU]\FLVN
1'
lub odpowiednio:
/DEHO&DSWLRQ :FLQL WR SU]\FLVN
2'
.
Zadanie 2
:\NRU]\VWXMF QDU] G]LH URGRZLVND Delphi Image Editor (ToolsUmageEditor), XWZyU] V]DEORQ ZáDVQHM LNRQ\
]DZLHUDMF\ QS 7ZRMH LQLFMDá\ =DSLV] LNRQ
Z NDWDORJX DSOLNDFML L SU]\SLV] GR DSOLNDFML
Zadanie 3
8WZyU] DSOLNDFM NWyUD SR Z\ERU]H RGSRZLHGQLHM opcji menu pokazuje na etykiecie lub przycisku: rysunek karty (wybierz
F]FLRQN Symbol w odpowiednim kolorze i rozmiarze do wyboru znaku wykorzystaj 7DEOLF ]QDNyZ systemu Windows):
Zadanie 4
8WZyU] DSOLNDFM
NWyUD Z\NRU]\VWXMF PHQX SRGU
F]QH PDOXMH IRUP
Z\EUDQ\P NRORUHP 8*\M F]WHUHFK NRORUyZ