Delphi.cz

Český portál Delphi

Rozcestník: Jste tu poprvé? Pro začátečníky jsem napsal úvod do programování v Delphi. Můžete si přečíst informace ohledně změn v jednotlivých verzích Delphi a případně mezi jednotlivými edicemi Delphi. Pokud přecházíte ze starších verzí tak řetezce a unicode.
Možná Vás bude zajímat spolupráce databáze a Delphi, nebo se budete rozhodovat mezi různými druhy Delphi projektů.

Navštivte adresář nejpopulárnějších open source Delphi komponent

Platform status - podporované platformy v jednotlivých verzích

Free Delphi Starter Edition download

Potřebujete Delphi školení nebo konzultace na různá témata?

RemObjects Pascal Script a Pascal Script for .NET

Někdy je vhodné rozšířit podporu své aplikace o skriptování. Než budete hledat nebo psát vlastní skriptovací engine dejte šanci Pascal scriptu od RemObjects pro nativní Delphi popř. RemObjects Script for .NET od stejné firmy (mimochodem psané v Delphi Prism - což dá rozum, jelikož RemObjects je spoluautorem Delphi Prism).

Pascal Script Více...

Datum: 2010-04-06 20:57:00 Tagy: open source, komponenty

Komponenty

Zapouzdření SQLite pro Delphi

Uvažuji o použití SQLite pro jeden z projektů a tak jsem se díval na jeho zapouzdření v Delphi. V komentářích můžete napsat jaké používáte vy - myslím, že to neocením jenom já. Mimochodem jedna z implementací se dá použít jako klient-server framework s podporou JSON, AJAX což mi vyrazilo dech.

SQLite

Více...

Datum: 2010-04-02 22:34:00 Tagy: VCL, komponenty, JSON, AJAX

Komponenty

Háček: nahrazení virtuální metody cizí třídy

Pokračujeme druhým dílem háčků. Dnes to bude nahrazení virtuální metody třídy.

Samozřejmě je většinou jednodušší ze třídy podědit a metodu nahradit v následníku, ale někdy může být výhodné přímé nahrazení. Příkladem mohou být ladící výpisy nebo oprava (vylepšení) nějaké komponenty. Více...

Datum: 2010-03-29 20:37:00 Tagy: hacky, VCL

Praxe

VCLFixPack, IDEFixPack a DelphiSpeedUp

Všechny v nadpisu uvedené balíčky mají jedno společné - jejich autorem (a nejen jejich) je Andreas Hausladen. Tento maník (mimochodem držitel prestižního ocenění Spirit of Delphi 2007) je prostě neuvěřitelný.

Nejenže je jeden z nejaktivnějších autorů v JCL, jeho paleta komponent (vylepšená) se dostala i do Delphi 2010 a většina kódu z DelphiSpeedUp do Delphi 2009+, ale i udržuje balíček oprav IDE (tj. IDEFixPack) a oprav některých chyb ve VCL (tj. VCLFixPack). Více...

Datum: 2010-03-25 21:03:00 Tagy: VCL, rozšíření, open source, fix, DDEV

Praxe Rozšíření Delphi

TMS Smooth Controls Pack ke stažení

Firma TMS Software má ve svém portfoliu moc pěkné komponenty za velmi rozumné ceny. Nyní po dohodě s Embarcadero nabízí registrovaným uživatelům Delphi 2009 nebo Delphi 2010 (popř. RAD Studia nebo C++ Builderu v obou verzích) jeden svůj balík ke stažení - TMS Smooth Controls Pack.

Jedná se o opravdu cool graficky vyvedené ovládací prvky (tlačítka, combo box, slidery, progress bary a vůbec) ve stylu iPhone (MAC OS X), popř. ve stylu nových office (včetně skinů).

progress bar

Na ukázku třeba progress bary v provedení Smooth Controls. Více...

Datum: 2010-03-25 00:16:00 Tagy: Delphi 2009, Delphi 2010, komponenty

Komponenty

extpascal - Ext JS wrapper for Object Pascal

ExtPascal je zapouzdření pro Ext JS v Object Pascalu (Delphi, FreePascal/Lazarus). Jedná se o kompletní framework pro tvorbu GUI Ajaxových aplikací, které poběží ve webovém prohlížeči. Na straně serveru je Vaše kompilovaná knihovna komunikující přes FastCGI.

Domovská stránka projektu je code.google.com/p/extpascal/. Následně ExtP Toolkit dokáže částečně převést formuláře z Delphi nebo Lazaruse.

