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?

FormatSettings a absolute

Asi jsem to minule špatně vysvětlil.

Implementace FormatSettings je provedena tak, že se jedná o záznam, který je pomocí direktivy absolute směrován na starší položky. Tj. např. FormatSettings.DecimalSeparator leží ve skutečnosti na stejné adrese jako DecimalSeparator, tj. při zápisu nebo čtení z obou proměnných se pracuje s jedním a tím konkrétním místem, jen s tím, že při použití DecimalSeparator je při kompilaci vypsán warning. Více...

Datum: 2010-12-01 21:42:00 Tagy: RTL, Object Pascal

Novinky v Delphi

Thread safe proměnné pro formátování času a oddělovače

Jedna z mála věcí co jsem ohledně Delphi XE ještě nepopsal, jsou změny v RTL ohledně formátování času a formátování čísel. Nový způsob je zpětně kompatibilní, dá se používat jako bezpečný z hlediska vláken a jen warning při otevření starších zdrojových kódů upozorňuje, že je třeba udělat drobnou změnu. Více...

Datum: 2010-11-26 21:15:00 Tagy: delphi XE, RTL, vlakna

Novinky v Delphi

FinalBuilder

FinalBuilder

Napsal Petr Houf: Jednou z novinek, které přinesly aktuální verze vývojových prostředí společnosti Embarcadero, je nástroj FinalBuilder. Ten je součástí dodávky Delphi XE a C++ Builder XE od edice Enterprise a poskytuje bohaté možnosti automatizace procesu sestavování aplikace.

FinalBuilder

Více...

Datum: 2010-11-25 22:09:00 Tagy: nastroje

Novinky v Delphi

Dekompilace DCU

Existuje lehce undergroundová aplikace se zdroji pro částečnou dekompilaci DCU, která ale je mimochodem součástí mnoha projektů (namátkou CnPack wizards nebo IDR - Interactive Delphi Reconstructor, o kterém jsem také psal).

Jaký je vlastně rozdíl mezi dekompilaci výsledného EXE a DCU? V EXE nemusí být všechny metody, navíc tam nejsou informace o jménech. Více...

Datum: 2010-11-23 20:51:00 Tagy: nastroje, hacky, open source

Nástroje

Metriky a audit kódu v Delphi XE

Další novinkou v Delphi XE jsou nástroje na audit a výpočet metrik kódu a to částečně i ve verze Profesional (tam je jich ale jen několik).

Nebudu nalhávat že bych byl nějaký expert v této oblasti, ale pro zajímavost jsem to zkusil na programu z nedávného článku o RTTI a řekl bych, že pro mou osobu jsou nastaveny celkem přísná měřítka. Naštěstí lze při spuštění akce zvolit které položky jsou pro Vás zajímavé.

Jak audit kódu (QA Audits), tak výpočet metrik kódu (QA Metrics) je spouštěn z menu Project. Více...

Datum: 2010-11-19 22:32:00 Tagy: delphi XE, nastroje

Novinky v Delphi

And the winner is

… zklamání. Vyloženě jsem přecenil touhu po legálním programu u našince a čekal jsem trochu větší účast. Chápu, že díky upgradovací politice Embarcadera hodně lidí upgradovalo, chápu nedostatek času, ale přesto.

No vezmu si z toho ponaučení. Více...

Datum: 2010-11-17 00:21:00 Tagy: server

soutez

Delphi XE Update 1 dostupné

Je dostupná první aktualizace Delphi XE a jeho helpu. IDE by Vám to mělo automaticky oznámit a nabídnout aktualizaci, která u mne proběhla v pořádku, ale někteří uživatelé si stěžují, že:

  • jim po instalaci zmizela z helpu MS SDK (není při instalaci zvolena a je tedy možné, že ji nemáte ani instalovanou) - aktualizaci helpu lze odmítnout
  • pokud používáte celkem populární rozšíření DDevExtensions musíte instalovat aktuální verzi, jelikož jinak díky přísnější proti pirátské ochraně bude Vám nabízena koupě legální verze, jelikož uvedené rozšíření v jednom případě používalo napíchnutí do IDE, které IDE vyhodnotilo jako hack. V nové verzi rozšíření je to odstraněno.

