13. fejezet A Delphi adatbázis-architektúrája Adatbázis-elérés: dbexpress, helyi adatok és egyéb lehetõségek.......... 640 A dbexpress könyvtár....................................... 640 A Borland Database Engine.................................. 641 Az InterBase Express....................................... 642 A MyBase és a ClientDataSet komponens........................ 643 dbgo az ADO motorhoz..................................... 643 Egyéni adatbázis-komponensek............................... 644 MyBase: önálló ClientDataSet..................................... 644 Csatlakozás létezõ helyi táblához.............................. 645 A Midas DLL könyvtártól a MidasLib egységig.................... 646 Az XML és a CDS formátum.................................. 647 Új helyi tábla meghatározása................................. 647 Indexelés................................................ 649 Szûrés................................................... 650 Rekordok keresése......................................... 651 Az Undo és a SavePoint parancs............................... 651 A naplózás ki- és bekapcsolása................................ 652 Az adatfelismerõ vezérlõk használata............................... 653 Táblában lévõ adatok....................................... 653 A DBNavigator és az adathalmazon végrehajtható mûveletek........ 654 Szöveg alapú adatfelismerõ vezérlõk........................... 654 Lista alapú adatfelismerõ vezérlõk............................. 655 Keresõ vezérlõk használata................................... 657 Grafikus adatfelismerõ vezérlõk............................... 659 A DataSet komponens........................................... 659 Az adathalmaz állapota...................................... 664 Az adathalmazok mezõi......................................... 665
vi Delphi 7 mesteri szinten Mezõobjektumok használata.................................. 668 A mezõosztályok hierarchiája................................. 670 Számított mezõ felvétele..................................... 672 Keresõ mezõk............................................. 676 Null értékek kezelése mezõeseményekkel....................... 678 Mozgás az adathalmazban........................................ 680 A tábla egy oszlopának összege............................... 681 Könyvjelzõk használata...................................... 682 A tábla egyik oszlopának módosítása........................... 684 Az adatbázistábla testreszabása.................................... 685 Rajzolás az adatrácsra....................................... 685 Több rekord kijelölését lehetõvé tevõ tábla...................... 688 Táblába húzás............................................. 690 Szabványos vezérlõket használó adatbázis-kezelõ alkalmazások.......... 691 A Delphi adatfelismerõ vezérlõinek utánzása..................... 691 Kérelmek küldése az adatbázisba.............................. 693 Csoportosítás és összesítés....................................... 696 Csoportosítás.............................................. 696 Összesítések meghatározása.................................. 697 Mester részlet típusú felépítések................................... 699 Mester részlet típusú felépítés ClientDataSet komponensekkel....... 700 Az adatbázis-hibák kezelése...................................... 701 Hogyan tovább?................................................ 702 14. fejezet dbexpress ügyfél kiszolgáló rendszerek Ügyfél kiszolgáló rendszerek..................................... 704 Az adatbázistervezés elemei...................................... 706 Egyedek és relációk........................................ 706 Az elsõdleges kulcsoktól az OID-kig........................... 707 További megszorítások...................................... 709 Egyirányú kurzorok........................................ 709 Az InterBase.................................................. 711 Az IBConsole használata..................................... 712 Kiszolgáló oldali programozás az InterBase-zel................... 715 A dbexpress könyvtár........................................... 718 Munka egyirányú kurzorokkal................................ 718 Rendszerek és adatbázisok................................... 719 A meghajtók változatairól és a beágyazott egységekrõl.............. 719 A dbexpress komponensek....................................... 721 Az SQLConnection komponens............................... 721 A dbexpress adathalmaz-komponensei......................... 725 Az SQLMonitor komponens.................................. 727 Néhány dbexpress bemutatóprogram............................... 728
vii Egy komponens több komponens............................ 729 Az adatbázisok metaadatainak elérése a SetSchemaInfo segítségével... 733 Paraméteres lekérdezések.................................... 734 Amikor egy irány is elég: adatok nyomtatása..................... 736 A csomagok és az átmeneti tár.................................... 739 Frissítések kezelése......................................... 740 Az adatok frissítése......................................... 742 Tranzakciók használata...................................... 745 Az InterBase Express használata................................... 749 Az IBX adathalmaz-komponensei.............................. 749 Az IBX felügyeleti komponensei............................... 750 IBX példaprogram készítése.................................. 751 Élõ lekérdezések készítése................................... 752 Az InterBase Express figyelése................................ 757 További rendszeradatok kiolvasása............................. 758 Programozás a gyakorlatban...................................... 759 Generátorok és azonosítók................................... 759 Kis- és nagybetûket nem megkülönböztetõ keresés................ 761 Helyek és személyek kezelése................................ 763 Felhasználói felület kiépítése................................. 765 Feliratkozás............................................... 768 Keresési párbeszédablak készítése............................. 772 Form tetszõleges lekérdezés megadására........................ 774 Hogyan tovább?................................................ 775 15. fejezet Az ADO használata Az MDAC (Microsoft Data Access Components)....................... 778 OLE DB szolgáltatók........................................ 779 A dbgo komponensek használata.................................. 781 Egy gyakorlati példa........................................ 782 Az ADOConnection komponens............................... 784 Adatcsatolási fájlok......................................... 784 Dinamikus tulajdonságok.................................... 785 Sémaadatok kinyerése...................................... 786 A Jet adatbázismotor használata................................... 788 A Paradox és a Jet.......................................... 789 Az Excel és a Jet........................................... 790 A szövegfájlok és a Jet...................................... 791 Import és export........................................... 793 Kurzorok használata............................................ 795 CursorLocation (kurzorhelyzet)................................ 795 CursorType (kurzortípus).................................... 796 Típusok automatikus felülbírálása.............................. 798
viii Delphi 7 mesteri szinten A rekordok számáról........................................ 798 Ügyfélindexek............................................. 798 Klónozás................................................. 800 Tranzakciók feldolgozása........................................ 801 Beágyazott tranzakciók...................................... 802 Az ADOConnection Attributes tulajdonsága...................... 802 Zárolási típusok........................................... 803 Az adatok frissítése............................................. 804 Kötegelt frissítés........................................... 806 Optimista zárolás.......................................... 808 A frissítési ütközések feloldása................................ 811 Leválasztott rekordhalmazok...................................... 812 Kapcsolatok közös kezelése.................................. 813 Maradandó rekordhalmazok.................................. 814 Az aktatáska modell........................................ 816 Pár szó az ADO.NET-rõl......................................... 816 Hogyan tovább?................................................ 817 16. fejezet Többrétegû DataSnap alkalmazások A három réteg a Delphi történetének tükrében...................... 820 A DataSnap technikai alapjai.................................. 821 Az IAppServer felület....................................... 822 Kapcsolati protokollok...................................... 822 Adatcsomagok............................................ 824 A Delphi ügyfél oldali komponensei........................... 825 A Delphi kiszolgáló oldali komponensei........................ 826 Egy egyszerû program elkészítése.................................. 826 Az elsõ alkalmazás-kiszolgáló................................. 826 Az elsõ vékony ügyfél....................................... 828 Megszorítások hozzáadása a kiszolgálóhoz........................... 830 Mezõ- és táblamegszorítások................................. 830 Mezõtulajdonságok használata................................ 832 Mezõ- és táblaesemények.................................... 832 Az ügyfél kiegészítése további szolgáltatásokkal....................... 833 A frissítési folyamat......................................... 834 Adatok frissítése........................................... 835 A DataSnap további lehetõségei................................... 837 Paraméteres lekérdezések.................................... 837 Egyéni tagfüggvényhívások.................................. 838 Mester részlet kapcsolatok................................... 839 A ConnectionBroker komponens.............................. 841 Az adatszolgáltató további lehetõségei.......................... 842
ix A SimpleObjectBroker komponens............................. 843 Objektumkölcsönzés........................................ 843 Adatcsomagok testreszabása.................................. 843 Hogyan tovább?................................................ 845 17. fejezet Adatbázis-komponensek készítése Az adatkapcsolat............................................... 847 A TDataLink osztály........................................ 848 Származtatott adatkapcsolati osztályok.......................... 849 Mezõközpontú adatfüggõ komponensek készítése..................... 849 Csak olvasható ProgressBar.................................. 850 Írható-olvasható TrackBar.................................... 853 Egyedi adatkapcsolatok készítése.................................. 857 Egy rekordnézegetõ komponens.............................. 857 A DBGrid komponens testreszabása................................ 863 Egyedi adathalmazok készítése.................................... 867 Az osztályok meghatározása.................................. 868 I. szakasz: kezdeti beállítások, megnyitás és bezárás............... 871 II. szakasz: mozgatás és könyvjelzõ-kezelés...................... 876 III. szakasz: rekordtárak és mezõkezelés........................ 880 IV. szakasz: a tárakból a mezõkbe............................. 884 A folyam alapú adathalmaz tesztelése........................... 886 Könyvtár az adathalmazban...................................... 887 Lista ábrázolása adathalmazként............................... 888 A könyvtár tartalmának megjelenítése........................... 889 Adathalmaz objektumokból...................................... 893 Hogyan tovább?................................................ 897 18. fejezet Jelentések készítése a Rave segítségével A Rave....................................................... 900 A Rave: vizuális jelentéskészítõ környezet....................... 900 Az RvProject komponens használata............................ 903 Megjelenítési formátumok.................................... 905 Adatkapcsolatok........................................... 906 A Rave Designer komponensei.................................... 908 Alapkomponensek......................................... 909 Adatelérésre használt objektumok............................. 911 Területek és sávok......................................... 912 Adatfüggõ komponensek.................................... 914 Rave szolgáltatások haladóknak................................... 917 Mester részlet jelentések..................................... 917 Jelentéskészítés parancsfájlokkal............................... 919
x Delphi 7 mesteri szinten Tükrözés................................................. 920 További számítások......................................... 920 Hogyan tovább?................................................ 922 19. fejezet Internetprogramozás: a foglalatok és az Indy Foglalatok használata........................................... 924 A foglalatok programozásának alapjai.......................... 925 Az Indy TCP komponensek használata.......................... 927 Adatbázisok adatainak küldése foglalatokon át................... 931 Levelezés..................................................... 935 Levelek küldése és fogadása.................................. 936 A HTTP protokoll használata...................................... 938 HTTP tartalom letöltése...................................... 939 Saját böngészõ............................................ 945 Egyszerû HTTP kiszolgáló.................................... 946 HTML elõállítása............................................... 948 A Delphi HTML-készítõ komponensei.......................... 948 HTML oldalak készítése..................................... 949 Adatokat tartalmazó oldalak készítése.......................... 951 HTML táblázatok készítése................................... 952 Stíluslapok használata....................................... 954 Dinamikus oldalak egyedi kiszolgálóról......................... 955 Hogyan tovább?................................................ 956 20. fejezet Webprogramozás a WebBroker és a WebSnap segítségével Dinamikus weboldalak.......................................... 958 A CGI áttekintése.............................................. 958 Dinamikus könyvtárak használata.............................. 960 A Delphi WebBroker megoldása................................... 960 Hibakeresés a Web App Debugger segítségével................... 963 Többcélú webmodul készítése................................ 966 Adatbázisok dinamikus elérése................................ 968 Lekérdezések és ûrlapok..................................... 969 Az Apache használata....................................... 973 Gyakorlati példák.............................................. 975 Webes találatszámláló....................................... 975 Keresés webes keresõmotorral................................ 978 WebSnap..................................................... 980 Több oldal kezelése........................................ 983 Kiszolgáló oldali parancsfájlok................................ 985 Csatolók................................................. 988 Fájlok keresése............................................ 993 A WebSnap és az adatbázisok..................................... 993
xi A WebSnap adatmodul...................................... 994 A DataSetAdapter.......................................... 994 A formon lévõ adatok szerkesztése............................. 997 Mester részlet kapcsolatok a WebSnap-ben...................... 999 Munkamenetek, felhasználók és jogosultságok....................... 1001 Munkamenetek használata.................................. 1001 Bejelentkezés jelszóval..................................... 1003 Hogyan tovább?............................................... 1005 21. fejezet Webes programozás az IntraWeb segítségével Az IntraWeb bemutatása.................................... 1008 A webhelyektõl a webes alkalmazásokig....................... 1009 Az elsõ pillantás a színfalak mögé............................. 1012 Az IntraWeb szerkezeti felépítésének változatai.................. 1014 IntraWeb alkalmazások létrehozása............................ 1015 Webes adatbázisokat kezelõ alkalmazások...................... 1027 Hogyan tovább?............................................... 1036 22. fejezet XML megoldások használata Az XML ismertetése............................................ 1038 Az alapvetõ XML nyelvtan................................... 1039 A jólformált XML kód...................................... 1040 Az XML használata........................................ 1041 XML dokumentumok kezelése a Delphiben..................... 1043 Programozás a DOM segítségével............................. 1044 XML dokumentum fa nézetben............................... 1045 Dokumentumok készítése a DOM segítségével.................. 1048 XML adatcsatoló felületek................................... 1053 A SAX API használata...................................... 1058 XML-leképezés átalakítás útján............................... 1062 Az XML és az Internet Express................................... 1067 Az XMLBroker komponens.................................. 1068 JavaScript-támogatás....................................... 1069 Mintaprogram készítése.................................... 1070 Az XSLT használata............................................ 1075 Az XPath használata....................................... 1076 Az XSLT a gyakorlatban.................................... 1077 Az XSLT és a WebSnap..................................... 1078 Közvetlen XSL-átalakítás a DOM segítségével.................... 1080 Nagy XML dokumentumok feldolgozása............................ 1082 ClientDataSet komponensbõl XML dokumentumba............... 1082 XML dokumentumból ClientDataSet komponensbe............... 1084 Hogyan tovább?............................................... 1086
xii Delphi 7 mesteri szinten 23. fejezet A webszolgáltatások és a SOAP protokoll Webszolgáltatások............................................. 1088 A SOAP és a WSDL........................................ 1088 A BabelFish Translations fordító szolgáltatás..................... 1089 Webszolgáltatások készítése..................................... 1092 Valutaváltó webszolgáltatás.................................. 1093 Adatbázisban lévõ adatok lekérése............................ 1097 A SOAP fejlécek hibakeresése................................ 1101 Már meglévõ osztály bejegyzése webszolgáltatásként.............. 1103 DataSnap SOAP protokollal...................................... 1103 A DataSnap SOAP kiszolgáló elkészítése........................ 1104 A DataSnap SOAP ügyfél elkészítése........................... 1106 A SOAP és a többi DataSnap kapcsolat összehasonlítása........... 1106 A mellékletek kezelése......................................... 1107 Az UDDI támogatása........................................... 1109 Mi az az UDDI?........................................... 1110 Az UDDI a Delphi 7-ben.................................... 1111 Hogyan tovább?............................................... 1114 24. fejezet A Microsoft.NET a Delphi szemszögébõl nézve A Delphi for.net Preview telepítése.............................. 1116 A telepített program ellenõrzése.............................. 1118 {$APPTYPE CONSOLE}..................................... 1118 A Microsoft.NET felülete........................................ 1120 A közös nyelvû infrastruktúra (CLI)........................... 1120 A közös nyelvû futásidejû környezet (CLR)...................... 1122 Szerelvények............................................. 1124 A közvetítõnyelv.............................................. 1125 Felügyelt és biztonságos kód................................ 1127 A közös típusrendszer...................................... 1128 Szemétgyûjtés................................................ 1131 Szemétgyûjtés és hatékonyság............................... 1136 Telepítés és változatok......................................... 1137 Hogyan tovább?............................................... 1140 25. fejezet Delphi for.net Preview: a nyelv és a futásidejû könyvtár Elavult nyelvi szolgáltatások a Delphiben........................... 1142 Elavult típusok........................................... 1142 Karakterláncok és egyéb típusok............................. 1142 Elavult szolgáltatások...................................... 1143 A Delphi új nyelvi szolgáltatásai.................................. 1144 Egység-névterek.......................................... 1144
xiii Bõvített azonosítók........................................ 1147 A final és a sealed kulcsszavak............................... 1147 A láthatóság és hozzáférés új szintjei........................... 1148 Statikus osztálytagok....................................... 1148 Beágyazott típusok........................................ 1149 Több típussal rendelkezõ események.......................... 1149 Egyedi tulajdonságok...................................... 1151 Osztálysegítõk............................................ 1152 A futásidejû könyvtár és a VCL................................... 1153 Osztálysegítõk a futásidejû könyvtárhoz........................ 1153 A VCL...................................................... 1154 Betekintés a VCL.NET forráskódjába........................... 1155 További VCL mintaprogramok............................... 1157 Microsoft könyvtárak használata.................................. 1158 Az ASP.NET és a Delphi nyelv.................................... 1165 Hogyan tovább?............................................... 1168 A. függelék További Delphi-eszközök a szerzõtõl A CanTools varázslók.......................................... 1169 VclToClx átalakítóprogram...................................... 1171 Object Debugger.............................................. 1172 Memory Snap................................................ 1173 Engedélyek és hozzájárulások.................................... 1174 B. függelék További Delphi-eszközök más forrásokból Elõre telepített nyílt forráskódú Delphi-komponensek................. 1175 További nyílt forráskódú projektek................................ 1175 Project JEDI.............................................. 1176 GExperts................................................ 1176 A Delphree webhely....................................... 1177 DUnit.................................................. 1177 C. függelék További ingyenes könyvek a Delphirõl Essential Pascal............................................... 1179 Essential Delphi............................................... 1180 Delphi Power Book............................................ 1180 Köszönetnyilvánítás............................................ 1181 Tárgymutató.................................................. 1183