Celkem mi to vyrazilo dech, podívejte se na základní dema a pak hlavně na FishFacts. Všimněte si změny velikosti okna, stylu okna, maximalizace, přesun okna…

Podporované prohlížeče: IE 6+, Firefox 1.5+, Safari 3+, Opera 9+ a Chrome 2+ na (PC, SmartPhone, PDA…).

Jen upozornění: projekt je určen pro tvorbu web aplikací - ne pro tvorbu webu.

Více...

Datum: 2010-03-22 22:59:00 Tagy: open source, web, server

Rozšíření Delphi

Háček: přístup k private a protected polím cizí třídy

První dva háčky co ukáži slouží k přístupu k private a protected částem cizí třídy umístěné v jiné jednotce. Druhý háček je celkem častý a proto s ním začneme. Více...

Datum: 2010-03-19 23:19:00 Tagy: hacky

Praxe

Tvorba klávesových zkratek pro IDE

Pro server Delphi.cz napsal pan Cary Jensen.

Editory zdrojového kódu v Delphi obsahují mocnou, ale málo známou vlastnost, pomocí které můžete do prostředí editoru přidávat vlastní posloupnosti klávesových úhozů . Tato vlastnost se nazývá uživatelské klávesové vazby (custom key bindings), česky jim spíše říkáme klávesové zkratky. Je součástí otevřeného aplikačního programového rozhraní (API) pro nástroje (OTA – Open Tools API). OTA rozhraní vám poskytne množinu tříd a rozhraní, které můžete použít pro vytváření vlastních rozšíření integrovaného vývojového prostředí (IDE).

Tento článek vám poskytne přehled možností této vlastnosti IDE a předvede jednoduchou třídu pro klávesovou zkratku, která vám může posloužit jako odrazový můstek pro tvorbu vlastních klávesových zkratek. Tato zkratka udělá kopii stávající řádky v editoru zdrojového kódu. Jde o vlastnost známou z jiných editorů a díky OTA ji můžete používat i v editoru Delphi. Více...

Datum: 2010-03-18 20:06:00 Tagy: rozšíření, nastroje, IDE, Tools API

Delphi Návody

Delphi 2010 - Direct2D

Ve Windows 7 je nová API možnost - Direct2D, tj. možnost použít část Direct X pro akcelerované zobrazení i v normálních aplikacích. Jedná se samozřejmě o nativní API (tj. je dostupné pro normální kompilované aplikace) - stejně jako všechny ostatní nové API. MS slibuje, že rozhraní bude dostupné i pro Windows Vista (aktuální stav nevím), o XP se jen uvažovalo. Proti klasickým DirectX aplikacím umožňuje Direct2D míchat normální (GDI) zobrazení a nové v jednom okně.

Delphi 2010 přináší pro toto rozhraní podporu a to velmi pěkným způsobem. Nově existuje následník klasické třídy TCanvas s názvem TDirect2DCanvas a tato třída (plus pár jednotek) zajišťuje slušnou podporu. Více...

Datum: 2010-03-14 21:59:00 Tagy: Delphi 2010, grafika, Direct2D

Recenze

GraphicEx - podpora pro grafické formáty

V základní instalaci Delphi podporuje jen několik grafických formátů (BMP, WMF, ICO, JPG), v novějších Delphi i GIF (D2007), PNG (D2009 - via TPNGImage - Gustavo Daud) a v Delphi 2010 i třeba Tiff a další přes TWICImage.

Pokud potřebujete další grafické formáty je zde GraphicsEx. Více...

Datum: 2010-03-10 22:35:00 Tagy: grafika, open source

Komponenty

Delphi 2010 Handbook ke stažení

Marco Cantù na svém blogu oznámil, že ve spolupráci s Embarcadero uvolnil registrovaným uživatelům Delphi 2010, C++Builder 2010, Embarcadero RAD Studio 2010 a Embarcadero All-Access svou novou knihu v PDF Delphi 2010 Handbook, popisující jen změny od Delphi 2009. Více...

Datum: 2010-03-08 18:16:00 Tagy: Delphi 2010

Knihy

Delphi developer days 2010

Špičkoví experti na Delphi - Marco Cantù a Cary Jensen - budou přednášet na akci Delphi Developer Days 2010, okružní jízdě po USA a Evropě ve druhé polovině května letošního roku.

První je autor několika knih o Delphi, s prací druhého máte možnost se seznámit třeba v příspěvku o Unicode v Delphi 2009.

Podrobnosti na stránkách embt.cz. Více...

Datum: 2010-03-08 18:03:00 Tagy:

