1. IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI Delphi 7. Æwiczenia
Autor: Maciej Kunowski
KATALOG KSI¥¯EK ISBN: 83-7197-933-9
Format: B5, stron: 82
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA Programowanie nadal jest przez wielu uwa¿ane za czynno æ trudn¹ i wymagaj¹c¹
specjalistycznej wiedzy. Tymczasem, dziêki takim narzêdziom jak Delphi, tworzyæ
aplikacje mog¹ równie¿ pocz¹tkuj¹cy i redniozaawansowani u¿ytkownicy komputerów.
CENNIK I INFORMACJE Przyjazne rodowisko programistyczne, obszerna biblioteka gotowych modu³ów
i ogromna liczba stworzonych aplikacji nale¿¹ do niezaprzeczalnych atutów Delphi.
ZAMÓW INFORMACJE „Delphi 7. Æwiczenia”, to ksi¹¿ka, która pozwoli Ci w szybko opanowaæ podstawy
O NOWO CIACH i rozpocz¹æ tworzenie pierwszych aplikacji. Poznasz zintegrowane rodowisko
programistyczne Delphi, a nastêpnie, krok po kroku, za pomoc¹ praktycznych æwiczeñ
ZAMÓW CENNIK poznasz jêzyk ObjectPascal. Autor unika informatycznego ¿argonu, a sprawy
skomplikowane t³umaczy w sposób jasny i zwiêz³y, co czyni tê ksi¹¿k¹ idealn¹ dla
osób, które dopiero rozpoczynaj¹ swoj¹ przygodê z programowaniem.
CZYTELNIA Poznasz:
FRAGMENTY KSI¥¯EK ONLINE • rodowisko programistyczne Delphi
• Jêzyk ObjectPascal: instrukcje, zmienne i typy danych
• Podstawy projektowania obiektowego
• Metody tworzenia atrakcyjnego interfejsu u¿ytkownika
• Sposoby programowania grafiki
• Obs³ugê d wiêku w Delphi
• Sposoby korzystania z baz danych
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
2. Spis treści
Wstęp.............................................................................................................................................................. 5
Rozdział 1. Wprowadzenie do środowiska Delphi............................................................................................ 7
Polskie znaki w Delphi.................................................................................................................8
Pierwsze starcie z programowaniem ............................................................................................8
Pliki składowe aplikacji .............................................................................................................10
Przypisanie ikony do programu..................................................................................................10
Tworzenie menu aplikacji ..........................................................................................................11
Menu główne (górne)...........................................................................................................11
Menu podręczne...................................................................................................................12
Klawisze szybkiego reagowania ..........................................................................................13
Podpowiedź w „chmurce”..........................................................................................................13
Kolory komponentów.................................................................................................................14
Widoczność komponentów ........................................................................................................15
Przyciski opcji ............................................................................................................................16
RadioButton .........................................................................................................................16
RadioGroup..........................................................................................................................18
Przyciski wyboru........................................................................................................................19
Listy wyboru ..............................................................................................................................19
ListBox.................................................................................................................................19
ComboBox ...........................................................................................................................21
Paski przewijania........................................................................................................................21
ScrollBar ..............................................................................................................................21
Pudełka przewijania ...................................................................................................................23
ScrollBox .............................................................................................................................23
Tworzenie paska narzędzi ..........................................................................................................24
Pole tekstowe — Memo .............................................................................................................25
Strony z zakładkami ...................................................................................................................27
Zakładki dla pasków narzędziowych ...................................................................................27
Zakładki wielopoziomowe...................................................................................................28
Komponent tabeli .......................................................................................................................29
Dodatkowe ćwiczenia ................................................................................................................30
Rozdział 2. Integracja z u ytkownikami............................................................................................................. 33
Okna dialogowe..........................................................................................................................33
InputQuery ...........................................................................................................................33
InputBox ..............................................................................................................................34
Pola edycyjne .............................................................................................................................35
Wprowadzanie danych za pomocą komponentu Edit ..........................................................35
MaskEdit — maskowanie pól ..............................................................................................36
3. 4 Delphi 7. Ćwiczenia
Metody wprowadzania danych liczbowych ...............................................................................37
Wyświetlanie komunikatów.......................................................................................................38
ShowMessage ......................................................................................................................38
MessageDlgPos....................................................................................................................38
MessageBox .........................................................................................................................39
Obsługa błędu.............................................................................................................................41
Obsługa plików ..........................................................................................................................43
Pliki tekstowe.......................................................................................................................43
Pliki elementowe..................................................................................................................44
Najwa niejsze komponenty z zakładki Dialogs.........................................................................46
OpenDialog ..........................................................................................................................46
SaveDialog ...........................................................................................................................47
ColorDialog..........................................................................................................................48
FontDialog ...........................................................................................................................49
Rozdział 3. Uatrakcyjnianie programu................................................................................................................ 51
Nowe formy................................................................................................................................51
Dodawanie nowej formy do aplikacji ..................................................................................51
Aplikacja typu MDI .............................................................................................................53
Przykładowe zastosowanie komponentów.................................................................................53
Stosowanie komponentu Calendar oraz ProgressBar ..........................................................53
Wykorzystanie DateTimePicker ..........................................................................................55
Zegarek.......................................................................................................................................56
Rozdział 4. Multimedia................................................................................................................................................. 57
Odtwarzanie dźwięku .................................................................................................................57
Pliki *.wav ...........................................................................................................................57
Pliki *.mid............................................................................................................................58
Odtwarzanie animacji i filmów ..................................................................................................58
Pliki *.avi .............................................................................................................................58
Animacje systemowe..................................................................................................................59
Rozdział 5. Tworzenie zaawansowanych aplikacji ....................................................................................... 61
Bazy danych ...............................................................................................................................61
Tworzenie tabeli...................................................................................................................61
Podstawowe formularze obsługujące tabele ........................................................................62
Stosowanie komponentu DateTimePicker dla pól typu DATE ...........................................64
Wyszukiwanie rekordów .....................................................................................................65
Programowanie w internecie ......................................................................................................66
Formularze ActiveFom ........................................................................................................66
Tworzenie aplikacji typu klient-serwer ...............................................................................67
Rozdział 6. Uzupełnienie.............................................................................................................................................. 71
Dodatkowe opcje formy programu ............................................................................................71
Opis najwa niejszych typów zmiennych ...................................................................................72
Prosta gra w Delphi ....................................................................................................................73
Inny pomysł na zmienianie kolorów ..........................................................................................74
Edit i Label .................................................................................................................................74
Mened er plików........................................................................................................................75
Ukryte pliki ................................................................................................................................76
Podsumowanie.........................................................................................................................................77
Dodatek A Delphi w systemie Linux ..................................................................................................................... 79
Przydatne adresy internetowe.....................................................................................................79
4. 3. Rozdział
Uatrakcyjnianie programu
Nowe formy
Dodawanie nowej formy do aplikacji
Atrakcyjność naszego programu na pewno wzrośnie, je eli rozbudujemy tworzoną aplikację
o nowe formy. Pisany program będzie wówczas bardziej przejrzysty i wygodniejszy w u yt-
kowaniu.
Ćwiczenie 3.1.
Utwórz program, który zawiera trzy przyciski z napisami: 1VYÎT HQTOú 1VYÎT QMPQ
FKCNQIQYG, 1VYÎT KPHQTOCELú Q RTQITCOKG. Po naciśnięciu dowolnego komponentu
Button wyświetla się odpowiednie okno.
Wstaw na formę trzy komponenty Button i opatrz je odpowiednimi napisami.
Wybierz z menu FileForm.
Korzystając z okna modułu dla pierwszej formy, po słowie KORNGOGPVCVKQP wpisz:
WUGU WPKV
Podepnij pod pierwszy przycisk procedurę:
RTQEGFWTG 6(QTO$WVVQP%NKEM
5GPFGT 61DLGEV
DGIKP
HQTOUJQYOQFCN
GPF
Korzystając z opcji menu górnego, wybierz polecenie FileNewOther oraz dodaj
do projektu z zakładki Dialogs formę Standard Dialog (Horizontal).
5. 52 Delphi 7. Ćwiczenia
W nowym oknie podepnij pod przycisk 1- procedurę:
RTQEGFWTG 61-$QVVQONI1-$VP%NKEM
5GPFGT 61DLGEV
DGIKP
HQTOECRVKQP 9[DTC G RT[EKUM 1- QMPC FKCNQIQYGIQ
ENQUG
GPF
Dodaj do przycisku %CPEGN zdarzenie:
RTQEGFWTG 61-$QVVQONI%CPEGN$VP%NKEM
5GPFGT 61DLGEV
DGIKP
HQTOECRVKQP 9[DTC G RT[EKUM %CPEGN QMPC FKCNQIQYGIQ
ENQUG
GPF
Korzystając z opcji menu górnego, wybierz polecenie FileNewOther oraz dodaj
do projektu z zakładki Forms formę About boxt.
Podepnij pod przycisk formy procedurę:
RTQEGFWTG 6#DQWV$QZ1-$WVVQP%NKEM
5GPFGT 61DLGEV
DGIKP
HQTOECRVKQP COMPæ G QMPQ KPHQTOCE[LPG
ENQUG
GPF
Zmodyfikuj pozostałe przyciski głównej formy, podpinając odpowiednie procedury.
Dla przycisku 1VYÎT QMPQ FKCNQIQYG zastosuj procedurę:
RTQEGFWTG 6(QTO$WVVQP%NKEM
5GPFGT 61DLGEV
DGIKP
1-$QVVQONIUJQYOQFCN
GPF
Dla przycisku 1VYÎT KPHQTOCELú Q RTQITCOKG zastosuj procedurę:
RTQEGFWTG 6(QTO$WVVQP%NKEM
5GPFGT 61DLGEV
DGIKP
#DQWV$QZUJQYOQFCN
GPF
Zapisz i skompiluj program, wciskając przycisk Yes w oknie komunikatu kompilacji.
Sprawdź działanie programu (rysunek 3.1).
Rysunek 3.1.
Dodawanie form
do programu
6. Rozdział 3. Uatrakcyjnianie programu 53
Aplikacja typu MDI
Aplikacja typu MDI charakteryzuje się tym, e w projekcie występuje jedna forma nad-
rzędna oraz wiele podrzędnych (tego samego typu). Dobrym przykładem tego typu pro-
gramu jest Microsoft Word 97.
Ćwiczenie 3.2.
Z menu górnego wybierz polecenie FileNewOther, a z zakładki Projects
— aplikację MDI Application.
Uruchom program i sprawdź jego działanie.
Wciśnij klawisze Shift+F12 oraz wybierz formę About.
Zmień napisy na etykietach, wybierz logo dla aplikacji oraz zmień właściwość
Caption formy.
Wybierz główną formę i pozmieniaj napisy na komponentach z języka angielskiego
na polski.
Sprawdź działanie programu (rysunek 3.2).
Rysunek 3.2.
Aplikacja typu MDI
Przykładowe zastosowanie komponentów
Stosowanie komponentu Calendar oraz ProgressBar
Komponent Calendar występuje w postaci tabelki określającej dni tygodnia i dni miesiąca.
Podstawowe właściwości tego komponentu:
/QPVJ — określa numer miesiąca,
C[ — określa numer dnia w miesiącu.
7. 54 Delphi 7. Ćwiczenia
ProgressBar to wskaźnik przebiegu jakiegoś procesu.
Podstawowe właściwości tego wskaźnika:
/KP — określa minimalną wartość wskaźnika (pozycja startowa),
/CZ — określa maksymalną wartość wskaźnika (pozycja końcowa),
2QUKVKQP — określa pozycję wskaźnika.
Ćwiczenie 3.3.
Napisz program pokazujący kalendarz z zaznaczoną datą. Na etykiecie powinny być
wyświetlane informacje mówiące o tym, ile dni upłynęło od początku roku. Dwa słupki
powinny pokazywać, jaka część miesiąca oraz roku ju minęła. Po wybraniu innej daty
wykresy powinny ulegać aktualizacji.
Umieść na formie następujące komponenty:
Calendar z zakładki Samples,
dwa komponenty ProgressBar z zakładki Win32,
dwie etykiety.
Zmodyfikuj wygląd programu zgodnie z rysunkiem 3.3.
Rysunek 3.3.
Wygląd tworzonego
programu
Zmień właściwość /KP komponentu 2TQITGUU$CT (KG OKGUKæEC) na .
Zmień właściwości komponentu 2TQITGUU$CT (KG TQMW):
/KP
/CZ
Wprowadź dla formy procedurę OnActivate:
RTQEGFWTG 6(QTO(QTO#EVKXCVG
5GPFGT 61DLGEV
EQPUV /KGUKCECTTC[=? QH +PVGIGT
]VCDNKEC QMTG NCLæEC NKEDú FPK Y RQUEGIÎNP[EJ OKGUKæECEJ_
XCT
FPKOKGUZKPVGIGT
DGIKP
OKGU%CNGPFCT/QPVJ
2TQITGUU$CT/CZ/KGUKCE=OKGU? ]OCMU[OCNPC NKEDC FPK Y FCP[O OKGUKæEW_
2TQITGUU$CT2QUKVKQP%CNGPFCTC[ ]DKG æE[ FKG _
FPK
]QDNKECPKG NKED[ FPK MVÎTG OKPú [ FQV[EJECU_
HQT Z VQ OKGU FQ
8. Rozdział 3. Uatrakcyjnianie programu 55
FPKFPK
/KGUKCE=Z?
FPKFPK
%CNGPFCTC[
NCDGNECRVKQPNCDGNECRVKQP
+PV6QUVT
FPK
RTQITGUU$CT2QUKVKQPFPK
NCDGNECRVKQPNCDGNECRVKQP
+PV6Q5VT
%CNGPFCTC[
GPF
Sprawdź działanie programu (rysunek 3.4).
Rysunek 3.4.
Działanie programu
z ćwiczenia 3.3
Wykorzystanie DateTimePicker
DateTimePicker ma wygląd listy wyboru ComboBox (rysunek 3.5). Pozwala wprowadzić
datę poprzez wybór z kalendarza. Komponent ten wyświetlany jest w postaci tabelki. Przy-
ciski ze strzałkami pozwalają na przechodzenie pomiędzy miesiącami.
Rysunek 3.5.
Tabelka
DateTimePicker
Najwa niejsze właściwości tego komponentu:
CVG(QTOCV — format daty,
CVG — domyślna data ustawiana w oknie,
/KPCVG — minimalna data,
/CZCVG — maksymalna data.
Ćwiczenie 3.4.
Utwórz program, który odczytuje datę z komponentu DateTimePicker i wyświetla ją w for-
mie napisu na komponencie Panel.
Wstaw na formę komponent DateTimePicker z zakładki Win32 oraz komponent
Panel z zakładki Standard.
Ustaw właściwości komponentu DateTimePicker:
CVG
9. 56 Delphi 7. Ćwiczenia
CVG(QTOCVFH5JQTV
/KPCVG
/CZCVG
Pod zdarzenie OnChange DateTimePicker podepnij procedurę:
RTQEGFWTG 6(QTOCVG6KOG2KEMGT%JCPIG
5GPFGT 61DLGEV
DGIKP
RCPGNECRVKQPCVG6Q5VT
CVG6KOG2KEMGTFCVG
GPF
Sprawdź działanie programu (rysunek 3.6).
Rysunek 3.6.
Zastosowanie
DateTimePicker
Zegarek
Dla wielu u ytkowników ciekawym uatrakcyjnieniem tworzonej aplikacji mo e okazać
się zwykły zegarek wyposa ony w prosty budzik.
Ćwiczenie 3.5.
Wstaw na formę komponent Panel i zmień jego czcionkę na Arial Black o rozmiarze 20.
Umieść na formie komponent Timer z zakładki System.
Wstaw na formę pole edycyjne Edit oraz etykietę z napisem 7UVCYKGPKC DWFKMC.
Podepnij pod komponent Timer procedurę:
RTQEGFWTG 6(QTO6KOGT6KOGT
5GPFGT 61DLGEV
DGIKP
RCPGNECRVKQP6KOG6Q5VT
6KOG
KH RCPGNECRVKQPGFKVVGZV VJGP UJQYOGUUCIG
2QDWFMC
GPF
Uruchom program i sprawdź jego działanie (rysunek 3.7).
Rysunek 3.7.
Budzik