PR5 Nieznany

background image

P RO JE KT O WANI E O BI E KT O WE –

ûZLF]HQLD ODERUDWRU\MQH

TEMAT 5: Borland Delphi –

NRPXQLNDFMD ] X*

ytkownikiem cz. 2, rozbudowywanie aplikacji.

TEMAT 5: Borland Delphi –

NRPXQLNDFMD ] X*\WNRZQLNLHP cz. 2,

rozbudowywanie aplikacji.

1

 .RPSRQHQW\ ] ]DNáDGNL 'LDORJV

1.1. Korzystanie z komponentu OpenDialog

-HVW WR NRPSRQHQW NWyU\ Z\ZLHWOD ]QDQH ] DSOLNDFML :LQGRZV RNQR GLDORJRZH RWZDUFLD SOLNX Uruchamiany jest przez

Z\ZRáDQLH PHWRG\ Execute.

Zadanie aplikacji:

SU]HJOGDUND SOLNyZ JUDILF]Q\FK ]DSLVDQ\FK Z IRUPLH EPS QD G\VNX 3OLNL SRELHUDQH V SRSU]H]

OpenDialog.

8PLHü QD IRUPLH NRPSRQHQW OpenDialog ] ]DNáDGNL
Dialogs. Jest to komponent niewi

GRF]Q\ RWZLHUDMF\ GLDORJ

wyboru pliku z dysku.

.OLNDMF Z SROX ZáDFLZRFL Filter ZHMG( GR HG\WRUD
filtrów i wpisz w tabelce pod wska

]DQ\P QDJáyZNLHP

Filter Name

Filter

bitmapy

*.bmp

wszystkie pliki *.*

8VWDZ ZáDFLZRFL

FilterIndex

  Z\ELHUD RQD SLHUZV] PDVN SOLNyZ

MDNR GRP\OQ

InitialDir

C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\ // ustawia katalog

GRP\OQ\

Dodaj Bevel

] ]DNáDGNL Additional MDNR SRGNáDGN GOD NRPSRQHQWX Image oraz na Bevelu Image ] ]DNáDGNL

Additional

NRPSRQHQW XPR*OLZLDMF\ SRND]\ZDQLH REUD]NyZ

Wyselekcjonuj Image

L ] PHQX SRGU F]QHJR SUDZ\ SU]\FLVN P\V]\ Z\ELHU] BringToFront.

8VWDZ ZáDFLZRü GOD NRPSRQHQWX Image:

Stretch

True // dostosowanie obrazka do rozmiarów komponentu Image

8PLHü QD IRUPLH SpeedButton (przycisk szybkiego reagowania) – ] ]DNáDGNL Additional – E G]LH WR SU]\FLVN

RWZLHUDMF\ GLDORJ 8PLHü QD SU]\FLVNX U\VXQHN NRMDU]F\ VL ] RWZDUFLHP SOLNX

ƒ NOLNQLM QD ZáDFLZRü Glyph w ObjectInspectorze,

ƒ SU]HMG( GR Picture Editor,

ƒ ZFLQLM SU]\FLVN Load SU]HMG( GR NDWDORJX Borland Shared\Images\Buttons,

ƒ Z\ELHU] ZáDFLZ\ U\VXQHN

ƒ ]DWZLHUG( Z\EyU

Dla zdarzenia OnClick komponentu SpeedButton

ZSLV] SURFHGXU 

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if
OpenDialog1.Execute then

Image1.Picture.LoadFromFile(OpenDialog1.FileName);

end;

6SUDZG( G]LDáDQLH DSOLNDFML


1.2. Korzystanie z komponentu SaveDialog

-HVW WR NRPSRQHQW NWyU\ Z\ZLHWOD RNQR GLDORJRZH ]DSLVDQLD ]DFKRZDQLD SOLNX UruchamiaQ\ MHVW SU]H] Z\ZRáDQLH
metody Execute.

Zadanie aplikacji: aplikacja zapisuje do pli

NX R ZVND]DQHM QD]ZLH SU]HJOGDQ\ REUD]HN

