Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
IDZ DO
IDZ DO
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
TWÓJ KOSZYK
TWÓJ KOSZYK
CENNIK I INFORMACJE
CENNIK I INFORMACJE
CZYTELNIA
CZYTELNIA
Delphi 7. Æwiczenia
Autor: Maciej Kunowski
ISBN: 83-7197-933-9
Format: B5, stron: 82
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.
Przyjazne rodowisko programistyczne, obszerna biblioteka gotowych modu³ów
i ogromna liczba stworzonych aplikacji nale¿¹ do niezaprzeczalnych atutów Delphi.
„Delphi 7. Æwiczenia”, to ksi¹¿ka, która pozwoli Ci w szybko opanowaæ podstawy
i rozpocz¹æ tworzenie pierwszych aplikacji. Poznasz zintegrowane rodowisko
programistyczne Delphi, a nastêpnie, krok po kroku, za pomoc¹ praktycznych æwiczeñ
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.
Poznasz:
• 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ê dwiêku w Delphi
• Sposoby korzystania z baz danych
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
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
Rozdział
3.
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:
,
. 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 File\Form.
Korzystając z okna modułu dla pierwszej formy, po słowie
wpisz:
Podepnij pod pierwszy przycisk procedurę:
!"#
Korzystając z opcji menu górnego, wybierz polecenie File\New\Other oraz dodaj
do projektu z zakładki Dialogs formę Standard Dialog (Horizontal).
52
Delphi 7. Ćwiczenia
W nowym oknie podepnij pod przycisk
procedurę:
$%$
# &'()#*+ ,) $##"'
Dodaj do przycisku
zdarzenie:
$%#
# &'()#*+ ,) # ##"'
Korzystając z opcji menu górnego, wybierz polecenie File\New\Other oraz dodaj
do projektu z zakładki Forms formę About boxt.
Podepnij pod przycisk formy procedurę:
-.$
# &'/#0*+ # )'
Zmodyfikuj pozostałe przyciski głównej formy, podpinając odpowiednie procedury.
Dla przycisku
zastosuj procedurę:
$%!"#
Dla przycisku
zastosuj procedurę:
1
-.!"#
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
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 File\New\Other, 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:
— określa numer miesiąca,
— określa numer dnia w miesiącu.
54
Delphi 7. Ćwiczenia
ProgressBar to wskaźnik przebiegu jakiegoś procesu.
Podstawowe właściwości tego wskaźnika:
— określa minimalną wartość wskaźnika (pozycja startowa),
— określa maksymalną wartość wskaźnika (pozycja końcowa),
— 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ść
komponentu
!
(
" #
) na
$
.
Zmień właściwości komponentu
!
(
" %
):
&'$(
&')*+(
Wprowadź dla formy procedurę OnActivate:
- 2#
3# ##)45 6&178717197171971717197171971
:# #+#0 # ,;" , ,<) !0 # !=
2#
77.
&##3!
>#3#.&3# 45 :#)## ,#"#)0 =
>#>&##%#) :?0 ),@=
&9
: ,# ,)7<;*)) ! ,#=
.&A
Rozdział 3.
Uatrakcyjnianie programu
55
&B3# 4.5
&B##%#)A
# # &# # B'&'B6
#>&
# # &# # B'&'B6##%#)
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:
,
— format daty,
— domyślna data ustawiana w oknie,
— minimalna data,
— 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:
&'$--./.$/.$(
56
Delphi 7. Ćwiczenia
, &'0 (
&'$-+./.$/.$(
&'1..1/.$/.$(
Pod zdarzenie OnChange DateTimePicker podepnij procedurę:
%#> !#
# # &%#%#> #
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
2 3%
.
Podepnij pod komponent Timer procedurę:
# # &
# # &.!!"#'>#'
Uruchom program i sprawdź jego działanie (rysunek 3.7).
Rysunek 3.7.
Budzik