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 |