2WZyU] SRSU]HGQL DSOLNDFM 

Dodaj do formy komponent SaveDialog

]DNáDGND Dialogs) oraz SpeedButton z rysunNLHP ]DPNQL FLD

3RGREQLH MDN Z SRSU]HGQLP üZLF]HQLX XVWDZ ILOWU\ RUD] ZáDFLZRFL FilterIndex i InitialDir. 8VWDZ ZáDFLZRü

DefaultExt

EPS  QDGDZDQLH GRP\OQHJR UR]V]HU]HQLD ]DSLV\ZDQ\P SOLNRP

Dla zdarzenia OnClick komponentu SpeedButton wpisz:

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if
SaveDialog1.Execute then

Image1.Picture.SaveToFile(SaveDialog1.FileName);

end;

6SUDZG( G]LDáDQLH DSOLNDFML


1.3. Korzystanie z komponentu ColorDialog.

background image

-HVW WR NRPSRQHQW NWyU\ Z\ZLHWOD RNQR GLDORJRZH Z\ERUX NRORUX 8UXFKDPLDQ\ MHVW SU]H] Z\ZRáDQLH PHWRG\ Execute.

Zadanie aplikacji: ustawianie koloru komponentu Shape

SRSU]H] X*\FLH NRPSRQHQWX ColorDialog.

Wstaw na formie przycisk z napisem Nowy kolor oraz komponenty: Shape, ColorDialog.

Dla zdarzenia OnClick przycisku Nowy kolor wpisz

SURFHGXU 

procedure TForm1.Button1Click(Sender: TObject);
begin
if
ColorDialog1.Execute then

Shape1.Brush.Color := ColorDialog1.Color;

end;

6SUDZG( G]LDáDQLH DSOLNDFML


1.4. Korzystanie z komponentu FontDialog.

-HVW WR NRPSRQHQW NWyU\ Z\ZLHWOD RNQR GLDORJRZH Z\ERUX F]FLRQNL 8UXFKDPLDQ\ MHVW SU]H] Z\ZRáDQLH PHWRG\
Execute.

Zadanie aplikacji: ustawianie parametrów czcionki w oknie Memo poprzez wykorzystanie komponentu FontDialog.

Wstaw na formie przycisk z napisem Zmiana czcionki oraz
komponenty Memo i FontDialog.

Dla zdarzenia OnClick przycisku Zmiana czcionki wpisz

SURFHGXU 

procedure TForm1.Button1Click(Sender:
TObject);
begin
if
FontDialog1.Execute then

Memo1.Font := FontDialog1.Font;

end;

6SUDZG( G]LDáDQLH DSOLNDFML


2. Aplikacje na wielu formach.

Zadanie aplikacji:

DSOLNDFMD ]DZLHUD IRUP SRGVWDZRZ NWyUa ma

trzy przyciski z nazwami:

2WZyU] IRUP  2WZyU] 'LDORJ i Info. Po

QDFLQL FLX SU]\FLVNX SRND]XMH VL QRZD IRUPD RNUHORQHJR W\SX
About, Standard Dialog i forma pusta.

1D IRUPLH ZVWDZ HW\NLHW L trzy przyciski z napisami: 2WZyU] IRUP  2WZyU] 'LDORJ i Info.

.RU]\VWDMF ] PHQX File\New Form GRGDM GR DSOLNDFML QRZ IRUP 

Dla zdarzenia OnClick przycisku

2WZyU] IRUP ZSLV] SURFHGXU 

procedure TForm1.Button1Click(Sender: TObject);
begin

Form2.Show;

end;

Wybierz z opcji menu: File\New i dodaj do projektu f

RUP typu About box ] ]DNáDGNL Forms =PLH QDSLV\ QD

etykietach i dodaj do przycisku z napisem Info

IRUP\ SRGVWDZRZHM SURFHGXU –zdarzenie:

procedure TForm1.Button3Click(Sender: TObject);
begin

AboutBox.Show;

end;

Dla przycisku OK formy About box dodaj tre