Podpora

Jak Embarcadero k Delphi přišlo

Jelikož neustále vysvětluji kdo tvoří Delphi, co se stalo s Borlandem, kdo je to Embarcadero a co na to Jan Tleskač, napsal jsem poněkud delší článek, který je natrvalo dostupný v pravém sloupci mezi stránkami. Takže: Proč je Embarcadero Delphi a ne Borland?.

Doufám, že ten článek zodpoví většinu nejasností.

Embarcadero logo

Více...

Datum: 2010-03-04 22:31:00 Tagy: embarcadero, historie, IDE

Delphi

Nový hosting a novinky na webu

Byl změněn hosting delphi.cz, jelikož starý server byl už přetížen. Doufám, že je tím pádem konec problémů s odezvou webu a umožní to vylepšování webu.

Z novinek je dole výpis RSS feedů některých populárních serverů (v angličtině) a pod každým článkem možnost přidat odkaz na populární sociální sítě (osobně používám jen twitter, takže pokud by někomu chyběl nějaký populární server tak mi napište).

Více...

Datum: 2010-03-02 23:06:00 Tagy: Delphi cz

Server

Help Update 2 pro Delphi a C++Builder 2010

Je dostupný update 2 pro help Delphi a C++Builder 2010. Pokud si necháte zkontrolovat aktualizace měl by být help dostupný jako automatická aktualizace ke stažení.

Seznam změn a poznámek.

Jinak na docs.embarcadero.com je dostupný help v CHM (a to i pro Delphi 2007, 2009 a samozřejmě 2010).

Více...

Datum: 2010-03-02 22:54:00 Tagy: Delphi 2007, Delphi 2009, Delphi 2010,

Aktualizace

Delphi 2010 a StopWatch

Než popíši další z nových možností u Delphi 2010, tak aby to majitelům starších Delphi nebylo líto odkáži je na podobnou opensource implementaci třídy TStopWatch - ale přijdete o několik zajímavých novinek. Tak ale zpět k současnosti - zároveň se bude jednat o pěkné jazykové konstrukce ohledně záznamu, včetně operátorů třídy - třeba Vás to bude inspirovat, mně osobně se to zamlouvá. Více...

Datum: 2010-03-01 22:49:00 Tagy: Delphi 2010, RTL

Novinky

Nové units v Delphi 2010

Embarcadero v Delphi 2010 přidalo přehršel nových jednotek ohledně různých API a tak aspoň zkusím některé vyjmenovat s možným použitím.

Největší mazec je kupodivu v adresáři "RAD Studio\7.0\source\Win32\rtl\" a případných podadresářích.

"rtl\win":

  • převážná většina SDK pro DirectX 9 (Direct3D9.pas, DirectInput.pas, DirectDraw.pas, DirectSound, DirectMusic, D2D1.pas …) převzatá z projektu Delphi Jedi
  • Windows Media Format 9 API (WMF9.pas) (původně z progdigy.com)
  • Wincodec.pas (podpora TWICImage a tím i třeba Tiff, CR2 a NEF grafické formáty)
  • cor.pas (.NET unmanaged compiler API - cor.h)
  • OpenGL.pas
  • Manipulations.pas - Manipulation SDK

"rtl\common":

"RAD Studio\7.0\source\Win32\vcl\":

  • Direct2D.pas - nativní podpora pro Direct2D API z Windows 7 (Vista), tj. TDirect2DCanvas
  • Gestures.pas, GestureMgr.pas, GestureCtrls.pas - Gestures
  • Keyboard.pas, KeyboardTypes.pas - Klávesnice pro touch
Více...

Datum: 2010-02-25 22:14:00 Tagy: Delphi 2010, komponenty, VCL, RTL

Recenze

Remote debugging v Delphi

Sem tam je vhodné provádět ladění přímo na počítači klienta, protože na vývojovém počítači nejde problém nasimulovat. Samozřejmě v takovýchto případech není vhodné (a ani často možné) instalovat Delphi na počítač klienta a proto Delphi nabízejí možnost vzdáleného ladění (Remote debugging). Jak tedy na to? Více...

Datum: 2010-02-21 22:24:00 Tagy: debugger, delphi, ladeni, nastroje, super

Praxe

Embarcadero ToolCloud

Tisková zpráva Embarcadero:

Embarcadero ToolCloud zjednodušuje dostupnost, správu a dodávání softwarových nástrojů.

ToolCloud poskytuje dodávku nástrojů na vyžádání a centralizovanou správu všech produktů Embarcadero; zvyšuje tím efektivitu informačních technologií.