To bylo ze známých mínusů vše, ohledně plusů: bylo opraveno několik chyb v IDE a rychlost kompilace, hlavně v případě větších projektů nebo pokud používáte hodně generika, byla znatelně zvýšena.

Zde seznam oprav.

Více...

Datum: 2010-11-14 14:45:00 Tagy: delphi XE,

Aktualizace

Tipy a triky pro IDE

Zkusím ukázat několik triků (možná je i znáte) jak si usnadnit život s IDE.

Posuvné breakpointy a bookmarky

Nevím jak je to u Vás, ale už se mi několikrát stalo, že si nastavím breakpoint (včetně jeho parametrů) a pak si uvědomím, že bych ho chtěl někde jinde. V novějších Delphi ho prostě chytnete a přetáhnete. A pokud při tom držíte CTRL (objeví se u něho malé plus jako na obrázku) tak ho jednoduše naklonujete včetně parametrů. O přetahování aktuálně vykonávaného řádku během ladění jsem psal minule. (novější Delphi, myslím 2009+)

posuvné breakpointy

Více...

Datum: 2010-11-13 00:35:00 Tagy: IDE, delphi, ladeni

Praxe

Jak jsem potkal RadPHP XE

Na prezentaci v Praze mne celkem zaujalo RadPHP. Ne že bych měl rád PHP jako jazyk, ale RadPHP mi připadal jako relativně dobrý nápad a tak jsem si ho chtěl aspoň vyzkoušet, když už ho mám jako součást RAD Studio XE.

Kdybych měl k něčemu RadPHP přirovnat, tak RadPHP je pro PHP v takovém vztahu jako je Delphi k Win32 API. Tj. nad základními elementy PHP je vystavena knihovna komponent inspirovaná VCL pod názvem RPCL, která pro PHP přináší komponentní model jako je v Delphi. Navíc přináší určitý stav do bezestavového HTML, tj. například napíši něco do Editu a po odeslání to tam zůstane aniž bych musel něco udělat.

RadPHP je už třetí verzí nástroje, přičemž ale první verze nebyla příliš vřele přijata. Pro třetí verzi byla aplikace hodně přepsaná a interně používá IDE z Delphi (samotná aplikace je psaná v Delphi 2010 a XE). Aplikace není původně přímo od Embarcadero, ale od firmy qadram, která také udržuje seznam ideí - brainstorm.qadram.com.

Nástroj se skládá z IDE (doplňování kódu, kontrola syntaxe, refaktoring, paleta komponent jako v Delphi 2010+), knihovny RPCL (lze používat i bez ní), debuggeru (výpis zásobníku, watch list, breakpoint) a publikačního wizarda.

Zároveň obsahuje svoji instalaci PHP a Apache. Tady jsem u sebe na Windows XP SP 3 narazil, protože mi to nefungovalo - problém Apache a lokalizovaných adresářů v XP (které ve Vistách už nejsou). Každopádně jsem nakonec rezignoval a po chvilce práce s programem FileMon jsem nakopíroval "C:\Documents and Settings\radekc.TDEVELOPX\Data aplikací\Embarcadero\RadPHP\3.0\php\php.ini" někam kde je PATH, v mém případě do c:\windows.

Více...

Datum: 2010-11-10 23:52:00 Tagy: RadPHP

Recenze

Konec soutěže o RAD Studio 2007 Architect se blíží

Připomínám, že 15.11.2010 s úderem půlnoci (tj. z 15.11 na 16.11) končí soutěž. Pořád je ale ještě týden čas. Tak neváhejte.

Více...