ü SURFHGXU\

procedure TAboutBox.OKButtonClick(Sender: TObject);

Close;

end;

Wybierz z menu: File\New

L GRGDM ] ]DNáDGNL Dialogs IRUP typu Standard Dialog:

ƒƒ ]PLH QDSLV QD SU]\FLVNX Cansel na Anuluj,

ƒƒ dodaj okno edycyjne,

ƒƒ wpisz dla przycisku OK WUHü SURFHdury:

Form1.Label1.Caption := Edit1.Text;
OkBottomDlg.Close;

ƒƒ dla przycisku Anuluj ZSLV] WUHü SURFHGXU\:

OkBottomDlg.Close;

Dla przycisku Otwórz Dialog

IRUP\ SRGVWDZRZHM GRGDM WUHü SURFHGXU\

OKBottomDlg.Show;

6NRPSLOXM PRGXá :FLVNDMF SU]\FLVN Yes w pokD]XMF\P VL SRGF]DV NRPSLODFML RNQLH NRPXQLNDWX SRWZLHUG(

GRáF]DQLH EUDNXMF\FK HOHPHQWyZ GR SURMHNWX

6SUDZG( G]LDáDQLH DSOLNDFML

2EHMU]\M NRG\ GRáF]RQ\FK PRGXáyZ

background image



3. Wykorzystanie komponentów Calendar i ProgressBar.

Komponent Calendar to tabelka

RNUHODMFD GQL PLHVLFD L GQL W\JRGQLD Z GDQ\P PLHVLFX

Komponent ProgressBar

WR ZVND(QLN SU]HELHJX SURFHVX

=DSR]QDü VL ] ZáDFLZRFLDPL NRPSRQHQWyZ &DOHQGDU L 3URJUHVV%DU ]Dá QU  

Zadanie aplikacji:

$SOLNDFMD SRND]XMH NDOHQGDU] ] ]D]QDF]RQ ELH*F GDW 1D HW\NLHFLH XZLGRF]QLRQH MHVW LOH GQL

XSá\Q áR RG SRF]WNX URNX GZD VáXSNL Z\NUHVX SRND]XM Z SURFHQWDFK MDN F] ü URNX RUD] MDN F] ü PLHVLFD PDP\

MX* ]D VRE

1D IRUPLH XPLHü NRPSRQHQW\

ƒƒ Calendar ] ]DNáDGNL Samples,

ƒƒ dwa komponenty ProgressBar ] ]DNáDGNL Win32; pierwszy do pokazywania przeELHJX F]DVX GOD PLHVLFD

i drugi dla roku,

ƒƒ GZLH HW\NLHW\ XPLHV]F]DMF MH RERN VáXSNyZ ProgressBar, ustaw napisy na etykietach odpowiednio: 0LHVLF

Rok.

Wyskaluj ProgressBar

] HW\NLHW Rok Z QDVW SXMF\ VSRVyE

Min

1

Max

365

Dla komponentu ProgressBar

] HW\NLHW 0LHVLF XVWDZ ZáDFLZRü

Min

1

:SLV] SURFHGXU OnActivate dla formy:

procedure TForm1.FormActivate(Sender: TObject);

//

WDEOLFD VWDá\FK RNUHODMFD OLF]E GQL Z PLHVLFX

const Miesiac: array[1..12] of Integer = (31, 28, 31, 30, 31, 30, 31, 31, 30,

31, 30, 31);

var
m, i, ile_dni: Integer;
begin

m := Calendar1.Month;

ProgressBar1.Max := Miesiac[m];

 PDNV\PDOQD OLF]ED GQL Z GDQ\P PLHVLFX

ProgressBar1.Position := Calendar1.Day;

 ELH*F\ G]LH Z PLHVLFX

Ile_dni := 0;

 S WOD REOLF]D LOH GQL XSá\Q áR RG SRF]WNX URNX GR GDQHJR PLHVLFD

for i := 1 to m - 1 do

