Tartalomjegyzék
I. rész
A Delphi és az Object Pascal
3
1. A Delphi 5 integrált fejlesztõkörnyezete
5
A Delphi 5 kiadásai A Delphi 5 integrált fejlesztõkörnyezet Parancssori kapcsolók Az Asztal beállításainak mentése Az elvégzendõ feladatok listája Az AppBrowser szerkesztõ A Code Explorer Böngészés a szerkesztõben Class Completion Code Insight Gyorsbillentyûk a szerkesztõben A Formtervezõ Az Object Inspector A komponenspaletta titkai Eseménykezelõk meghatározása Komponensek másolása és beillesztése A komponenssablonoktól a keretekig Projektek kezelése Projektbeállítások Projektek fordítása és felépítése A Project Explorer Kiegészítõ és külsõ Delphi eszközök A rendszer által elõállított fájlok A forráskódfájlok Az Object Repository Hogyan tovább?
7 8 8 9 11 14 15 17 19 20 22 23 26 29 31 31 33 35 37 38 40 41 42 49 51 54
v
Tartalomjegyzék
2. Objektumorientált programozás a Delphiben Osztályok és objektumok A Delphi objektumhivatkozási modellje Privát, védett és nyilvános A betokozás és a formok A Self kulcsszó Komponensek dinamikus létrehozása Konstruktorok Túltöltött metódusok és konstruktorok A teljes TDate osztály Öröklõdés meglévõ típusokból Védett mezõk és a betokozás Öröklõdés és típuskompatibilitás Késõi kötés és többalakúság Metódusok felülbírálása, újradefiniálása és újrabevezetése Virtuális és dinamikus metódusok Üzenetkezelõk Absztrakt metódusok Futásidejû típusinformáció Vizuális form öröklõdés Származtatás az alapformból Többalakú formok Hogyan tovább?
3. Haladó Object Pascal Osztálymetódusok és osztályadatok Objektumszámlálóval rendelkezõ osztályok Metódusmutatók Osztályhivatkozások Komponensek létrehozása osztályhivatkozásokkal Az objektumok és a memória Objektumok megsemmisítése csak egyszer! Objektumok átadása és másolása Kivételek kezelése Kivételek és a verem A Finally blokk A hibák naplózása A published hozzáférés-szabályozó
vi
55 57 59 60 63 64 65 67 68 70 73 76 79 81 84 86 86 87 89 91 92 96 101
103 105 106 109 114 116 119 119 122 124 128 129 131 133
Tartalomjegyzék
Tulajdonságok Tulajdonságok hozzáadása a formokhoz Tulajdonságok hozzáadása a TDate osztályhoz Események a Delphiben Az események tulajdonságok Események hozzáadása a TDate osztályhoz A TDate komponens elkészítése Interfészek használata Interfész deklarálása Interfész-tulajdonságok, átruházás és újradefiniálás Példa a többszörös öröklõdésre Interfész-többalakúság Többszörös öröklõdésrõl van szó? Hogyan tovább?
4. A Vizuális Komponenskönyvtár
133 135 137 140 141 141 144 146 147 150 153 154 156 157
159
A TObject osztály 161 Információk megjelenítése az osztályról 164 A VCL felépítése 165 Komponensek 166 Windows komponensek 168 Objektumok 169 Általános VCL tulajdonságok 170 A Name tulajdonság 174 A Components tömb 176 Az Owner tulajdonság 177 Form mezõinek törlése 179 Form mezõjének elrejtése 179 Vezérlõk méretére és elhelyezkedésére vonatkozó tulajdonságok 181 Aktivitási és láthatósági tulajdonságok 182 A testreszabható Tag tulajdonság 182 A felhasználói felület: színek és betûtípusok 183 Általános VCL metódusok 184 Általános VCL események 188 Keretek 190 Listák és tárolóosztályok 195 Objektumok listáinak használata 196 A Delphi 5 tárolóosztályai 198 Rögzített típusú tárolók és listák 200 Hogyan tovább? 203
vii
Tartalomjegyzék
II. rész Komponensek használata 5. Az alapvetõ komponensek használata részletesebben A Komponenspalettas Szövegbeviteli komponensek Az Edit komponens A MaskEdit komponens A Memo és a RichEdit komponensek Lehetõségek kiválasztása A CheckBox és a RadioButton komponensek A GroupBox komponens A RadioGroup komponens Listák A ListBox komponens A ComboBox komponens A CheckListBox komponens A ListView és TreeView komponensek Tartományok A ScrollBar komponens A TrackBar és a ProgressBar komponensek Az UpDown komponens A PageScroller komponens A ScrollBox komponens Elemek áthúzása komponensek között A bemeneti fókusz kezelése Menük használata A Delphi 5 gyorsbillentyûi Elõugró menük és az OnContextPopup esemény Menüpontok dinamikus létrehozása Képes menük A rendszermenü testreszabása Az ActionList komponens Mûveletek a gyakorlatban Tulajdonos által rajzolt vezérlõk Tulajdonos által rajzolt menüpontok Listamezõ a színek számára A ListView és a TreeView vezérlõk Grafikus hivatkozási listák Adatok fastruktúrában Hogyan tovább?
viii
207
209 211 212 212 212 213 214 214 215 215 216 216 217 218 219 219 219 220 220 220 221 221 224 227 228 229 231 235 237 240 243 249 249 253 256 257 263 267
Tartalomjegyzék
6. Formok, ablakok és alkalmazások
269
Formok és ablakok Átlapolt, elõugró és gyermekablakok Az alkalmazás is ablak Az alkalmazásablak megjelenítése Az alkalmazás rendszermenüje Alkalmazások és formok aktiválása Form- és keretstílusok beállítása Keretstílus A keret ikonjai További ablakstílusok használata Formok méretezése Formok kézi méretezése Formok automatikus méretezése Formok helyzetének és méretének beállítása Formok és belsõ területük mérete Formok méretkorlátozása Formok létrehozása Formok létrehozásának sorrendje a Delphiben Formok nyomon követése a Screen objektum segítségével Formok bezárása Bemenet fogadása formokon A billentyûzet eseményeinek figyelése Egérbemenet fogadása Az egér gombjai A Windows használata egér nélkül Az egéresemények paraméterei Rajzolás és áthúzás az egérrel Festés a Windowsban Hogyan tovább?
7. A felhasználói felület elemei
271 273 274 276 278 279 280 281 284 286 288 289 292 293 294 295 296 298 299 304 305 305 308 308 309 310 311 315 318
319
A Toolbar vezérlõ Eszköztár és mûveletlista használata szerkesztõprogramunkban Eszköztárak használata kombinált listákkal Leírások az eszköztáron A leírások testreszabása Eszköztár-tárolók Egy remek eszköztár A ControlBar komponens
321 323 326 327 328 331 331 333 ix
Tartalomjegyzék
Menük használata a vezérlõsávban Állapotsor létrehozása Menüelem-leírások az állapotsorban Formok görgetése Példa a görgetés tesztelésére Automatikus görgetés Görgetés és formkoordináták A form felosztása Vízszintes felosztás Felosztás fejlécekkel Vezérlõk rögzítõpontjai Rögzíthetõ és leválasztható vezérlõk és eszköztárak Eszköztárak rögzítése vezérlõsávra Rögzítési mûveletek kezelése Hogyan tovább?
8. Több form használata Párbeszédablakok és formok Második form hozzáadása a programhoz Másodlagos formok létrehozása futási idõben Menük egyesítése Párbeszédablakok létrehozása A RefList példa párbeszédablaka Nem modális párbeszédablakok Általános Windows párbeszédablakok A párbeszédablakok áttekintése Bõvíthetõ párbeszédablakok Névjegyek, nyitóképernyõk Rejtett képernyõ készítése Nyitóképernyõ készítése Többlapos formok A PageControl és TabSheet komponensek Lapok és keretek Több keret lapok nélkül Képnézegetõ fülekkel Varázslók felhasználói felülete Összekapcsolódás a PageControllal MDI alkalmazások létrehozása MDI a Windowsban: technikai áttekintés Keret- és gyermekablakok a Delphiben Egy teljes Window menü felépítése Az MdiDemo példa x
337 338 339 341 343 345 346 348 349 351 353 355 356 358 361
363 365 365 366 369 370 371 375 378 380 381 383 384 386 390 391 397 398 401 403 406 408 409 410 411 413
Tartalomjegyzék
MDI alkalmazások különbözõ gyermekablakokkal Gyermekablakok és menük A fõform átalakítása Az MdiClient Window alosztályozása Hogyan tovább?
III. rész Adatbázis-kezelés 1 9. Adatbázis-kezelõ alkalmazások készítése
417 417 419 420 423
427
429
Adatelérés BDE-vel és BDE nélkül A Delphi adatbázis-komponensei Táblák és lekérdezések Az adatkészlet állapota Más adatkezelõ komponensek A Delphi adatfüggõ komponensei A rács testreszabása A tábla állapota Mezõközpontú adatfüggõ vezérlõk A DBEdit vezérlõ használata Adatbázis-tábla készítése Lehetséges értékek felsorolása Az adatmezõk elérése A mezõosztályok hierarchiája Számított mezõ hozzáadása Mezõk keresése és módosítása Rekordok keresése a táblában A keresõmetódusok A Goto metódusok A Locate metódus Tábla oszlopának összegzése Tábla oszlopának szerkesztése Adatbázis-kezelõ alkalmazások szabványos vezérlõkkel A Delphi adatfüggõ vezérlõinek utánzása Kérések küldése az adatbázishoz Adatbázis-események Mezõesemények Dátumok szerkesztése naptárral Az adatbázistáblák használata Adatbázis és tábla kiválasztása futásidõben
431 433 434 435 437 437 439 442 443 443 444 448 450 452 457 461 461 463 463 464 465 468 469 469 473 476 478 480 482 482 xi
Tartalomjegyzék
Több tábla megjelenítése Többrekordú rács használata Rácspanelek mozgatása Grafikonok az adatbázisban Hogyan tovább?
10. Magas szintû adatelérés
xii
484 487 489 490 492
493
A Delphi 5 adatmodul-tervezõje A fa nézet Az adatdiagram nézet Adatmodul több nézethez Mezõtulajdonságok és kezdõértékek megadása Egyszerû táblaszûrés Egyéni táblaszûrés MDI-alkalmazás független nézetekkel Lekérdezések használata Lekérdezés paraméterekkel Több tábla használata Masterdetail táblák Keresõlista használata Keresés rácsban A DBGrid vezérlõ magasabb szintû használata Rajzolás a DBGrid-re Jelölõnégyzetes cella Több elem kiválasztását engedélyezõ rács Az adatszótár Az adatszótár és a mezõszerkesztõ Mibõl áll egy attribútumhalmaz? Az adatszótár felfedezése Adatbázishibák kezelése Többfelhasználós Paradox alkalmazások Alacsony szintû BDE Helyi táblák tömörítése Paradox fájlok használata hálózatban A párhuzamos hozzáférés kezelése Tranzakciókezelés Egy egyszerû példa a tranzakciókezelésre Gyorsítótáras frissítések tranzakcióként Hogyan tovább?
495 497 498 500 502 503 505 507 510 514 517 518 521 522 524 525 528 530 532 533 534 535 537 540 540 542 544 546 550 551 552 557
Tárgymutató
559