Datum: 2010-11-08 22:48:00 Tagy:

soutez

TDictionary

V minulém článku o porovnání rychlosti JSON s jinými způsoby se diskuze trošku rozjela, tak přicházím i se svým řešením pro rychlou implementaci za pomoci TDictionary, které je velmi rychlé a umožňuje použití generik.

TDictionary neumožňuje ukládání a načítání, takže jsem si musel vypomoci sám, abych dodržel podmínky z minulého článku (procedury mLoad a mSave).

Časová náročnost je velmi malá (největší čas trvá mé ne moc optimalizované načítání a ukládání), samotná práce s položkami je velmi efektivní (2000 položek, 500 aktualizací).

třída: celkova doba : doba prace bez nahravani/ukladani

HashedStringList: 5969 : 5953
TDictionary: 16 : 0
MS XML: 29922 : 29781
TIniFile: 2469 : 2469
TMemIni: 5953 : 5937
StringList: 3016 : 3016

Více...

Datum: 2010-11-08 08:48:00 Tagy:

Praxe

Rychlost ukládání

V článku Základy JSON v Delphi kolega <z> nastínil porovnání rychlosti JSON, INI a dalších. Jelikož bylo několik dotazů pro upřesnění, zde je výsledek, který mi <z> zaslal a navíc testovací program. Je samozřejmé, že je zde prostor pro další optimalizaci, přesto to lze chápat jako ukázku a přehled možností.

Aktualizováno po druhé

Více...

Datum: 2010-11-05 22:48:00 Tagy: JSON, optimalizace

Praxe

IDEFixPack 4.0 BETA

Zase to udělal. Opět všechny překvapil.

Zatím jsem se nikdy nezmiňoval o nějakém beta rozšíření, ale tentokrát udělám malou výjimku. Andreas Hausladen uvedl beta verzi svého IDEFixPacku, kdy pro opakované použití CodeInsight (tj. nápovědy kódu po Ctrl+Space) není žádná prodleva a navíc je hodně robustní k chybám ve zdrojovém kódu, kdy nabídne nekompletní nabídku místo původního mlčení.

Podporované jsou Delphi 7, Delphi 2007, Delphi 2009, Delphi 2010 a Delphi XE.

Hmm, chtěl bych být tak dobrý. Člověk, který napíše plugin do IDE opravující problémy a (pravděpodobně) nemá zdrojové kódy IDE (i když několikrát řekl, že jeho vztahy s vývojáři jsou hodně nadstandardní) je prostě neuvěřitelný. Předpokládám, že se jeho úpravy brzo promítnou i do Delphi XE (jako to už bylo několikrát).

Jo a odkaz na IDEFixPack 4.0 BETA.

Více...

Datum: 2010-11-03 22:20:00 Tagy: nastroje, optimalizace, fix

Rozšíření Delphi

Něco z 64bitového soudku

Allen Bauer na svém twitter.com/kylix_rd utrousil pár poznámek o 64bit Delphi. Něco jsem retweetnul na twitter.com/delphicz (lze sledovat jednoduše vpravo), ale pro historii malé shrnutí toho, co mi připadá důležité. Více...

Datum: 2010-11-01 23:49:00 Tagy: delphi64

Novinky v Delphi

Lokalizační komponenty LangMan

Byl jsem upozorněn na zajímavou možnost lokalizace za pomocí komponent LangMan a jelikož mne produkt opravdu zaujal tak na něho upozorňuji.

Autorem je Ing. Tomáš Halabala ze serveru regulace.org. Komponenty jsou pro nekomerční použití zdarma, jinak za 89 Kč pro jednu aplikaci, což je velmi příznivá cena a za to co umí je to celkem směšné. Navíc na stránkách je video ukazující použití komponent, což je ale také jedna z nejlepších ukázek jak v Delphi udělat aplikaci. Nevím jak dlouho to autor nacvičoval, ale celkem mne rychlostí a délkou prezentace dostal (a to si myslím, že jsem už něco zvládl). Podívejte se sami. Více...

