Užitečné komponenty pro Delphi a C++ Builder, díl 4.

Chcete-li naprosto změnit vzhled své aplikace a přizpůsobit si ji zcela k obrazu svému, pak vám jistě dobře poslouží komponenta, kterou si dnes představíme. Dále si ukážeme komponentu, která dokáže velmi rychle zpracovávat data. Milion položek ve stromové struktuře je pro ni úplná lahůdka a otázka mžiku.
CoolForm

Pokud patříte mezi hračičky, kteří si vždycky vyšperkují design svých aplikací k dokonalosti, možná se vám bude hodit tato komponenta. Ať se budete snažit sebevíc, s běžnými vizuálními prvky, které Delphi nebo C Builder nabízejí, moc uživatele neohromíte. Žádný Winamp z nich zkrátka nevykouzlíte. Pokud však toužíte právě po tom, aby vaše aplikace vypadala zcela jinak, než je obvyklé, můžete použít právě komponentu CoolForm. Co vlastně umí? Pomocí ní si můžete vytvořit formulář opravdu libovolného tvaru a parametrů.

Postup je vlastně velice jednoduchý. Nejprve si vytvoříte v nějakém grafickém editoru design, který požadujete. Na běžný formulář umístíte komponentu CoolForm a do ní vytvořený obrázek načtete. Poté jen nastavíte několik málo parametrů, jako je například průhlednost, či zda je možno formulářem pohybovat uchopením za jeho libovolnou část, protože po spuštění samozřejmě zmizí klasický titulkový pruh. Proto také nesmíte zapomenout na tento vylepšený formulář přidat vlastní tlačítka, která zajistí jeho uzavření (ukončení aplikace) či minimalizaci a podobně. Po spuštění se již objeví pouze ten formulář, který jsme si nakreslili, přesně v tom tvaru, jaký obrázek má. Nic víc, nic méně. Pokud si například jako obrázek zvolíte fotku nějaké slečny (stejně jako v demoaplikaci dodávané s komponentou), bude mít formulář přesně podobu této fotky. Pochopitelně je nutné zvolit takový obrázek, který má nějaký jednolitý barevný podklad, který bude poté zprůhledněn.

I když tato komponenta nenabízí takový komfort, jako některé jiné, které se zabývají přímo skinováním formulářů, její naprosto jednoduché ovládání a funkčnost bude většině z vás dokonale postačovat. Společně s touto komponentou se v tomto minibalíku nachází též komponenty CoolButton a TransparentMemo, které mají podobné zaměření pro dané objekty.

Jako obvykle, vše dostanete včetně zdrojových kódů a zdarma. I když zde bych se měl malinko opravit. Komponenta není docela tak freeware. Pro osobní použití ano, to ji můžete používat bez omezení. Pokud ji ovšem hodláte využít v komerční aplikaci, nejedná se již o freeware, ale o tzv. beerware. :) Že tento pojem neznáte? Je to jednoduché – prostě v případě použití v komerčních aplikacích musíte autorovi, kterým je Tim Lawrenz, zaslat 20 lahví piva nebo peníze na ně.

A nezapomeňte, že design tvoří jen malou část samotné aplikace (alespoň většinou). Nejdůležitější je, aby vám program správně fungoval, takže se nenechte příliš unést tvorbou vzhledu a myslete též na samotné programování. :)

WWW
verze: 1.6
Dephi 3,4,5,6 (186 kB)
C++ Builder: ??

Virtual Treeview

Občas je potřeba zobrazit nějaká data v tzv. stromové struktuře. Namátkou třeba výpis souborů a adresářů v Průzkumníku a dalších programech. Je to poměrně rozšířená a často používaná metoda, protože je také poměrně názorná a není obtížná na implementaci.

Pro malé množství dat a jednoduché úlohy vám jistě klidně postačí běžná komponenta TreeView, která je v Delphi obsažena. Kdo však někdy zkoušel použít tuto komponentu a jí podobné (např. ListView a další) pro větší množství dat, nebo dokonce pro extrémní množství dat v řádech tisíců až miliónů položek, velmi brzo asi přišel na to, že rychlost práce je totálně zoufalá. Tyto komponenty prostě nejsou na větší množství dat určeny, s tím se nedá nic dělat. Pokud však přesto potřebujete s velkým množstvím záznamů pracovat, ale zároveň se chcete vyhnout práci s databází a nebo prostě z nějakého jiného důvodu potřebujete stromovou strukturu použít, je komponenta Virtual Treeview přesně to, co potřebujete.

Co tedy vlastně umí? Její největší přednost a důvod tak dlouhého úvodu je v tom, že je opravdu velmi rychlá. Její vnitřní struktura je postavena na jiném základu než běžné komponenty tohoto typu (jako je již zmiňovaná standardní TreeView), takže je schopna zpracovávat velké množství dat za velmi krátký čas. Podle údajů autora (které jsem sice přesně nepřeměřoval, ale proč mu nevěřit) trvá na dnes průměrném počítači – autor měřil na dvojitém PII na 350 MHz pod Windows NT – přidání 1 milionu větví do stromu kolem 7 sekund. Jakmile je již takto komponenta zinicializována a systém připraven, další opětovné přidání či smazání trvá již jen kolem 2 sekund. To je v porovnání se standardní komponentou pořádný rozdíl.

Mezi další výhody patří snaha o maximální šetření paměti a v neposlední řadě je to rychlý přístup ke všem položkám. Opět podle autora trvá jeden průchod stromem s milionem větví asi 550 ms, což je vynikající výsledek. Další výbornou vlastností je též schopnost načtení požadovaných dat do stromu až v okamžiku, kdy jsou opravdu potřeba, takže se opět šetří paměť a zvyšuje rychlost.

Tak tolik asi k "vnitřku" komponenty. Kromě těchto rychlostních optimalizací došlo i k řadě vizuálních vylepšení. Kromě vlastních barev jednotlivých položek máte k dispozici též Checkboxy a RadioButtony, automatický scrolling a rozbalování položek, podporu Unicode znaků (a to i na bublinkovou nápovědu), animaci a řadu dalších vylepšení.

Práce je obdobná jako se všemi podobnými komponentami, takže se s ní snadno naučíte pracovat. Součástí nápovědy je též několik příkladů a v případě nejasností si můžete stáhnout vzorové aplikace se zdrojovými kódy. A samozřejmě, jak je v tomto seriálu zvykem, vše je zdarma včetně zdrojových kódů.

WWW
verze: 2.0
Delphi 4 a výše (489 kB)
C++ Builder 4 a výše (489 kB)

Diskuze (4) Další článek: Kolik lidí má u nás počítač?

Témata článku: Software, Programování, Download, Unicode, Používaná metoda, Vytvořený obrázek, Libovolná aplikace, Podobné parametry, Libovolný kód, Krátká animace, Extrémní rozdíl, Požadovaná rychlost, Díl, Jednoduchý tvar, Extrémní množství, Komp, Podobné množství, DEL, Vnitřní struktura, Komponenta, Běžná aplikace, Strom


Určitě si přečtěte

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

** Speedtest stále častěji měří jen rychlost na poslední míli ** Ta však ale neodpovídá reálnému surfování ** Jak se tedy pokusit změřit tu skutečnou?

Jakub Čížek | 85

Už desítky let se pokoušíme odposlouchávat mozek. Rusům se podařil kousek, ze kterého vám spadne brada

Už desítky let se pokoušíme odposlouchávat mozek. Rusům se podařil kousek, ze kterého vám spadne brada

** K odposlechu mozků používáme EEG ** To má ale žalostné informační rozlišení ** Rusům pomohla počítačová neuronová síť

Jakub Čížek | 29

Hesla jsou zlo. Hackeři napáchali tolik škody právě proto, že vůbec existují

Hesla jsou zlo. Hackeři napáchali tolik škody právě proto, že vůbec existují

** Nikdo si je nepamatuje ** Žádné není zcela bezpečné ** Nejlepší by bylo je prostě zrušit

Jakub Čížek | 65



Aktuální číslo časopisu Computer

Test 9 bezdrátových reproduktorů

Jak ovládnout Instagram

Test levných 27" herních monitorů

Jak se zbavit nepotřebných věcí na internetu