| I. RÉSZ | 1 |
| A Form egy ablak (és egy ActiveX) | 5 |
| Első formunk elkészítése | 5 |
| Cím beállítása | 6 |
| A form elmentése | 8 |
| Komponensek használata | 8 |
| Tulajdonságok megváltoztatása | 9 |
| Reagálás az eseményekre | 12 |
| A program fordítása és futtatása | 16 |
| Tulajdonságok futásidejű megváltoztatása | 18 |
| Kód hozzáadása a programhoz | 20 |
| Egy kétirányú eszköz | 22 |
| A forráskód | 22 |
| A form szöveges leírása | 24 |
| A projekt-állomány | 27 |
| ActiveForm készítése | 28 |
| Komponens-sablonok használata | 29 |
| ActiveX könyvtár és ActiveForm | 29 |
| A HTML oldal | 31 |
| Hogyan tovább? | 33 |
| A Delphi-környezet jellemzői | 37 |
| A Delphi különböző verziói | 37 |
| Segítség kérése | 38 |
| Delphi menük és parancsok | 40 |
| A File menü | 40 |
| Az Edit menü | 42 |
| Komponensek másolása és beillesztése | 42 |
| További szerkesztő parancsok | 45 |
| A Search menü | 45 |
| A View menü | 48 |
| A Project menü | 49 |
| A Run menü | 50 |
| A Component menü | 51 |
| Komponens sablonok | 51 |
| A Database menü | 51 |
| A Tools menü | 52 |
| A Help menü | 53 |
| A Delphi eszköztára | 53 |
| A lokális menük | 54 |
| A Form Designer használata | 54 |
| A komponenspaletta | 57 |
| Az Object Inspector | 58 |
| Az Alignment paletta | 59 |
| Programkód írása a szerkesztőben | 60 |
| A szerkesztő könyvjelzőinek használata | 60 |
| A Delphi 3 Code Insight szolgáltatásai | 62 |
| Kódkiegészítés | 62 |
| Kódsablonok | 63 |
| Kódparaméter | 64 |
| Projektek menedzselése | 65 |
| A Project Manager | 65 |
| Projektopciók beállítása | 66 |
| Egy projekt lefordítása | 67 |
| Egy lefordított program vizsgálata | 68 |
| A beépített hibakereső | 68 |
| Az Object Browser | 69 |
| Egyéb Delphi eszközök | 69 |
| A rendszer fájljai | 70 |
| Az Object Repository és a Delphi varázslók | 79 |
| Az Object Repository | 79 |
| A New oldal | 81 |
| Az ActiveX oldal | 82 |
| Az "aktuális projekt" oldal | 83 |
| A Forms oldal | 83 |
| A Dialogs oldal | 84 |
| A Data Modules oldal | 85 |
| A Projects oldal | 85 |
| Delphi varázslók | 86 |
| Az Adatbázis Form varázsló (Database Form Wizard) | 87 |
| Az Alkalmazás varázsló (Application Wizard) | 89 |
| A Párbeszédablak varázsló (Dialog Wizard) | 91 |
| Az Object Repository testreszabása | 92 |
| Új alkalmazás sablon felvétele | 92 |
| Az üres projekt sablon | 94 |
| Új form sablonok hozzáadása | 94 |
| Az Object Repository opciói | 95 |
| Új varázsló DLL-ek telepítése | 96 |
| A Pascal nyelv | 101 |
| Típusok, változók és konstansok | 101 |
| Változók | 101 |
| Konstansok | 103 |
| String erőforrás (resource string) konstansok | 104 |
| Delphi adattípusok | 104 |
| Sorszámozott típusok (ordinal types) | 105 |
| A Range példaprogram | 106 |
| Sorszámozott típusokon használható eljárások és rutinok | 108 |
| Valós típusok | 109 |
| Dátum és idő | 110 |
| Különleges Windows-típusok | 114 |
| Ablakkezelők (handle) | 115 |
| Típusmegfeleltetés (casting) és típuskonverzió | 116 |
| A Variant típus | 118 |
| Felhasználó által meghatározott adattípusok | 122 |
| A részintervallum típusok (subrange types) | 124 |
| Felsorolt típusok | 125 |
| Halmaz típusok | 127 |
| Tömb típusok (array types) | 129 |
| A rekord adattípus | 131 |
| A mutató típus (pointer) | 133 |
| Állománytípusok | 135 |
| Stringek a Delphiben | 136 |
| A hagyományos Pascal stringek | 136 |
| A Delphi hosszú stringjei | 136 |
| StrRef: Példa a dinamikus string allokálására | 138 |
| C-stílusú karaktertömbök | 140 |
| String átalakítások | 141 |
| Stringátalakítási nehézségek | 142 |
| Stringek formázása | 144 |
| Programozási stílus | 146 |
| Megjegyzések | 147 |
| A NAGY- és kisbetűk használata | 148 |
| Közök (white space) | 148 |
| A szép külalak | 149 |
| A szintaktikai elemek kiemelése | 150 |
| Kódsablonok használata | 151 |
| Nyelvi kifejezések | 152 |
| Kifejezések és operátorok | 152 |
| Operátorok és a precedencia szabály | 153 |
| Egyszerű és összetett kifejezések | 154 |
| Elágazások | 156 |
| Az if utasítás | 156 |
| A Case utasítás | 158 |
| Ciklusok a Pascalban | 158 |
| A for ciklus | 158 |
| A while és a repeat utasítások | 159 |
| A with utasítás | 162 |
| Eljárások és függvények | 165 |
| Cím szerinti paraméterátadás | 166 |
| Konstans paraméterek | 167 |
| Nyitott tömb paraméterek | 167 |
| Változtatható típusú nyitott tömb paraméterek | 168 |
| A Delphi alprogram-hívási lehetőségei | 171 |
| Mi is az a metódus? | 172 |
| Elődeklarációk | 172 |
| Külső deklarációk | 174 |
| Eljárás-típusok | 175 |
| Windows callback függvények | 178 |
| Az Object Pascal, mint objektumorientált nyelv | 183 |
| Osztályok és objektumok | 183 |
| A Delphi objektum-hivatkozási modellje | 186 |
| A TDate osztály felhasználása Delphiben | 188 |
| Konstruktor készítése | 190 |
| Objektumok a memóriában | 192 |
| Az osztályok és az információ-rejtés | 194 |
| Private, protected, public | 195 |
| Public és published | 196 |
| Osztályok és egységek | 197 |
| Osztály interfész | 201 |
| Egységek és érvényesség | 202 |
| Egységek és érvényességi körök | 203 |
| Változások elrejtése | 204 |
| Egység a TDate osztály számára | 206 |
| Egységek és programok | 210 |
| Öröklés meglévő típusokból | 211 |
| Öröklés és típus kompatibilitás | 215 |
| Késői kötés és polimorfizmus | 218 |
| Metódusok felülírása és újradefiniálása | 221 |
| Virtuális és dinamikus metódusok | 222 |
| Üzenetkezelők | 223 |
| Absztrakt metódusok | 224 |
| Futási idejű típus információ | 228 |
| Kivételkezelés | 230 |
| Az at kulcsszó | 232 |
| Példa kivételek használatára | 232 |
| Kivételek és a verem | 236 |
| A finally blokk | 237 |
| Haladó szintű Object Pascal | 245 |
| A Self kulcsszó | 245 |
| Komponensek dinamikus létrehozása | 246 |
| Osztálymetódusok és adatok | 248 |
| Egy osztály objektum-számlálóval | 249 |
| Metódus-mutatók | 253 |
| A számlálós példa fejlesztése | 255 |
| Objektumok egyszeri megsemmisítése | 257 |
| Osztályreferenciák | 259 |
| Objektumok létrehozása futási idő alatt osztályhivatkozások használatával | 261 |
| Interfész és többszörös öröklődés | 263 |
| Interfész deklarálása | 264 |
| Interfész használata paraméterként | 267 |
| Egy második interfész írása | 268 |
| Mindkét interfész implementációja | 270 |
| Tulajdonságok és események definiálása | 273 |
| Tulajdonságok hozzáadása a TDate osztályhoz | 276 |
| Események a Delphiben | 281 |
| Az események tulajdonságok | 281 |
| Egy esemény hozzáadása a TDate osztályhoz | 282 |
| Egy TDate komponens készítése | 284 |
| A Vizuális Komponenskönyvtár (Visual Component Library) | 289 |
| A TObject osztály | 289 |
| Az osztályinformáció megjelenítése | 292 |
| A VCL hierarchiája | 293 |
| A komponensek | 295 |
| Az objektumok | 296 |
| A kivételek | 300 |
| A VCL osztályok használata | 302 |
| Az általános VCL tulajdonságok | 302 |
| A Name (Név) tulajdonság | 305 |
| Komponensek méretére és helyzetére vonatkozó tulajdonságok | 308 |
| Aktivizálási és láthatósági tulajdonságok | 308 |
| A testreszabható Tag tulajdonság | 309 |
| A felhasználói interfész: színek és fontok | 310 |
| Általános VCL metódusok | 312 |
| Az általános VCL események | 315 |
| A Delphi kollekcióinak használata | 316 |
| Objektum- és adatlisták használata | 318 |
| A VCL forráskód tanulmányozása | 320 |
| II. RÉSZ | 323 |
| Alapvető komponensek | 327 |
| A Windows saját komponensei | 327 |
| Gombra kattintás | 328 |
| A Buttons (gombok) példa | 329 |
| Kattintás az egérrel | 333 |
| Színes szövegek a formon | 334 |
| A LabelCo példa | 334 |
| A standard szín párbeszédablak | 337 |
| Elemek áthúzása komponensek között | 338 |
| A Dragging példa kódja | 340 |
| Felhasználói input fogadása | 341 |
| A bemeneti fókusz kezelése | 342 |
| Egy általános OnEnter eseménykezelő | 346 |
| Számok bevitele | 347 |
| Kifinomult beviteli sémák | 352 |
| Egy egyszerű szerkesztő készítése | 354 |
| A Font párbeszédablak | 354 |
| Egy komolyabb szerkesztő készítése | 355 |
| Választások | 357 |
| A rádiógombok csoportosítása | 358 |
| A Phrases1 példa | 359 |
| Egy lista sok választási lehetőséggel | 363 |
| A Phrases2 példa formja | 363 |
| Listapanelek kezelése | 365 |
| A kiválasztott string eltávolítása a másik listapanelből | 366 |
| Többszörös kiválasztás engedélyezése | 370 |
| A Phrases példa harmadik változata | 372 |
| A jelölőnégyzet-lista (CheckListBox) komponens használata | 375 |
| Sok lista, kevés hely | 377 |
| Egy adott határon belüli érték kiválasztása | 379 |
| A Scroll Color példa | 379 |
| Menük készítése és kezelése | 385 |
| A főmenü felépítése | 385 |
| A menüpontok különböző szerepei | 386 |
| Menü készítése a Menü Tervezővel | 387 |
| A menü általános felépítése | 388 |
| Gyorsbillentyűk, forróbillentyűk | 388 |
| Előre definiált menüsablonok használata | 389 |
| Menüparancsok feldolgozása | 390 |
| A Menü Tervező által generált kód | 391 |
| A MenuOne példa forrása | 393 |
| Menük módosítása futásidőben | 395 |
| Menüpontok változtatása futásidőben | 395 |
| Menüpontok kikapcsolása és legördülő menük elrejtése | 397 |
| Rádió menüpontok használata | 399 |
| Menüpontok készítése dinamikusan | 400 |
| Rövid és hosszú menük | 405 |
| Grafikus menüpontok | 407 |
| A pipa módosítása | 407 |
| Kép menüpontok | 411 |
| Tulajdonos által rajzolt menüpontok | 415 |
| A rendszermenü testreszabása | 419 |
| Teljes menü készítése | 422 |
| A Fájl menü | 423 |
| Rövid kiértékelés | 425 |
| A Bekezdés menü | 429 |
| A Betűtípus menü | 430 |
| A Beállítások menü | 433 |
| Előugró menük | 434 |
| Automatikus helyi menü | 435 |
| Előugró menü módosítása aktiváláskor | 436 |
| Előugró menük kezelése programból | 437 |
| A formok mélyebb megismerése | 443 |
| Formok és ablakok | 443 |
| Átlapolt, felbukkanó és gyermekablakok | 445 |
| Az alkalmazás is ablak | 446 |
| Form-stílusok beállítása | 447 |
| Legfelül maradó form készítése | 448 |
| A villanás kiküszöbölése | 449 |
| Keretstílus | 451 |
| A keretstílus hatása | 452 |
| A Borders példa | 453 |
| A keret ikonjai | 454 |
| További ablakstílusok használata | 456 |
| A formok manuális méretezése | 457 |
| Formok automatikus méretezése | 460 |
| A form helyzetének és méretének állítása | 461 |
| A form kis- és teljes méretűvé alakítása | 463 |
| A form és kliensterületének mérete | 465 |
| A formok maximális és minimális mérete | 466 |
| Formok készítése automatikusan | 468 |
| A form bezárása | 469 |
| A billentyűzet-események figyelése | 472 |
| Egéresemények figyelése | 475 |
| Az egér gombjai | 475 |
| A Windows használata egér nélkül | 476 |
| Az egéresemények paraméterei | 476 |
| Kattintás és rajzolás: a Shapes1 példa | 477 |
| Rajzolás a formra | 479 |
| A rajzeszközök | 480 |
| Alakzatok rajzolása | 481 |
| Rajzolás és festés a Windows-ban | 484 |
| Egy egyszerű alakzat festése | 485 |
| Több alakzat festése | 487 |
| A Delphi kimeneti komponensei | 491 |
| Grafikus komponensek | 495 |
| A felhasználói felület grafikus fejlesztése | 495 |
| Bitmap a gombon | 496 |
| Egy autó a gombon | 497 |
| Változó kép a gombon | 502 |
| A kétállású gomb | 502 |
| Több kép egy bitmapben | 504 |
| A forgó földgömb | 506 |
| Bitmap lista, erőforrások használata, és a rajztábla | 508 |
| Az Animáció kontrol | 514 |
| Kép megjelenítő | 517 |
| Rajzolás a bittérképbe | 520 |
| Alakzatok rajzolása | 521 |
| Grafikus listák | 524 |
| Színek listájának kirajzolása | 524 |
| A könyv rövid áttekintése | 528 |
| A fejezetek struktúrája | 532 |
| Az Outline csomópontjai | 536 |
| Egy grafikus lista | 539 |
| Grafikus rácsok | 542 |
| A font rács | 544 |
| Aknák a rácsban | 548 |
| Színek választása | 553 |
| A TeeChart használata | 554 |
| Az első példa készítése | 556 |
| Adatok hozzáadása a grafikonhoz | 558 |
| Sorozatok dinamikus létrehozása | 560 |
| A Dátum-Idő kiválasztó kontrol | 562 |
| Eszköztár, CoolBar, státuszsor | 567 |
| Kontrolok csoportosítása paneleken | 567 |
| Eszközsor készítése panelből | 568 |
| Az első eszköztár | 569 |
| Eszköztár gombok ki és bekapcsolása | 572 |
| Tippek hozzáadása az eszköztárhoz | 574 |
| Tippek a formokon | 576 |
| Tippek testre szabása | 576 |
| Több tipp egy kontrollhoz | 578 |
| Szolgáltatások az eszköztáron | 580 |
| Combo box eszköztáron | 580 |
| Mozgatható eszköztár | 582 |
| A Windows 95-ös Toolbar (Eszköztár) kontrol | 586 |
| Egy remek eszköztár | 590 |
| Státuszsor készítése | 593 |
| Menü tippek a státuszsoron | 594 |
| Speed Button tippek a státuszsoron | 596 |
| Több form és párbeszédablak | 601 |
| Párbeszédablakok vagy formok? | 601 |
| Második form hozzáadása a programunkhoz | 602 |
| Modális és nem modális formok | 605 |
| Két form, két menü | 607 |
| Form menük egybeolvasztása | 608 |
| Párbeszédablakok készítése | 611 |
| Modális párbeszédablakok | 611 |
| Párbeszédablak bezárása | 614 |
| Nem modális párbeszédablak | 615 |
| Előre definiált párbeszédablakok használata | 620 |
| Általános Windows párbeszédablakok | 620 |
| Üzenetablakok sokasága | 626 |
| Bővíthető párbeszédablakok | 630 |
| Névjegy készítése | 633 |
| A rendszer Névjegyének használata | 633 |
| Saját rejtett képernyő készítése | 634 |
| Nyitóképernyő készítése | 637 |
| Vizuális form öröklés | 642 |
| Öröklés alapformból | 643 |
| Polimorf formok | 646 |
| Görgetés, többlapos formok | 655 |
| Amikor a formok túl nagyok | 655 |
| A form görgetése | 656 |
| A görgetést tesztelő példa | 657 |
| Automatikus görgetés | 660 |
| Kép görgetése | 660 |
| Görgetés és form koordináták | 662 |
| Jegyzettömbök készítése a Delphivel | 664 |
| PageControl és TabSheet komponensek | 665 |
| Notebook TabSet-tel | 670 |
| Jegyzettömb oldalának megváltoztatása | 674 |
| Füllel rendelkező jegyzettömbök | 677 |
| Jegyzettömb fülek nélkül és fülek jegyzettömb nélkül | 678 |
| Megjelenítés egy jegyzettömbben | 679 |
| Egy képkezelő program | 680 |
| Képnézegető fülekkel | 683 |
| Egy többoldalas eszköztár | 684 |
| Formfelosztási technikák | 686 |
| Elválasztás Splitterrel | 686 |
| Vízszintes elválasztás | 689 |
| Alternatív elválasztó komponensek | 690 |
| Elválasztás fejléccel | 691 |
| Elválasztás panelekkel | 694 |
| Elválasztó vonal rajzolása | 697 |
| Közvetlen egérkezelés a formban | 701 |
| Húzás egérrel | 701 |
| A húzás kódja | 702 |
| MDI alkalmazások készítése | 707 |
| MDI a Windowsban: technikai áttekintés | 707 |
| Keret és gyermekablakok a Delphiben | 710 |
| Az első MDI demo Delphiben | 710 |
| Egy teljes Window menü felépítése | 713 |
| Egy gyermekablak létrehozása | 715 |
| MDI alkalmazások különböző gyermekablakokkal | 717 |
| Egy pattogó alak hozzáadása | 718 |
| Az új gyermekform menüje | 719 |
| A főform átalakítása | 720 |
| Az MDI gyors elsajátítása | 722 |
| Adatbázis-kezelő alkalmazások készítése | 727 |
| Adatok, fájlok, adatbázisok és táblák | 727 |
| Mi is egy tábla? | 730 |
| Műveletek végzése az adatbázison | 731 |
| A Delphi adatbázis komponensei | 731 |
| Táblák és lekérdezések | 733 |
| Az adatkészlet állapota | 735 |
| Más adatkezelő komponensek | 736 |
| A Delphi adatfüggő komponensei | 736 |
| Adatbázis-kezelő alkalmazások készítése manuálisan | 738 |
| Egy adatbázis-kezelő rács | 738 |
| A rács testreszabása | 740 |
| A tábla állapota | 741 |
| DBEdit vezérlők használata | 742 |
| Lekérdezések használata | 744 |
| Paraméterezett lekérdezések | 748 |
| A Database Form varázsló használata | 750 |
| Az adatmezők elérése | 751 |
| A mezőosztályok hierarchiája | 753 |
| Számított mező készítése | 757 |
| Mezők használata a tábla változtatásához | 762 |
| Rekordok keresése a táblában | 762 |
| A kereső metódusok | 764 |
| Goto metódusok | 765 |
| A Locate metódus | 766 |
| Egy tábla oszlopának szummázása | 766 |
| A tábla egy oszlopának szerkesztése | 769 |
| Az adatbázis különböző tábláinak használata | 770 |
| Az adatbázis és a tábla kiválasztása futásidőben | 770 |
| Egy táblaböngésző program | 772 |
| Egy mezőszerkesztő program | 775 |
| A táblaböngésző felhasználói felületének továbbfejlesztése | 776 |
| Tábla létrehozása | 778 |
| Táblák dinamikus létrehozása | 779 |
| A form és a kezdő programrészlet | 781 |
| Új tábla létrehozása | 782 |
| Egy létező tábla kiválasztása a megfelelő mezők segítségével | 784 |
| Rekordok hozzáadása és törlése | 787 |
| Többrekordú rács használata | 788 |
| Rácspanelek mozgatása | 789 |
| Kapcsolttáblás form készítése varázslóval | 791 |
| A kapcsolttáblás szerkezet használata lekérdezésekben | 793 |
| Választás kombinált lista segítségével | 793 |
| Keresés a rácsban | 795 |
| Haladó adatbázis-kezelés | 801 |
| Kapcsolat létesítése SQL szerverrel | 801 |
| Első InterBase alkalmazásunk | 802 |
| Kapcsolat távoli SQL szerverrel | 804 |
| InterBase szerver eszközök | 804 |
| Meglévő program átírása SQl szerverre | 907 |
| A tábla átmásolása | 808 |
| Az alkalmazás átírása | 810 |
| A Visual Query Builder használata | 811 |
| Átírás vagy fejlesztés? | 814 |
| Tábla-összekapcsolások a Visual Query Builderrel | 814 |
| Egy háromtáblás összekapcsolás | 815 |
| Egy többtáblás kapcsolat | 817 |
| Adatmodulok | 819 |
| Egy adatmodul elkészítése | 820 |
| Adatmodul több nézethez | 821 |
| Mezőtulajdonságok és kezdőértékek megadása | 823 |
| Egyszerű táblaszűrés | 825 |
| Egyéni táblaszűrés | 827 |
| Egyéni szűrés és a kliens/szerver fejlesztés | 829 |
| Az adatszótár | 830 |
| Az adatszótár és a mezőszerkesztő (Fields Editor) | 831 |
| Miből áll egy attribútumhalmaz? | 832 |
| Az adatszótár használata | 833 |
| Tranzakciókezelés | 834 |
| Egy egyszerű példa a tranzakciókezelésre | 835 |
| Egyéni adatbázis-belépés | 837 |
| Adatbázishibák kezelése | 839 |