Datum: 2010-10-29 21:17:00 Tagy: komponenty

Delphi Komponenty

Rok existence nového delphi.cz

Dnes je to rok co jsem vytvořil tento server. Cílem bylo veřejně ukázat na pár článcích jaké jsou nové Delphi, jelikož většina článků končila v té době u Delphi 7. Jenže se to nějak potom zvrhlo. Více...

Datum: 2010-10-26 20:46:00 Tagy:

Server

Několik tipů pro debugger - 3 díl

Pravděpodobně poslední pokračování mini série o temných zákoutí ladění v Delphi. Dnes to bude o modulech, data breakpointech, thread breakpointu a nějaké drobnosti. Více...

Datum: 2010-10-25 22:44:00 Tagy: debugger, ladeni

Praxe

Příklad použití RTTI - výpis typů v programu

Zkoušel jsem si hrát s RTTI (Run Time Type Information) a byl jsem tak nadšen jednoduchostí použití, že výsledkem je jednoduchý program, který ve stromě zobrazuje známé typy včetně metod, property a polí. Zároveň ukazuje efektivní použití anonymních metod, generických typů a to vše na 100 řádcích včetně deklarace. Více...

Datum: 2010-10-20 22:43:00 Tagy: RTTI, generics, anonymni metody

Praxe

Základy JSON v Delphi

V tomto článku popíši základy použití JSON v Delphi.

Článek mi byl zaslán a autor chce zůstat jen pod nickem <z>.

Několik základních faktů o JSON

  • JSON je jednoduchý formát určený a vyvinutý přímo pro výměnu dat.
  • JSON je alternativa ke XML, vhodnost jednoho nebo druhého je individuální.
  • Úspora v zapsání stejných dat v JSON oproti XML může být až 40% (je to dáno zřejmě tím, že se nevyužívájí párové tagy).
  • JSON je velmi stabilní formát, tj. neexituje verze 1, 2, …
  • Data v JSON jsou ukládána pomocí Unicode (UTF-8), a proto odpadá problém při využití různých kódování.
  • Data v JSON mohou obsahovat jak páry (název a k tomu hodnota), tak i samotné hodnoty (pole hodnot).
  • Více...

    Datum: 2010-10-19 22:34:00 Tagy: JSON, komponenty

    Praxe

Akční nabídka pro konec roku 2010

Z tiskové zprávy: Embarcadero nabízí na konec roku 2010 speciální nabídku typu BOGO (Buy One, Get One Free), tj. pokud si koupíte jeden produkt, druhý ve stejné ceně můžete dostat zdarma.

BOGO 2010

Detaily přímo na stránkách Embarcadero, rovnou ale můžete zjistit online co dostanete. Např. pro Delphi XE Professional upgrade to může být Rad PHP XE Workstation nebo Delphi Prism (ale i jiné), ovšem v případě nového uživatele je nabídka mnohem větší.

Dle mého názoru je to celkem zajímavé nabídka.

Více...

Datum: 2010-10-18 21:04:00 Tagy: embarcadero

Tiskové zprávy

TBinaryReader a TBinaryWriter

V každé nové verzi Delphi přibude pár užitečných tříd, no a kromě jiných je to v Delphi XE implementace TBinaryReader a TBinaryWriter. Je jasné, že se něco podobného dá naprogramovat za odpoledne, ale přesto mne originální implementace potěšila. Více...

Datum: 2010-10-15 23:44:00 Tagy: RTL, delphi XE

Novinky v Delphi

Drag and Drop Component Suite pro Delphi

Drag and Drop Component Suite pro Delphi, autor Anders Melander, je freeware VCL knihovna komponent, která do Delphi přidává podporu pro drag&drop na bázi COM, tj. třeba z Průzkumníku nebo Outlooku. Více...

Datum: 2010-10-14 00:12:00 Tagy: komponenty, open source, nastroje

Komponenty

Zdrojové kódy na delphi.cz a twitter

Velmi často se mi stává, že narazím na něco zajímavého, co ale nestojí za článek. Na takové věci je twitter ideální a velmi pohodlná věc. A jelikož na svůj twitter píši věci i z jiných oblastí, vznikl speciální delphicz twitter, kde kromě odkazů na články budou i jiné věci ohledně Delphi. Primárně se poslední položky zobrazují ve sloupci vpravo (pokud máte povolen javascript) takže netřeba se nikde registrovat.

Jako druhá věc je app.delphi.cz, kde budou aplikace soutěžící o RAD Studio. Zatím je tam jen jediná, ale nepochybuji, že jich ještě několik přibude. Jo a po několika poznámkách byl konec soutěže posunut na 15.11.2010.

Více...

Datum: 2010-10-12 00:06:00 Tagy: Delphi cz

Server

TTimeZone v Delphi XE

Delphi XE obsahuje v RTL podporu pro práci s lokální časovou zónou (TTimeZone). Implementace je multiplatformní (Windows, Linux, Mac OS) a je jednoduše použitelná. Více...

Datum: 2010-10-11 00:13:00 Tagy: delphi XE, RTL

Novinky

Úvod do datasnap serverů včetně ladění

John Kaster napsat moc pěkný článek o DataSnap serveru v Delphi, nastavování IIS a ladění ISAPI (jak pro IIS 7.5, tak pro IIS 6).

Osobně se mi líbí prezentovaná idea vytvářet ISAPI rozšíření jako samostatný exe program (což Delphi XE umožňuje), který se chová jako server a pak ho jen jednoduše konvertovat do podoby ISAPI.

Více...

Datum: 2010-10-09 08:24:00 Tagy: data snap, REST, ladeni, delphi XE,

Praxe

VGScene - nativní vektorová knihovna komponent

Většinou zde až na výjimky publikuji komponenty, které jsou zadarmo (všichni to známe, jak to v naší republice chodí). Dnes bych ale rád upozornil na naprosto výjimečné placené komponenty VGScene jelikož si myslím, že za tu cenu nemají konkurenci.

VGScene - vektorově fishfact

Více...

Datum: 2010-10-09 00:30:00 Tagy: FPC, grafika, flash, komponenty

Komponenty

Delphi JSON Viewer

Paweł Głowacki zrovna publikoval svůj článek o úvodu do JSON v Delphi, což je téma, které bude prezentovat na CodeRage 5 a zároveň uvolnil i zdrojové kódy pro svůj prohlížeč JSON.

Domovská stránka JSON, Pawel o JSON na EDN.

Více...

Datum: 2010-10-04 21:27:00 Tagy: JSON

Praxe

JSON v Delphi

Komentáře k minulému článku mne přivádí k otázce o JSON v Delphi. Hodně o tom uvažuju a tak se ohledně JSON zeptám zkušenějších:

Jakou tedy používáte implementaci JSON v Delphi? Vím o těchto implementacích: Více...

Datum: 2010-10-03 13:18:00 Tagy: JSON

Praxe

NativeXML

Pro přístup k XML v Delphi je možno použít několik různých komponent nebo tříd. Součástí instalace Delphi je implementace XML zapouzdřující ActiveX implementaci XML od MS (MSXML6) - komponenty TXMLDocument atd. Více...

Datum: 2010-10-02 23:31:00 Tagy: komponenty, open source, xml

Komponenty

Několik tipů pro debugger - 2 díl

V minulém díle jsem začal ukazovat pár triků pro ladění a dnes je tu pokračování. Více...

Datum: 2010-09-29 23:28:00 Tagy: debugger, ladeni, Delphi 2010, delphi XE, Delphi 2007, Delphi 2009

Praxe