MySQL_Budowanie_interfejsow_uzytkownika_Vademecum_profesjonalisty_msqlvp.pdf

(212 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
MySQL. Budowanie
interfejsów u¿ytkownika.
Vademecum profesjonalisty
Autor: Matthew Stucky
T³umaczenie: Tomasz Miszkiel
ISBN: 83-7197-885-5
Tytu³ orygina³u:
MySQL Building User Interfaces
Format: B5, stron: 582
Przyk³ady na ftp: 1098 kB
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
MySQL jest szybkim, przeno ny i — co najwa¿niejsze — darmowym systemem
bazodanowym, który zdoby³ ogromn¹ popularno æ w zastosowaniach internetowych.
Ksi¹¿ka „MySQL. Budowanie interfejsów u¿ytkownika.” poka¿e Ci jak u¿ywaæ tej bazy
tak¿e poza Internetem. Nauczysz siê z niej budowania atrakcyjnych interfejsów
u¿ytkownika wspó³pracuj¹cych z t¹ baz¹. W tym celu wykorzystana zostanie
biblioteka GTK+.
Ksi¹¿ka jest przeznaczona g³ównie dla programistów, którzy rozwa¿aj¹ wykorzystanie
Linuksa w tworzonych przez siebie rozwi¹zaniach, dla osób posiadaj¹cych pewne
do wiadczenie w tworzeniu systemów opartych na architekturze klient-serwer (np. za
pomoc¹ Visual Basica i SQL Server). Aby w pe³ni skorzystaæ z informacji zawartych
w ksi¹¿ce, wystarczy znaæ jêzyk C i podstawy programowania baz danych.
• Poznasz mocne strony i zalety bazy MySQL
• Nauczysz siê tworzyæ programy w systemie Linuks, a nastêpnie, korzystaj¹c z ich
kodu ród³owego, kompilowaæ je w systemie Windows.
• Dowiesz siê, w jaki sposób mo¿na instalowaæ programy korzystaj¹c ze skryptów
lub pakietów RPM (RedHat Pakage Manager).
• Nauczysz siê korzystaæ z interfejsu jêzyka C dla MySQL w aplikacjach, w których
u¿yto bibliotekê GTK+.
• Poznasz sposoby wy wietlania danych pochodz¹cych z MySQL
w obiektach GTK+.
• Bêdziesz w stanie utworzyæ (w jêzyku C) aplikacje, które wygl¹dem
i zachowaniem przypominaj¹ programy Windowsowe
• Utworzysz aplikacje, które bêd¹ dynamicznie tworzyæ graficzny interfejs
u¿ytkownika, dziêki czemu bêdziesz móg³ zmieniæ wygl¹d interfejsu bez
konieczno ci rekompilacji kodu ród³owego
• Prze ledzisz krok po kroku proces powstawania kompletnej aplikacji korzystaj¹cej
z MySQL.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
5RKU VTG EK
1 #WVQT\G
1 4GEGP\GPVCEJ VGEJPKE\P[EJ
9RTQYCF\GPKG
Dla kogo przeznaczona jest ta ksią ka? ........................................................................ 12
Układ ksią ki ............................................................................................................. 12
Konwencje przyjęte w ksią ce..................................................................................... 13
%\ú è +
4Q\F\KC
5\[DMKG YRTQYCF\GPKG
/[53. FNC CFOKPKUVTCVQTÎY K W [VMQYPKMÎY #EEGUU K 53. 5GTXGT
Dlaczego właśnie MySQL? ......................................................................................... 17
Licencje .................................................................................................................... 18
Porównanie typów danych MySQL
z typami dostępnymi w Access 2000 i SQL Server 7 .................................................. 19
Czego brakuje w MySQL?.......................................................................................... 21
MySQL, MYSQL i mysql — trzy podobne słowa, trzy ró ne znaczenia.......................... 27
Tylko dla u ytkowników programu Access: demony i usługi.......................................... 29
Skąd pobrać pakiet instalacyjny MySQL?..................................................................... 30
Decyzja dotycząca metody instalacji — wszystkie za i przeciw ...................................... 31
Pliki potrzebne do instalacji RPM................................................................................ 33
Instalacja ................................................................................................................... 34
Pierwsze spotkanie z MySQL: tworzenie, wykorzystywanie i usuwanie bazy danych ....... 38
Niestandardowe, unikatowe konstrukcje SQL wykorzystywane w MySQL
(rozszerzenie standardu ANSI SQL92) ...................................................................... 40
Programy u ytkowe w MySQL ................................................................................... 45
Interfejs API języka C dla MySQL .............................................................................. 53
4Q\F\KC
)6- FNC RTQITCOKUVÎY MQT\[UVCLæE[EJ \ 8KUWCN $CUKE
Dlaczego powinniśmy korzystać z GTK+? ................................................................... 60
Gdzie zdobyć GTK+ i jak dokonać jego instalacji?........................................................ 61
Licencje .................................................................................................................... 61
Ogólny opis biblioteki GTK+...................................................................................... 63
Pojemniki GTK+ jako odpowiedniki kontrolek zmieniających rozmiary.......................... 71
Podstawowe widgety w programie ............................................................................... 73
4Q\F\KC
9KúEGL YKFIGVÎY )6-
Widget GtkCombo ..................................................................................................... 95
GtkProgressBar i GtkStatusBar ................................................................................... 99
GtkFrame i GtkAspectFrame..................................................................................... 106
Okna dialogowe i informacyjne, czyli obiekty GtkDialog, GtkFileSelection,
GtkColorSelectionDialog i GtkFontSelectionDialog ................................................. 110
Systemy menu: obiekty menu, „fabryka elementów” i elementy menu kontekstowego.... 117
6
MySQL. Budowanie interfejsów u ytkownika. Vademecum profesjonalisty
4Q\F\KC
<CCYCPUQYCPG QDKGMV[ )6-
GtkTable ................................................................................................................. 127
GtkTree i GtkCTree ................................................................................................. 132
GtkFixed ................................................................................................................. 137
GtkLayout ............................................................................................................... 140
GtkScrolledWindow ................................................................................................. 142
GtkNotebook ........................................................................................................... 144
GtkPaned ................................................................................................................ 147
4Q\F\KC
)NCFG FNC RTQITCOKUVÎY MQT\[UVCLæE[EJ \ 8KUWCN $CUKE
Środowisko Glade .................................................................................................... 151
Pierwsze spotkanie z Glade: aplikacja WitajSwiecie .................................................... 153
Szczegółowa analiza wybranych plików projektu WitajSwiecie.................................... 162
Glade i widgety........................................................................................................ 170
Tworzenie projektu: trzeba poznać hierarchię obiektów ............................................... 173
Komunikacja pomiędzy oknami w projekcie utworzonym w Glade............................... 174
Zmienne o zasięgu globalnym a poprawne pisanie programów ..................................... 180
%\ú è ++
4Q\F\KC
2TCYF\KYG CRNKMCELG
2TQLGMVQYCPKG K \CUCFC F\KC CPKC
CRNKMCELK RT\[LúEKC \COÎYKGPKC
Projekt aplikacji ....................................................................................................... 186
Interfejs u ytkownika ............................................................................................... 189
Tworzenie bazy danych ............................................................................................ 193
Wdro enie aplikacji.................................................................................................. 195
Modernizacja aplikacji.............................................................................................. 199
4Q\F\KC
7VYQT\GPKG CRNKMCELK FQ QDU WIK \COÎYKG FNC 5'5+
Tworzenie interfejsu u ytkownika za pomocą Glade ................................................... 202
Funkcje aplikacji ...................................................................................................... 214
Połączenie interfejsu i funkcji wykonujących poszczególne zadania programu............... 248
Kompilacja programu ............................................................................................... 259
Uwagi dotyczące utworzonego programu ................................................................... 259
4Q\F\KC
#RNKMCELC 9[\PCE\CPKG RTQYK\LK
RTQLGMV K CPCNK\C
Przedstawienie problemu .......................................................................................... 264
Interfejs u ytkownika ............................................................................................... 267
Baza danych, przygotowanie autoryzacji .................................................................... 271
Tworzenie bazy danych ............................................................................................ 273
4Q\F\KC
-QPUVTWMELC CRNKMCELK 2TQYK\LG
Budowanie interfejsu u ytkownika za pomocą Glade .................................................. 281
Kontrola wyświetlanych danych ................................................................................ 286
Funkcje tworzonej aplikacji....................................................................................... 289
Powiązanie funkcji „narzędziowych” z obiektami interfejsu u ytkownika
— funkcje zwrotne w pliku callbacks.c.................................................................... 318
Uwagi dotyczące utworzonego programu ................................................................... 325
4Q\F\KC +PUVCNCELC CRNKMCELK 9[\PCE\CPKG RTQYK\LK
Kompilacja z wiersza poleceń.................................................................................... 327
Korzyści płynące z zastosowania Make ...................................................................... 328
Instalowanie aplikacji ............................................................................................... 330
Kompilacja programu dla Win32 za pomocą MS Visual C++ ....................................... 341
Spis treści
7
4Q\F\KC 2TQLGMV CRNKMCELK 4CRQTV[
Definicja problemu................................................................................................... 351
Interfejs u ytkownika ............................................................................................... 352
Baza danych, uprawnienia u ytkowników .................................................................. 356
Tworzenie bazy danych ............................................................................................ 357
4Q\F\KC -QPUVTWMELC CRNKMCELK 4CRQTV[
Opis problemu ......................................................................................................... 361
Aplikacja sterująca: Raporty...................................................................................... 361
Raport 1. Tabela....................................................................................................... 371
Raport 2. Wykres kołowy ......................................................................................... 377
Raport 3. Wykres liniowo-kolumnowy ....................................................................... 387
Raport 4. Wykres punktowy...................................................................................... 393
4Q\F\KC -QORKNCELC K KPUVCNCELC CRNKMCELK 4CRQTV[
Kompilacja i dystrybucja w formie pliku RPM ........................................................... 403
Kompilacja programów za pomocą MinGW dla Win32 ............................................... 408
%\ú è +++
2T\[M CF
Jeszcze raz program „Witaj Swiecie” ......................................................................... 417
Komunikacja pomiędzy oknami................................................................................. 422
Dokonywanie zmian w aplikacji bez konieczności ponownej kompilacji ....................... 430
4Q\F\KC &[PCOKE\PG VYQT\GPKG KPVGTHGLUW W [VMQYPKMC \C RQOQEæ :/.
&QFCVMK
&QFCVGM #
2NKMK Y[IGPGTQYCPG RT\G\ )NCFG
CRNKMCELC FNC 5'5+
interface.c................................................................................................................ 435
sesi.glade................................................................................................................. 460
&QFCVGM $
2NKMK Y[IGPGTQYCPG RT\G\ )NCFG
CRNKMCELC 2TQYK\LG
interface.c................................................................................................................ 499
prowizje.glade.......................................................................................................... 516
&QFCVGM %
2NKMK Y[IGPGTQYCPG RT\G\ )NCFG
CRNKMCELC 4CRQTV[
Pliki dla programu głównego..................................................................................... 547
Pliki dla programu tworzącego raport w formie tabeli .................................................. 551
Pliki dla programu tworzącego wykres kołowy ........................................................... 556
Pliki dla programu tworzącego raport w postaci wykresu liniowo-kolumnowego ........... 559
Pliki dla programu generującego raport w postaci wykresu punktowego........................ 562
5MQTQYKF\
Rozdział 4.
<CCYCPUQYCPG
QDKGMV[ )6-
W tym rozdziale opisano zaawansowane obiekty GTK+, słu ące do rozmieszczania i pre-
zentacji innych elementów. Szczegółowo opisano tu następujące widgety:
)VM6CDNG
,
)VM6TGG
i
)VM%6TGG
,
)VM(KZGF
,
)VM.C[QWV
,
)VM5ETQNNGF9KPFQY
,
)VM0QVGDQQM
,
)VM2CPGF
.
)VM6CDNG
Obiekt
)VM6CDNG
działa na zasadzie siatki, w której mo na umieszczać inne obiekty. Mo -
na powiedzieć, e
)VM6CDNG
jest połączeniem dwóch prostokątnych pojemników (pozio-
mego i pionowego). Na rysunku 4.1 przedstawiono obiekt
)VM6CDNG
, który utworzymy
w przykładowym programie (listing 4.1). W
)VM6CDNG
mo na umieścić obiekt w kilku
komórkach (poziomo lub pionowo).
Przykładowy program przedstawia działanie obiektu
)VM6CDNG
. Pokazano tu równie
nowy trend tworzenia „programów w akcji”, gdzie w odpowiedzi na wystąpienie zda-
rzeń tworzy się (lub niszczy) określone widgety. Nale y pamiętać, e jeśli będziemy ko-
rzystać z tej metody w tworzonych aplikacjach, to jednocześnie będziemy musieli zna-
leźć sposób na przechowanie danych, które mają być przekazane tworzonym na nowo
obiektom.
Rysunek 4.1 przedstawia okno utworzonej aplikacji, której kod źródłowy znajduje się
w listingu 4.1.
Zgłoś jeśli naruszono regulamin