12.07.2015 Views

CES 2004 - Vitajte na stránkach www.einsty.hostujem.sk

CES 2004 - Vitajte na stránkach www.einsty.hostujem.sk

CES 2004 - Vitajte na stránkach www.einsty.hostujem.sk

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P R O G R A M U J E M EDelfinárium III.5. závereèná èas: Dodávka a inštaláciaAni sme sa ne<strong>na</strong>zdali a je tu závereèná èas seriálu o Advantage Local Serveri. Jej náplòoubude oboznámenie sa so základnými komponentmi Delphi pracujúcimi so serveromAdvantage Local/Database. Napíšeme si ve¾mi jednoduchý ukákový program, ktorý sisám vytvorí potrebný alias, aby sa mohol bez akéhoko¾vek zásahu spusti <strong>na</strong> poèítaèipouívate¾a/zákazníka. Takisto si povieme nieèo o súboroch, ktoré musia by distribuova−né spolu s <strong>na</strong>šou aplikáciou.AKO JE TO S KOMPONENTMI? Komponenty pracujúce s Advantage Local/Data−base Serverom sú <strong>na</strong> 90 % podobné štandardným databázovým komponentom z Delphi,a to vrátane <strong>na</strong>dväznosti <strong>na</strong> komponent TDataSet. Názvy štyroch <strong>na</strong>jzákladnejších kompo−nentov hovoria v podstate samy za seba: TAdsConnection, TAdsTable, TAdsQuery, TAds−StoredProc. Okrem toho sú k dispozícii ešte komponenty TAdsSettings a TAdsDictio<strong>na</strong>ry,ktoré sú výluène pre pokroèilých a slúia <strong>na</strong> údrbu databázy. V ukákovom programe,ktorý si <strong>na</strong>píšeme, pouijeme iba tie <strong>na</strong>jzákladnejšie komponenty, menovite TAdsCon−nection (obdoba TDatabase) a TAdsTable.UKÁKOVÝ PROGRAM. Demoaplikácia, ktorú vytvoríme, bude v podstate extrémnejednoduchý kninièný program, schopný evidova èitate¾ov a vypoièané tituly. Sklada sabude z jedného jediného ok<strong>na</strong>, <strong>na</strong> ktoré budeme pre jednoduchos umiestòova všetkydatabázové komponenty – pouitie dátového modulu je pri takomto type programu úpl−ne zbytoèné.Vytvoríme teda novú aplikáciu a <strong>na</strong> hlavný formulár umiestnime komponent TAds−Connection, ktorý <strong>na</strong>zveme Kniznice. Prvou dôleitou vlastnosou je AdsServerTypes,ktorá urèuje typ pripojenia <strong>na</strong> databázu. Na výber máme tri monosti: stADS_REMOTE,stADS_LOCAL a stADS_AIS. V struènosti ide o to, e komponent sa môe striedavo pripá−ja <strong>na</strong> Local, prípade Database/Internet server. My však pracujeme iba s Local serverom, atak <strong>na</strong>stavíme stADS_LOCAL <strong>na</strong> true a ostatné všetko <strong>na</strong> false.Druhou dôleitou vlastnosou je AliasName. Z jej názvu je zrejmé, o èo ide, take sa onej nebudem príliš rozpisova. Jednoducho staèí, keï z rozba¾ovacieho zoz<strong>na</strong>mu vyberie−te alias vašej databázy.Poslednými dvoma k¾úèovými vlastnosami sú IsConnected a LoginPrompt. Pomocoutej prvej sa pripojíte k databáze a tá druhá zabezpeèí, aby vaša aplikácia nezobrazovalaprihlasovacie dialógové okno v prípade, e databáza prihlasovanie nevyaduje. Nastavímeju preto <strong>na</strong> false.Pripojenie k databáze je <strong>na</strong> svete, potrebujeme však ešte rozmiestni tabu¾ky, tedakomponenty TAdsTable. Ako prvú si vezmeme <strong>na</strong> mušku tabu¾ku s èitate¾mi, ktorú <strong>na</strong>zve−me Osoby. Vlastnos AdsConnection <strong>na</strong>stavíme <strong>na</strong> Kniznica, TableName <strong>na</strong>stavíme <strong>na</strong>Osoby a tabu¾ku môeme slávnostne otvori. Potom nám ostáva u iba vlastnos Index−Name <strong>na</strong> Meno, keïe zoz<strong>na</strong>m èitate¾ov by sme pod¾a monosti chceli ma abecednezoradený. Aby bola rodi<strong>na</strong> kompletná, pridáme ešte komponenty TDataSource, TDBGrida TDBNavigator, èím sme prakticky dokonèili prvú èas programu.Druhá èas nebude o niè zloitejšia. V prvom rade treba prida nový komponentTAdsTable, ktorý <strong>na</strong>zveme Vypozicky. Podobne ako v predchádzajúcom prípade vlastnosAdsConnection <strong>na</strong>stavíme <strong>na</strong> Kniznica a TableName <strong>na</strong>stavíme <strong>na</strong> Vypozicky. Aby medzitabu¾kami Osoby a Vypozicky správne fungoval vzah master/detail, treba vlastnos Index−Name <strong>na</strong>stavi <strong>na</strong> IdOsoby – a po tejto úprave dovolí Delphi <strong>na</strong>stavi vlastnos Master−Source <strong>na</strong> dsOsoby a MasterFields <strong>na</strong> IdOsoby. Po týchto úpravách môeme tabu¾ku bezobáv otvori. Potom pridáme komponenty TDataSource, TDBGrid a TDBNavigator, ko−neènú podobu programu znázoròuje obrázok è. 1.Ïalším krokom bude presun <strong>na</strong>šej databázy do iného adresára (<strong>na</strong> zaèiatku seriálu smeju toti vytvorili v koreòovom adresári di<strong>sk</strong>u C:\). Osobne by som odporúèal v adresárinášho programu vytvori podadresár Data a presunú tam celú databázu. Podstatne satým zjednoduší generovanie inicializaèného súboru ADS.INI: <strong>na</strong>ša aplikácia iba zistí, vakom adresári sa <strong>na</strong>chádza súbor EXE, k tomu pridá reazec "Data" a kompletnú cestu kdatabáze máme po<strong>sk</strong>ladanú. Èo sa týka štruktúry inicializaèného súboru, tá je ve¾mi jed−noduchá: staèí vytvori sekciu [DATABASES] a v nej uvádza názvy aliasov vo formátealias=cesta. Za cestou ešte musí <strong>na</strong>sledova bodkoèiarka a písmeno D, ktoré z<strong>na</strong>mená, eide o alias <strong>na</strong>pojený <strong>na</strong> Advantage Data Dictio<strong>na</strong>ry, <strong>na</strong>príklad:[Databases]testDB=C:\testDB\TESTDB.ADD;DAby všetko prebehlo korektne, musíme upravi inicializaènú rutinu programu takto:program kniznica;usesForms,inifiles, SysUtils,Unit1 in 'Unit1.pas' {Form1};{$R *.RES}varini: TINIFile;beginini := TIniFile.Create(ExtractFilePath(Application.ExeName) + '\ads.ini');tryini.WriteString('Databases','testDB',ExtractFilePath(Application.ExeName) +'Data\testDB.add;D');fi<strong>na</strong>llyini.Free;end;//tryApplication.Initialize;Application.CreateForm(TForm1, Form1);Application.Run;end.Jedno malé upozornenie: majte <strong>na</strong> pamäti, e inicializaèný súbor sa vytvorí iba raz.Preto ak budete experimentova, zmate ho pred kadým spustením programu, v opaè−nom prípade sa toti môe sta, e do neho v dôsledku pokusov pribudnú rôzne neplat−né sekcie.Obr. 1DISTRIBÚCIA. Pokia¾ ste pri inštalácii komponentov nemenili cie¾ový adresár, <strong>na</strong>inšta−lovali sa do adresára C:\ADS. V tomto adresári sa <strong>na</strong>chádza podadresár Redistribute obsa−hujúci súbory, ktoré musíme distribuova spolu s <strong>na</strong>šou aplikáciou: ace32.dll. Advantage Client Engine DLL. Základná klient<strong>sk</strong>a DLL pre Windows. adsloc32.dll. Kninica DLL obsahujúca Advantage Local Server. adslocal.cfg. Konfiguraèný súbor pre Advantage Local Server. extend.chr. Advantage Local Server vyuíva tento súbor pri práci s medzinárodnouz<strong>na</strong>kovou súpravou. Pokia¾ nebude vaša aplikácia kompletne v angliètine vrátane dát,budete ho potrebova. ansi.chr. Advantage Local Server potrebuje tento súbor pri práci so z<strong>na</strong>kovousúpravou ANSI.Hoci v spomenutom adresári sa <strong>na</strong>chádza aj súbor axcws32.dll, <strong>na</strong> ten môeme pokoj−ne zabudnú, pretoe ho vyuijeme iba pri práci s Advantage Database Serverom. Keïemy pracujeme len s Local Serverom, nie je uvedený súbor potrebný.Èo sa týka umiestnenia spomenutých súborov <strong>na</strong> poèítaèi pouívate¾a, teoreticky môuby aj v systémovom adresári, no <strong>na</strong>jistejšie je umiestni ich do toho istého adresára, vktorom je aj spustite¾ný súbor <strong>na</strong>šej aplikácie. Dôvod je ve¾mi jednoduchý, keby sme data−bázový stroj zdie¾ali, hrozilo by to isté, preèo mnoho ¾udí zavrhlo BDE: konflikty verzií.Inicializaèný súbor ADS.INI je tie lepšie umiestni do adresára s aplikáciou.ZÁVER. A je tu záver seriálu. Neostáva mi niè iné ako popria vám ve¾a úspešných apli−kácií, zaloených <strong>na</strong> Advantage Local alebo dokonca Database serveri. Zaèiatoèníkomodporúèam, aby sa v prípade problémov nevzdávali, pretoe lepší databázový stroj nájdulen ako. elám vám ve¾a úspechov v uplatòovaní nových vedomostí.Ivan Zernovác ml.154 PC REVUE 2/<strong>2004</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!