Praha, 16.2.2009 – Společnost Embarcadero zrychluje a zjednodušuje přístup k softwarovým nástrojům, které vývojáři aplikací a správci dat potřebují ke své práci. Zároveň s tím se snižují náklady a zkracuje potřebný čas na správu licencí softwarových nástrojů. Společnost uvedla na trh Embarcadero ToolCloud – produktivnější způsob, jakým zákazníci mohou spravovat a dodávat své softwarové nástroje. Více...

Datum: 2010-02-17 23:23:00 Tagy: tool cloud

Tiskové zprávy

Class helper

Jak jsem již psal, Delphi 2007 přináší do jazyka koncepci Class Helper. Jedná se o možnost rozšiřovat existující třídy o metody a property (ale ne pole) bez zásahu do původní třídy. Cílem je mít možnost základní třídy a případné platformové rozšíření implementovat pomocí class helperů.

Raději rovnou příklad. Vytvoříme class helper pro TEdit a pak ho použijeme. Více...

Datum: 2010-02-15 22:07:00 Tagy: Delphi 2007, class helper

Jazyk

Šťastné 15 narozeniny Delphi

Dnes 14.února 2010 je to 15 let co byla vydána první verze Delphi (Delphi 1 pro 16 bit. Windows vyšlo 14.února 1995). Kdo najde 3 rozdíly v IDE? Více...

Datum: 2010-02-14 21:44:00 Tagy: historie

Delphi

Graphics32 aneb GR32

Graphics32 (nebo jednoduše GR32) je knihovna vytvořená pro ultra rychlou práci s 32-bit grafikou v Delphi a Kylixu. Knihovna je optimalizovaná pro 32-bit pixelové formáty a nabízí rychlé operace s pixely a grafickými základními prvky a ve většině případů je mnohem rychlejší než standardní TCanvas. Podle autorů je v práci s pixely stokrát rychlejší a 2-5 rychlejší v kreslení čar (a podle mne nekecají). Více...

Datum: 2010-02-11 23:54:00 Tagy: komponenty, open source, grafika

Komponenty

Delphi optimalizace

Při procházení různých konferencí jsem narazil na příspěvek od dřívějšího hlavního vývojáře kompilátoru Delphi Dannyho Thorpe.

V největší diskuzní skupině o Delphi (public.delphi.non-technical) se kdysi někdo zeptal, jaké vlastně optimalizace Delphi používá a dočkal se odpovědi od Dannyho Thorpe (Delphi Compiler Core blog), nyní už ex codegear. Stav odpovídá roku 2005.

Nechám ho raději častečně v originále, protože neznám přesnou českou terminologii pro některé optimalizace. Některé optimalizace jsem tipoval, některé mne celkem překvapují. Vytahuji ho na světlo, jelikož mne zaujal a jelikož je tam beznadějně zahrabaný. Více...

Datum: 2010-02-09 23:46:00 Tagy: kompilátor, delphi

Optimalizace

Delphi 2010 - Class (aneb Static nebo Shared) constructory (a destructory)

Delphi 2010 přináší kromě již uvedených rozšíření jazyka i koncept class constructor (v jiných jazycích nazýván Static nebo Shared), tj. konstruktor specifický pro třídu (neplést s klasickým konstruktor objektu). Tento nový konstruktor je volán pouze jednou (a nebo vůbec - viz. níže) pro každou třídu.

Raději příklad, pak si řekneme ještě více. Více...

Datum: 2010-02-07 20:16:00 Tagy: Delphi 2010, kompilátor

Jazyk

STRINGCHECKS problem a unicode Delphi

Předpokládám, že je to všeobecně známo jelikož se to píše všude, ale přesto. V unicode verzích Delphi (tj. 2009 a 2010) je pro lepší kompatibilitu s C++ Builderem implementována možnost lepší detekce správnosti hodnoty typu string. Rovnou říkám, že se jednalo o přechodné období, protože v budoucích Delphi to již nebude, jak napsal Allen Bauer na svém blogu.

Připomínám, že přechod na unicode je největší skok v historii Delphi, podobné je snad jen Delphi 1 (16 bit) -> Delphi 2 (32 bit).

Ale zpět. Tuto kontrolu klidně můžete vypnout (což už určitě máte) v případě, že používáte jen Delphi a tímto krokem získáte určité malé zrychlení. Více...

Datum: 2010-02-03 23:32:00 Tagy: Delphi 2009, kompilátor

Optimalizace

Delphi 2010 - formátovač kódu

