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