ile_dni := ile_dni + Miesiac[i];
ile_dni := ile_dni + Calendar1.Day - 1;
Label2.Caption := Label2.Caption + IntToStr(ile_dni );
ProgressBar2.Position := ile_dni;
Label1.Caption := Label1.Caption + IntToStr(Calendar1.Day;

end;

8UXFKRP DSOLNDFM L VSUDZG( MHM G]LDáDQLH


4. Wykorzystanie komponentu DateTimePicker do wprowadzania daty.

Komponent DateTimePicker

 NWyUHJR SRVWDü SU]\SRPLQD OLVW Z\ERUX ComboBox, pozwala ZSURZDG]Lü GDW SU]H]

Z\EyU ] NDOHQGDU]D .DOHQGDU] Z\ZLHWOD VL Z SRVWDFL WDEHONL SR NOLNQL FLX RNQD OLVW\ 3U]\FLVNL ]H VWU]DáN XPR*OLZLDM

SU]HFKRG]HQLH PL G]\ PLHVLFDPL -HOL NOLNQLHP\ Z QDJáyZHN WDEHONL DateTimePickera Z REU ELH QD]Z\ PLHVLFD

SRND]XMH VL OLVWD ] QD]ZDPL PLHVL F\ klikDMF Z REU ELH Z\ZLHWODQHJR URNX PDP\ PR*OLZRü HG\FML URNX lub selekcji

URNX VWU]DáNDPL SRND]XMF\PL VL ]D URNLHP
Komponent UpDown

WR VWU]DáNL GR SU]HVXZDQLD ZDUWRFL Z RNUHORQHM VNDOL ] RNUHORQ\P NURNLHP 3R Z\SHáQLHQLX

ZáDFLZRFL Associate (skojarzenie z innym komponentem) komponent UpDown VDP XPLHV]F]D VL SU]\ VNRMDU]RQ\P
komponencie.

=DSR]QDü VL ] SRGVWDZRZ\PL ZáDFLZRFLDPL NRPSRQHQWyZ 'DWH7LPH3LFNHU L 8S'RZQ ]Dá QU 4).

4.1. Zadanie aplikacji: aplikacja odbiera od komponentu DateTimePicker

Z\EUDQ SU]H] X*\WNRZQLND GDW L ]DSLVXMH M QD

etykiecie.

1D IRUPLH XPLHü HW\NLHW L NRPSRQHQW DateTimePicker ] ]DNáDGNL Win32.

8VWDZ ZáDFLZRFL NRPSRQHQWX 'DWH7LPH3Lcker:
DateFormat

dfShort

Date

99–11–25

MinDate

95–01–01

MaxDate

05–01–01

Dla zdarzenia OnClick komponentu DateTimePicker

ZSLV] WUHü SURFHGXU\

Label1.Caption := DateToStr(DateTimePicker1.date);

8UXFKRP DSOLNDFM L VSUDZG( MHM G]LDáDQLH

background image



4.2. Zadanie aplikacji:

DSOLNDFMD SU]HGVWDZLD ]ZL NV]DQLH GDW\ Z WDEHOFH NRPSRQHQWX DateTimePicker R G]LHVL ü ODW 'R

SU]HVXZDQLD GDW\ ZHGáXJ ODW ]DVWRVRZDQR NRPSRQHQW UpDown.

Do poprzedniej aplikacji dodaj komponent UpDown

] ]DNáDGNL Win32. 8VWDZ MHJR ZáDFLZRFL

Associate

DateTimePicker1 // kojarzenie ze wskazanym komponentem

Increment

1 // krok zmiany

Min 1995

Max

2005

Position

1999 // pozycja wy

MFLRZD ZVND(QLND

Dla zdarzenia OnChanging komponentu UpDown

ZSLV] SURFHGXU 

procedure TForm1.UpDown1Changing(Sender: TObject);
begin

// ustawienie daty na 1 stycznia wybranego roku
DateTimePicker1.Date := StrToDate(IntToStr(UpDown1.Position) + '–01–01');

end;

6SUDZG( G]LDáDQLH DSOLNDFML

Uwaga:

$E\ RGELHUDü GDW EH]SRUHGQLR SR ]PLDQLH QDOH*\ Z RNQLH ObjectInspectora wyEUDü ] OLVW\ W SURFHGXU GOD

zdarzenia OnChange.

background image

=DáF]QLN nr 4

3RGVWDZRZH ZáDFLZRFL komponentu Calendar:

Month

ZáDFLZRü RNUHODMFD QXPHU PLHVLFD

Day

ZáDFLZRü RNUHODMFD QXPHU GQLD Z PLHVLcu.

3RGVWDZRZH ZáDFLZRFL komponentu ProgressBar:

Min

PLQLPDOQD ZDUWRü VáXSND ZVND(QLND – pozycja startowa,

Max

PDNV\PDOQD ZDUWRü VáXSND ZVND(QLND – SR]\FMD NRFRZD

Position

ELH*FD SR]\FMD ZVND(QLND – proporcjonalQLH GR WHJR ZVND]DQLD QDVW SXMH

]DPDORZDQLH VáXSND ZVND(QLND LQQ\P NRORUHP


Podstawowe

ZáDFLZRFL komponentu DateTimePicker:

DateFormat – format daty,

PR*OLZH ZDUWRFL dfShort, dfLong,

Date – data ustawiana jako

GRP\OQD Z RNQLH, VWDQGDUGRZR MHVW WR GDWD ELH*FD ] V\VWHPX,

MinDate – minimalna data pokazywana w kalendarzu,
MaxDate – maksymalna data pokazywana w kalendarzu.

3RGVWDZRZH ZáDFLZRFL komponentu UpDown:

Associate

ZáDFLZRü XPR*OLZLDMFD NRMDU]HQLH ] wskazanym komponentem,

Min

ZáDFLZRü RNUHOD PLQLPDOQ ] GRSXV]F]DOQ\FK ZDUWRFL

Max

ZáDFLZRü RNUHOD PDNV\PDOQ ZDUWRü

Position

ELH*FD ZDUWRü ZVND(QLND



background image

Zadania

Zadanie 19

8WZyU] DSOLNDFM  NWyUD PDOXMH SDQHO Z\EUDQ\P SU]H] &LHELH NRORrem. .RORU Z\SHáQLHQLD Z\ELHUDQ\ MHVW ] Z\NRU]\VWDQLHP
komponentu ColorDialog.

Zadanie 20
Dodaj do aplikacji z zadania 3

UHDNFM QD ]PLDQ GDW\ Z NDOHQGDU]X WDN DE\ DNWXDOL]RZDá\ VL VáXSNL VWDQX


Zadanie 21
Dodaj do aplikacji z zadania 3

OLVW Z\ERUX ] QD]ZDPL PLHVL F\ L XVWDZLDM ] OLVW\ QXPHU\ PLHVL F\ ZáDFLZRü Month

komponentu Calendar).

Zadanie 22

$E\ ]DEH]SLHF]\ü SU]HG ZSURZDG]DQLHP SU]H] X*\WNRZQLND EH]SRUHGQLR Z RNLHQNX Eá GQ\FK ZDUWRFL GRGDM REVáXJ

Eá GX GR DSOLNDFML z zadania 4.1.



Wyszukiwarka

Podobne podstrony:
Gor±czka o nieznanej etiologii
02 VIC 10 Days Cumulative A D O Nieznany (2)
Abolicja podatkowa id 50334 Nieznany (2)
45 sekundowa prezentacja w 4 ro Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
Mechanika Plynow Lab, Sitka Pro Nieznany
katechezy MB id 233498 Nieznany
2012 styczen OPEXid 27724 Nieznany
metro sciaga id 296943 Nieznany
Mazowieckie Studia Humanistyczn Nieznany (11)
cw 16 odpowiedzi do pytan id 1 Nieznany
perf id 354744 Nieznany
DO TEL! 5= Genetyka nadci nieni Nieznany
Opracowanie FINAL miniaturka id Nieznany
3 Podstawy fizyki polprzewodnik Nieznany (2)
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany

więcej podobnych podstron