Jednou z novinek v Delphi 2010 je i formátovač zdrojového kódu pro Object Pascal. Jelikož mne moc nenapadá co bych k tomu napsal, tedy kromě toho, že se vyvolává z kontextového menu položkou Format Source nebo teplou klapkou (:-)) CTRL+D, tak jsem se rozhodl pro malý testík.

Předhodil jsem mu kus prasácky formátovaného kódu a byl zvědav na výsledek. Více...

Datum: 2010-02-02 21:39:00 Tagy: Delphi 2010, IDE

Recenze Rozšíření Delphi

Použití anonymních metod v Delphi

Naprosto perfektní použití anonymních metod z Delphi 2009+

type
  THelper = class
    class procedure Lock(O: TObject; Proc: TProc); static;
  end;

class procedure THelper.Lock(O: TObject; Proc: TProc);
begin
  TMonitor.Enter(O);
  try
    Proc();
  finally
    TMonitor.Exit(O);
  end;
end;

Použití je pak velmi jednoduché, uvedený kód je chráněn kritickou sekcí:

procedure TMyObject.Process;
begin
  Obj.Lock(Self, procedure
    begin
      //kód chráněn kritickou sekcí
    end);
end;  

Fakt prima.

původní článek

Více...

Datum: 2010-01-29 23:15:00 Tagy: Delphi 2009, anonymni metody

Praxe

Wii Remote a Delphi

Nejen prací, živ je člověk (mimochodem takové články budou mít tag fun, tj. programování pro zábavu). Přiznám se, že mám strašně rád Nintendo Wii, takže proč to nespojit s Delphi? Pokud to nevíte, tak kromě her je Nintendo Wii unikátní bezdrátovým ovladačem se senzorem pohybu a integrovanou infra kamerou použitelnou jako pointing device (resp. nejen jako).

Pro neznalé - Wii remote (zkráceně wiimote) je bluetooth zařízení s překvapivě mnoha možnostmi (můj detailní popis Wiimote jinde), samotný ovladač stojí cca 1000Kč. Více...

Datum: 2010-01-29 22:27:00 Tagy: delphi, fun

Komponenty

KOL - Key Objects Library

Všichni známe a používáme VCL knihovnu. Ale kromě VCL existuje i alternativní a neoficiální knihovna komponent - KOL. Její hlavní výhodou je, že výsledné programy jsou opravdu prťavé - cca od 10KB a tudíž pokud Vám opravdu hodně záleží na výsledné velikosti třeba binárky pro službu, máte možnost ji vyzkoušet. Je to v podstatě v základu jen opravdu zapouzdření Win32 API bez různých vychytávek z VCL, ale pro určitou speciální oblast programů to může někomu stačit.

Na domovské stránce KOL je k dispozici spousta příkladů, takže nemá moc cenu zde nějaký prezentovat. Navíc je dostupná celkem obrovská dávka kódu, v hodně případech použitelného i pro VCL, které základní funkčnost rozšiřují např. o kompresi, šifrování, přístup k SQLLite nebo další tuny možností, včetně takových věcí jako je objekt umožňující kompilace assembleru do paměti a následného spuštění.

Podporovány jsou Delphi 2 - 2009, FreePascal compiler, Kylix.

Více...

Datum: 2010-01-27 22:41:00 Tagy: delphi, VCL

Komponenty

Delphi Spring Framework

Jen krátce: Vzniká nový opensource projekt - Delphi Spring Framework, který nabízí programátorům (hlavně) v Delphi 2010 podporu při jejich programování tím, že vytváří knihovnu často používaných funkcí, které nejsou ve VCL - tj. podobně jako JCL ale - tak jak to umožňují novější Delphi, v některých případech jen Delphi 2010, tj. např. za pomocí class a record helperů, anonymních metod, generik a hlavně za použití nového RTTI.

Nabízí mimo jiné podporu cryptování (DES, Triple-DES) včetně hash algoritmů (MD5, SHA-1/256/384/512), kontrolních součtů, návrhových vzorů, Live templates (Delphi 2006+) včetně použití RTTI pro reflection.

Předpokládám, že většina programátorů již potřebné rutiny má - třeba pro šifrování DCPCrypt, ale zde je to pěkně všechno uspořádané a autoři se prý drží pravidla KISS (Keep It Simple and Stupid).

Když už nic, tak je to skvělý studijní materiál, třeba Spring.Helpers.pas je pěkné použití class a record helper (něco o class helper jsem již také napsal).

Více...

Datum: 2010-01-26 22:15:00 Tagy: Delphi 2010

Komponenty