Komponenty pro Delphi
Několik komponent, které stojí za pozornost
Úplně na začátku odkaz na snad největší archiv komponent torry.net (existují i další archívy, většinou ale stačí použít google nebo právě torry).
Níže uvedené aktivně používám nebo s nimi aspoň mám zkušenost.
Jedi JCL
Je to už dávno kdy se několik programátorů rozhodlo, že utvoří skupinu, která bude vytvářet knihovnu funkcí pro podporu nových funkcí OS nezávisle na Borlandu (nyní Embarcadero). Výsledkem je knihovna tříd (JCL) a knihovna (i vizuálních) komponent (JVCL).
JCL se dá používat jako celek, nebo jen z ní něco vytáhnout. Potřebujete např. zjistit na jakém procesoru běžíte (CPUID)? Není problém. Potřebujete pracovat s jasem u obrázků? OK. Potřebujete zjistit informace o PE (formát exe ve Windows)? Správně - není problém. Prostě pokud potřebujete něco speciálního - zkuste se nejdříve podívat sem.
Home page:delphi-jedi.org
Kompilátory: Delphi, Kylix, částečně FreePascal
GLScene, OOP OpenGL wrapper
glscene.sourceforge.net
GLScene je 3D knihovna na bázi OpenGL pro Delphi. Poskytuje vizuální komponenty pro popis a renderování scény. Obsahuje skriptovací jazyk, fyzikální engine, 3D studio import, podpora pro OpenGL texture formaty, a spousta dalších funkcí. K dispozici je spousta demo příkladů.
Licence: Mozilla Public Licence
SDL pro Delphi
S OpenGL souvisí i SDL (Simple Device Layer). Pěkná multiplatformní knihovna pro přístup ke grafickému rozhraní. Proti DirectX má výhodu v jednoduchosti (ona prakticky pro Windows zapouzdřuje DirectX) a díky portabilitě SDL je pak kód jednodušeji přenositelný na jiné platformy (třeba přes freepascal).
SDL pro Delphi od Delphi Jedi.
Generování PDF v Delphi
Jedna z možností je použít knihovnu libharu, sice se nejedná o knihovnu napsanou v ObjectPascalu ale v AnsiC, ale zato se dá použít i např. ve VB6.
Princip práce spočívá ve volání elementárních funkcí a díky tomu se do výsledného pdf generují objekty v pdf, tj. nejedná se o zápis obrázků, ale i "kreslení" čar, textů atd.
Knihovna by měla být podporována pro Delphi a Kylix
FastReport
Velmi dobrý reportovací nástroj, viz. můj starší článek
Zajímavé open source komponenty pro Delphi / část 3
FastMM
Nejlepší správce paměti pro Delphi, věnoval jsem mu rozsáhlý článek na NetCode.cz a zmínku v seriálu
Zajímavé open source komponenty pro Delphi / část 3. Od Delphi 2005 je součástí Delphi jako hlavní správce paměti.
avcodec.pas, resp. ffmpeg
Jedná se o překlad hlaviček geniální C knihovny libavcodec (součást ffmpeg) původem z MPlayeru (základem pro ffdshow). Info o jeho využití třeba zde.
originální ffmpeg avcodec delphi headers, update
DSPack
DSPack je několik komponent a tříd pro psaní multimediálních aplikací za použití MS Direct Show a DirectX.
DSPack je navržen pro spolupráci s DirectX 9 na Win9X, ME, 2000, a Windows XP.
Nyní VMR (Video Mixing Renderer) je dostupný pro všechny Windows. DSPack 2 je pro Delphi 5+ a CPP Builder 6.
Virtual Treeview
autor: Mike Lischke, delphi-gems.com
Virtuální TreeView se sloupci. Bez limitů, bez hranic.
Unicode, sloupce, libovolné ikony v kterémkoliv sloupci, transparentnost, checkboxy, libovolné fonty, pozadí, inkrementální vyhledávání, inline editory, možnost vlastního vykreslování - prostě cokoliv co Vás napadne. A to vše prakticky v jednom souboru. Na stránkách je i velmi impozantní demo se zdrojovými kódy.
Ale hlavně: ďábelská rychlost (např. přidání milionu uzlů pod sekundu na obstarožních strojích s 650 MHz).

Licence: Mozilla Public License 1.1 (MPL 1.1) nebo GNU Lesser General Public License (LGPL).
Verze: Delphi 4-7 (od verze komponenty 5.0 je minimální verze D7), 2005, 2006, 2007, 2009, BCB 4-6
SynEdit
synedit.sourceforge.net
Editační kontrol se zvýrazňováním syntaxe, není postaven na Windows common controls. ANSI i UNICODE (nutno ale vybrat).
Umí doplňování příkazů, šablony, spoustu klávesových zkratek atd.
Mezi podporované zvýrazňovače syntaxe (celkem tak přes 20) patří: Object Pascal, C++, CSS, HTML, XML, DFM, různé assemblery, Java, Inno setup, SQL, VB, TeX atd.
Potřebujete zvýrazňovač pro Váš vlastní obskurní formát? Není problém - napsat vlastní zvýrazňovač je celkem jednoduché.
Dále je dostupný custom zvýrazňovač, speelchecker, export do HTML a RTF atd.

Barvy a atributy textu jsou plně nastavitelné.
Pokud se nepletu tak mezi programy používající SynEdit patří Lazarus (GUI pro FreePascal), PSPad, spousta html editorů (jejich jména jsem zapomněl, protože pro web používám PSPad a VS 2005)…
Licence : GNU General Public Licence (GPL), Mozilla Public Licence 1.0 (MPL)
Verze: Delphi (asi 3+), Kylix, Lazarus má mírně upravenou verzi mezi std. komponentami
Synapse
Autor: Lukáš Gebauer a další, synapse.ararat.cz
Soubor tříd a rutin (nikoliv komponent - ale to je někdy lepší) pro podporu programování obsluhy síťové komunikace pomocí blokujících soketů. Není třeba instalace. Vhodné např. i pro různé cmdline utility nebo služby.
Podpora mnoha různých síťových protokolů (nebudu to opisovat, beztak se to neustále rozšiřuje - podívejte se sami), ale např. pro podporu SSL lze vybrat OpenSSL, SSLeay nebo StreamSecII. Podpora TCP, UDP, ICMP a RAW paketů.
Kromě toho podpora překódování, encode, decode a tak prostě podobně - lze použít zvláště.
Velmi komplexní knihovna, ale pokud potřebujete např. pouze jeden protokol tak klidně vezmete do svého projektu jen pár souborů a je to. Moc dobré. Zapomeňte na Indy.
Licence: modifikovaná BSD style licence
Verze: Delphi, C++Builder, Kylix, FreePascal.
Synaser
Možná už trochu pasé (kdo ještě používá sériové porty), ale velmi pěkná knihovna pro sériovou komunikaci od téhož autora, netřeba instalovat, opět třídy a ne komponenty.
Šifrování pomocí DCPCrypt
Asi nejlepší (a nejkomplexnější) soubor rutin pro šifrování a spol. Delphi cryptography - homepage.
Podporované algoritmy pro šifrování
Blowfish, Cast 128, Cast 256, DES, 3DES, Ice, Thin Ice, Ice2, IDEA, Mars, Misty1, RC2, RC4, RC5, RC6, Rijndael (the new AES), Serpent, Tea, Twofish
Hashe
Haval, MD4, MD5, RipeMD-128, RipeMD-160, SHA-1, SHA-256, SHA-384, SHA-512, Tiger
Knihovna je přehledně naprogramovaná, takže můžete využívat jen její část obsahující požadovanou podporu.