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

Dnes si představíme jednu výbornou komponentu či spíše balík vzájemně spolupracujících komponent, které slouží k editaci textu. Zapomeňte na komponentu Memo z Delphi a zkuste SynEdit.
Nejeden začínající programátor si zkusí vytvořit jednoduchý textový editor na úrovni Poznámkového bloku. Patří to mezi základní úlohy na procvičení spolupráce několika komponent a dá se říci, že ten nejjednodušší editor lze vytvořit prostým umístěním komponenty Memo na formulář. Takový "editor" je sice k ničemu, protože neumožňuje soubory načítat, ukládat ani tisknout, ale jako základ to stačí a můžeme se vrhnout na doplňování dalších funkcí. A když máme základ hotov a naše aplikace je pak prakticky totožná s Poznámkovým blokem, je na čase postoupit o kus dál a doplnit takové funkce jako je automatické vyznačování syntaxe různých jazyků, korekce chyb, export do různých formátů, tisk s náhledem a podobně. A to všechno a mnohem víc právě umí balík komponent SynEdit.

Po instalaci naleznete na paletě dvě nové záložky - SynEdit a SynEdit Highlighters. První, hlavní záložka, obsahuje všechny důležité a základní komponenty celého balíku, druhá záložka obsahuje celkem 42 pomocných komponent, které mají za úkol zvýrazňování syntaxe pro jednotlivé jazyky.

Nejprve tedy první záložka. Zde naleznete hned na začátku dvě klíčové komponenty SynEdit a SynMemo, které tvoří vlastně samotný vizuální základ pro váš editor. Jaký je mezi těmito komponentami rozdíl se mi nepodařilo zjistit, protože vypadají vizuálně stejně a i vlastnosti v Object Inspectoru jsou zcela totožné. Možná je rozdíl vnitřní, týkající se například velikosti otevřeného souboru, ale nechci se pouštět do spekulací.

Toto je tedy základ pro náš malý editor a dalšími komponentami pak můžeme přidávat další funkce. Dvě komponenty se starají o export zapsaného textu do HTML nebo RTF a to přesně v podobě, v jaké se text zobrazuje. Pokud tedy na něj aplikujete některý z "filtrů" na zvýrazňování syntaxe (viz. dále), i toto bude exportováno.

Mezi další užitečné komponenty (opět si nebudeme popisovat všechny) patří například komponenta na automatické dokončování slov (funkce autocomplete) nebo také automatická korekce chyb či známých překlepů, jejichž tabulku si nejprve nadefinujete. Vhod jistě přijde i jednoduchý nástroj pro záznam a přehrání makra a určitě je důležitý i tisk s možností náhledu.

Poslední komponentou je SynHighlighterManager a není to vlastně komponenta v pravém slova smyslu, nýbrž dialogové okno, kde si v přehledném seznamu můžete vybrat jazyk (či jazyky), který bude použit pro zvýraznění syntaxe. Manažer pak příslušné komponenty ze záložky SynEdit Highlighters umístí na formulář. To lze samozřejmě provést i ručně, toto je jen zjednodušení práce. Zabudování tohoto zvýrazňování do vaší aplikace je pak náramně snadné. V příslušné komponentě SynEdit si najdete vlastnost Highlighter a ze seznamu těch, které na formuláři máte, vyberete ten požadovaný. To lze samozřejmě činit i za běhu aplikace. Seznam podporovaných jazyků je opravdu úctyhodný, celkem 42. Kromě zcela běžných programovacích jazyků, HTML, XML, Javy a PHP (ASP kupodivu chybí) zde najdete i takové „chuťovky“ jako jsou dávkové soubory MS-DOSu, skripty na oblíbený Inno Setup nebo SQL. Troufám si tvrdit, že většinu ostatních „jazyků“ ale nebudete znát ani podle názvu. U každého jazyka máte navíc možnost sami ovlivnit to, jak se budou jednotlivé elementy (klíčová slova, poznámky, čísla atd..) zobrazovat. To vám vlastně dává zcela volnou ruku a původní "standardní" hodnoty si můžete libovolně upravit. Vzhledem k modularitě celého systému není problém další jazyky přidávat a uvnitř balíku komponent naleznete i návod, jak si vytvořit vlastní.

Tento balík komponent je opravdu velmi povedený a může vám usnadnit spoustu práce. Vytváříte-li si tedy nějaký vlastní poznámkový blok (či programátorský editor) na míru, bude tento balík velmi dobrou volbou.

www
verze: 1.1
Delphi: 3 - 6
C++ Builder: 3 - 6
Kylix: ano

Diskuze (7) Další článek: Nejaktivnější červi a viry v březnu

Témata článku: Software, Programování, Syntax, Záložka, Automatická korekce, Důležitý soubor, HTML Editor, Díl, Užitečný filtr, Klíčová vlastnost, Editor, Hlavní záložka, Komponenta, Klíčová funkce


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

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

** Concorde byl nejrychlejším dopravním letadlem ** Atlantik dokázal přeletět za cca 3 až 3,5 hodiny ** Před osmnácti lety tragická havárie provoz těchto letadel prakticky ukončila

David Polesný, Jiří Černý | 37

Astronomové objevili daleko za Plutem objekt s extrémní dráhou. Může ukazovat na existenci planety Devět

Astronomové objevili daleko za Plutem objekt s extrémní dráhou. Může ukazovat na existenci planety Devět

** Astronomové objevili daleko za Neptunem těleso 2015 TG387 ** Okolo Slunce se pohybuje po extrémně protáhlé dráze ** Jeho dráha může ukazovat na existenci planety Devět

Petr Kubala | 10

Vyzkoušeli jsme eObčanku a přihlásili se s ní na weby úřadů. Vážně to funguje!

Vyzkoušeli jsme eObčanku a přihlásili se s ní na weby úřadů. Vážně to funguje!

** Máme eObčanku, máme čtečku, vyzkoušeli jsme přihlášení na weby úřadů. ** Objevily se drobné problémy, podařilo se nám je vyřešit. ** Používání eObčanky pro online identifikaci je velmi pohodlné.

Marek Lutonský | 35

Šmírování kamerami Googlu: Koukněte se, co zachytily na Street View

Šmírování kamerami Googlu: Koukněte se, co zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 44

Porno insider: Jak Greg Lansky mění internet pro dospělé

Porno insider: Jak Greg Lansky mění internet pro dospělé

** Erotický obsah generoval ohromné peníze, pak ale přišel internet... ** Pornografie dostupná všude a zdarma uvedla tvůrce do krize ** Někteří ale dokázali potenciál internetu využít i v tomto oboru

Jan Dudek | 12


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku