Main menu
Novinky-prihlásiťSte vývojár? Chcete vedieť o novinkách a zmenách v našich produktoch? Radi by ste vyskúšali nové verzie ešte pred ich oficiálnym zverejnením ? Prihláste sa do nášho emaillistu.
|
Sada komponentov Eval slúµi na vylep±enie práce v databázových aplikáciách písaných v
Delphi. Tieto komponenty majú uµahči», resp. umoµni» nasledujúce skutočnosti :
Problémy :
- Filtre v komponente TDataSet. ©tandardné filtre
Delphi majú niekoµko nevýhod:
- veµmi slabá mnoµinu podporovaných funkcií
- práca s nimi je pri veµkých databázach pomalá
- nemajú µiadne uµívateµské rozhranie
- Vypočítané polia(calculated fields) sa »aµko
pouµívajú, pokiaµ neviete dopredu vzorec pre ich
výpočet. Niekedy nastáva situácia, µa tento vzorec
prográtor nepozná, ten je známy aµ pri
prevádzke, resp. môµe sa aj meni». Navy±e práca s
mnohými vypočítanými poµami Delphi program veµmi
spomaµuje, pretoµe tieto polia sa počítajú
relatívne často.
- Delphi neobsahuje µiadny uµívateµský editor
výrazov a filtrov, ako má napr. Excel.
Rie±enia:
Nami ponúkaná sada komponentov EVAL rie±i z veµkej časti tieto drobné
nedostatky Delphi. Základom je komponent TEval,
ktorý slúµi na run-time vyhodnocovanie výrazov zadaných v
stringovej premennej. Tento komponent obsahuje výkonné jadro,
ktoré string po jeho zadaní raz analyzuje (zistí prípadné
syntaktické chyby) a potom ho opakovane vyhodnocuje. Podporuje
pritom prevaµnú čas» ±tandardných funkcií Delphi a navy±e
má niekoµko veµmi silných funkcií, ktoré sú zabudované
priamo v komponente TEval.
- Filtrovanie tabuliek je moµné rie±i» dvoma spôsobmi:
- Roz±íri» mnoµinu funkcií pomocou
komponentu TEval spolu s pouµitím udalosti
OnFilterRecord pre TDataSet. Takto môµeme
vytvára» veµmi v±estranné filtre, bez
obmedzenia na mnoµinu funkcií, dokonca aj s
uµívateµským editorom podmienok.
- Farebne odlí±i» tie riadky tabuµky,
ktoré vyhovujú filtru. Napr. v DBGride
pouµijeme udalos» OnCellParams na vyhodnotenie
podmienky cez TEval, a ak podmienka=true, dáme
BackgroundColor=clYellow. Vidíme tu síce
v±etky riadky tabuµky, ale máme zvýraznené
to, čo by sme videli pri pouµití bodu 1.
Navy±e sme získali na rýchlosti, pretoµe sa
nevyhodnocuje celá mnoµina, ale vµdy len to,
čo je vidie» na obrazovke. Pouµitím
komponentu TEvalDBNavigator
môµeme zabezpeči» posun len po tých
riadkoch, ktoré vyhovujú podmienke.
- Vypočítané polia môµeme definova» priamo počas behu
programu, resp. aj pridáva» nové polia. Prepojením
udalosti OnGetText pre TField a
komponentu TEval môµeme zabezpeči» zobrazovanie
výsledku. Pri pouµití kniµnice EVAL sa počíta
premenná iba vtedy, keď je potrebná jej hodnota.
- Na editáciu výrazov a filtrov slúµi komponent TEvalPanel,
ktorý dovoµuje uµívateµovi vybera» si z mnoµiny
funkcií a ich parametrov a tak zostavi» výraz alebo
filter. Počas zadávania môµe koncový uµívateµ kontrolova» výsledok
priamo v tomto paneli. Pre zábudlivých alebo
pohodlných obsahuje tieµ History combo box, kde si
môµete vybra» zo star±ích podmienok a filtrov, resp.
uklada» nové výrazy a filtre.
- Balík komponentov EVal obsahuje tieµ komponenty, pomocou
ktorých môµete zostavi» vlastné uµívateµské
rozhranie tak, aby spĺňalo Va±e predstavy.
- Kniµnica EVAL roz±iruje Delphi o mnoµstvo funkcií, ktoré sú
pre uµívateµa potrebné, napr. porovnávanie textu s
chybami, test re»azcov podµa zvukovej zhody, operácie
s dátumami, prevod meny na text a pod.
- Poskytuje funkcie, ktoré beµne Delphi nepozná, napr. určitý
integrál.
- Ak zakúpite verziu so zdrojovým kódom, môµete veµmi
µahko pridáva» vlastné funkcie.
Nevýhody komponentov EVAL:
Keďµe ide o vyhodnocovanie výrazu,
ktorý je definovaný aµ za behu programu, trvá jeho
vyhodnotenie dlh±ie ako kompilovaný kód. Podµa merania, ktoré je
zabudované v demo programe ku kniµnici EVAL je priamy
kompilovaný kód asi 8x rýchlej±í ako vyhodnotenie kniµnicou
EVAL.
| |