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
Delphi Platform status - podporované platformy v jednotlivých verzích, Delphi Starter Edition download
Embarcadero uvedlo update Delphi 13.1, které je binárně kompatibilní s celou řadou 13. Ke stažení my.embarcadero.com, Delphi 13.1 Wiki, FixList.
Největší novinkou jsou pro mne dvě věci : Delphi Arm64EC a LSIF (no možná ještě Save VCL DFM v 96 DPI), ale zajímavostí je více.
Více...
Datum: 2026-03-28T17:58 Tagy: Delphi, LSP, LSIF, ARM
Vzhledem k popularitě Perplexity.AI (speciálně PRO, a opravněně díky přemýšlení a top modelům) jsem neodolal a používám ji přes Smart CodeInsight přímo z IDE. Není to nic težkého vzhledek k tomu, že mají API jako OpenAI. Je nutné říct, že už v základu Pro máte 5$ kredit každý měsíc v ceně, přičemž i s nejlevnějším modelem sonar (nejrychlejší, vlastní model Perplexity na bázi Llama 3.1/3.3 70B, optimalizovaný pro rychlé vyhledávání, sumarizaci a real-time odpovědi s citacemi), vychází 10 dotazů na cca $0.05, dostupný i sonar-pro (ale kredity žere o trochu více).
Jinak Perplexity umí v podstatě vždy nejlepší modely, tj. Claude Sonnet 4.5, Gemini 3 Pro nebo GPT-5.2. Ale nic není staršího než model z minulého měsíce, velmi pěkný přehled (prosinec 2025) - Jak vybrat správné LLM pro vaše AI použití od Patricka Zandla.
AI, resp. LLM, za posledních pár měsíců udělalo takový brutální kvalitativní pokrok, až se děsím a nelze se mu z rozumných důvodů vyhýbat.
Více...
Datum: 2025-12-27T16:26 Tagy: AI
Do týmu, kde jsem dlouhodobě členem, hledáme MSSQL vývojáře/vývojářku. Jedná se o menší vývojový tým vyvíjející systémy nad MS SQL databází, které chrání tisíce domácností a firem po celém světě.
🔧 Co vás čeká?
• Práce s MS SQL Server 2022+
• Tvorba procedur, skriptů, reportů
• Optimalizace výkonu a spolupráce na datových řešeních
🎯 Koho hledáme?
• Člověka s dobrou zkušeností v SQL - ideálně MSSQL, ale s velkou pravděpodobností jiný DB systém není překážkou (znalost T-SQL, indexy, optimalizace)
• Týmového hráče s analytickým myšlením
🎁 Co nabízíme?
• 25 dní dovolené + 2 dny vánočního volna navíc
• Zázemí skupiny Jablotron, firemní akce, chaty, zvýhodněné tarify.
Za sebe mohu klidně říct - opravdu nelituji.
Pokud máte zájem, pište na radekc (zav)delphi.cz, nebo radek.cervinka (zav) jablonet.cz
Více...
Embarcadero uvádí novou verzi Delphi 13 Florence. V tomto článku zkusím vybrat novinky, co mne zaujalo a co se změnilo.
Jedná se o regulérní novou verzi, nikoliv update, tj. knihovny a dcu nejsou binárně kompatibilní a verze může existovat vedle Delphi 12. Kompletní přehled docwiki What's new, seznam oprav reported bugs fixed.
Více...
Datum: 2025-09-10T18:19 Tagy: delphi
Embarcadero uvedlo update Delphi 12.3, které je binárně kompatibilní s celou řadou 12 (osobně nepoužívám označování verzí podle měst). Ke stažení my.embarcadero.com, Delphi 12.3 Wiki, FixList.
Tato verze je průlomová, protože po cca 30 letech je dostupné kromě stávajícího IDE i nové IDE s jinou bitovou verzí než 32bitů a to 64bit IDE. Poslední změna byla z Delphi 1 (16bit) na Delphi 2 (32bit).
Rovnou říkám, že samo embarcadero označuje tuto 64bit verzi za Initial Release, není ohledně features 100% s původní verzí, ale je použitelná pro každodenní práci pro Win64. Stávající 32bit IDE je dále rozvíjeno a je primární volbou pro ostatní platformy. Pokud otevřete projekt s jinými platformami, budou schované, ale zachované.
64bit IDE je nakonec dostupné i pro edici Profesional a pro tuto release je v adresáři "c:\Program Files (x86)\Embarcadero\Studio\23.0\bin64\bds.exe" a ne "Program Files" z různých důvodů. Pokud tam není, asi nebylo zvoleno při instalaci (sekce IDE Extras vpravo).
Více...
Datum: 2025-03-15T10:41 Tagy: delphi
Veselé vánoce a štastný nový rok všem čtenářům.

P.S.: a aby to bylo i trochu technické, tak prompt byl "obrázek vánoční koule na větvičce stromku na které je znak helmy, kterou má Delphi ve znaku, koule je červená, helma otočená doprava, více LED žarovek bílé barvy" a zajímavé je, že pokud tam bylo slovo visící tak byl prompt zablokován jako nepovolený .
A při použítí slova baňka to pořád generovalo placatku na alkohol se znakem Delphi (a nás známou jako pleskačka).
Více...Datum: 2024-12-23 19:17:00 Tagy:
Minule jsem popisoval emulátor historického HW v Delphi pro více strojů, dnes ještě jednou emulace (a asi naposledy) ale jinak. Ukáži emulátor ve Firemonkey (Windows, MacOS, iOS a Android) a co to přinese.
Pravidelný čtenář je již poučen, že Firemonkey hodně dokáže využívat GPU na různých platformách a celkem efektivně umí efekty jak si ukážeme. Yase ZX Spectrum Emulator for Delphi Firemonkey.
Yase používá FMX filtry za pomocí shaderů pro opravdu realistický look - a to až tak, že mne rozbolela hlava a vzpomněl jsem si hodiny na CRT TV u ZX Spectra.

Datum: 2024-12-01 19:45:00 Tagy: open source, hardware, Firemonkey
Mám rád historické počítače a konsole. Na některých jsem začínal, jiné mám doma (pár historických konzolí a počítačů jsem v průběhu času koupil) ale u spousty mohu jen z dálky pokukovat.
Dlouhodobě se zajímám o emulaci a tak dnes chci představit open source, multi HW emulátor, kompletně v Delphi: DSP emulator.
Emulátor emuluje nespočet klasických arkádových automatů, několik konsolí (např. NES, GameBoy Color, Megadrive) a počítačů (ZX Spectrum včetně 128, Commodore 64, Amstrad CPC, Oric).
Ze seznamu je jasné, že zvládá emulaci několika různých CPU (kromě mé srdeční Z80 je to např. m68000 a další).

Datum: 2024-11-03 19:57:00 Tagy: fun, grafika, historie, hry, hardware
Embarcadero vydalo RAD Studio 12.2 Athens Inline Patch 1, což v podstatě značí nový D12.2 instaler, který nahrazuje původní. Tj. pokud stáhnete D12.2 dostane tuto novou verzi.
Patch obsahuje opravy několika chyb, ale hlavní důvod je podle mne nechtěná změna rozhraní jedné třídy, a proto BPL z 12.2 nemusí být kompatibilní s BPL z D12.1, což je velký problém pro autory komponent. Úprava vrací kompatibilitu, ale jelikož to zasáhlo nepřímo mnoho dcu, byla zvolena tato možnost a ne patch.
Druhou zásadní opravou je RSS-1840 TTextServiceAndroid Exception when moving caret to new line .
Seznam oprav a povídání: RAD Studio 12.2 Athens Inline Patch 1 Available.
Patch je dostupný přes GetIt nebo na my.embarcadero.com a funguje jako přeinstalace, zachovává nainstalované komponenty, tedy kromě těch z GetIt, ty se přeinstalují a rozšíření IDE - viz. nahoře.
Update: Postupně se aktualizují rozšíření Delphi - třeba CnPack (https://www.cnpack.org/downbuilds.php?lang=en), nebo MMX - https://www.mmx-delphi.de/downloads/download-info/mmx-setup/
Více...Datum: 2024-10-18 06:57:00 Tagy:
Narazil jsem na několik zajímavých věcí, a i když jsem většinu nezkoušel, třeba se někomu budou hodit.
Musím uznat, že TMS s jejich webcore do toho slušně šlape. Naposledy ukazují na videu databinding v designeru, tj. živá data přimo v designeru a to je celkem cool. Můžete hádat jaké zdrojové data pro prezentaci používají.
video: Live data in the web form designer in TMS WEB Core for Delphi.
Datum: 2024-10-04 07:55:00 Tagy: delphi, komponenty
Je dostupná nová verze Delphi 12.2. Verze je update D12 a nahrazuje D12, D12.1. Je binárně kompatibilní.
Oficiální texty: nové věci a opravené chyby, a více info: Delphi 12 Athens - Release2.
Nová verze přidává některé klíčové věci pro budoucnost a soustředí se na opravy chyb a vylepšení stávajícího stavu.
Kličové je, že nově existují i 64bit verze Win32 a Win64 kompilátoru (a tudíž i LSP) a jsou cca stejne rychlé / nejsou ale v PRO. Zapnutí je v Project Option - “Preferred tool architecture”, vlastní binárky jsou v \Studio\23.0\bin64, původní zůstávají v \Studio\23.0\bin, jmenují se stejně tj. dcc32.exe, dcc64.exe, dcc32290.dll, dcc64290.dll (pro verze volané z IDE) + DelphiLSP.Exe a rlink32.dll.
Pro zapnutí 64bit LSP stačí v tools menu zaškrtnout: Use the 64-bit version of the server
Datum: 2024-09-13 09:50:00 Tagy: aktualizace, D12
Delphi kontroluje kolikrát bylo instalováno - myslí se tím na nové počítače, nikoliv reinstalace beze změny např. názvu počítače. Tento limit je relativně nízko / přesně nevím/, ale pokud člověk platí maintenanci není problém online požádat o zvýšení. Pokud nemá maintenanci je doporučováno kontaktovat prodejce a domluvit se s ním.
Pokud ale člověk se chystá na nějakou velkou reinstalaci, může požádat o navýšení dopředu pokud si myslí, že už dosáhne limitu.
Nedávno jsem narazil na článek člena MVP Glenn Dufke, který popisuje jak zjistit, kolik registrací ještě máte. Více...
Datum: 2024-09-11 11:03:00 Tagy:
Je vedro tak to trošku okořeníme. Mějme následující kód a odhadněte bez krokování, kde a zda vůbec program spadne. Je to umělá ukázka reálné situace, kterou jsem ale trošku zamaskoval ať je to zábavnější.
Možnosti k přemýšlení: spadne to protože volám metodu na nil objektu, spadne to protože TButton v console, spadne to protože TButton má taky Click, spadne to protože se snažím vypsat Caption a to je řetezec, spadne to protože se snažím nastavit Caption a to teprve nemůže projít, spadne to protože mám lokální proměnnou v metodě u nil objektu, spadne to protože přiřazují do lokální proměnné, spadne to protože čtu lokální proměnnou nil objektu, spadne to náhodou a jen někdy.
Nebo to v klidu projde vše. Jako je to trošku vyšší level, ale zkuste.
program TestAV;
{$APPTYPE CONSOLE}
{$R *.res}
uses
WinApi.Windows, System.SysUtils, System.Classes, WinApi.Messages, Vcl.StdCtrls;
type
TTestButton = class(TButton)
public
procedure Click;
end;
procedure TTestButton.Click;
var
x: Integer;
begin
writeln('button.Click'); // Line A
writeln(Caption); // Line B
Caption := 'Button 23'; // Line C
x := ImageIndex; // Line D
writeln(IntToStr(x)); // Line E
end;
var
t: TTestButton;
begin
try
t:=nil;
t.Click; // Line F
t.Free; // line G
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
readln;
end.
Datum: 2024-06-27 15:02:00 Tagy: praxe
Narazil jsem na seřazený seznam open source komponent z posledních let dostupný na github. Je to podle let a stars + pár dalších perliček (třeba open source CAD nebo projekt, který je fork něčeho co jsem kdysi napsal). Pascal Pantheon.
A když už jsem u toho GitHub, tak sem tam přidám i něco na github.com/delphicz.
Datum: 2024-06-04 20:25:00 Tagy: vykriky
Jen taková krátká poznámka ze života.
Dělal jsem úkol, kde se spouštělo velké množství tasků, které nezávisejí na pořadí. Prostě jak přijde nový požadavek, tak se převezme a podle případu se vygeneruje x výstupů. Krásná úloha pro TTask a TThreadPool. Fungovalo to nádherně, jen si zákazník přál, aby si mohl regulovat kolik dostane program vláken.
Datum: 2024-05-24 13:34:00 Tagy: vlakna, paralel, Threading
Doplním starší příspěvek DMVC o jednohubku jako je ukázka jednoduchého předání dat a založení dat. Po přečtení první části doplníme náš REST server o POST, tj. vytvoření záznamu.
type
[MVCNameCase(ncLowerCase)]
TTown = class
private
FName: string;
FPostCode: string;
public
[MVCSwagJsonSchemaField('name', 'town name', True, False)]
property Name: string read FName write FName;
[MVCSwagJsonSchemaField('postcode', 'post code', True, False)]
property PostCode: string read FPostCode write FPostCode;
end;
[MVCPath('/town')]
[MVCSwagAuthentication(atJsonWebToken)]
TCtrlTown = class(TMVCController)
public
[MVCPath('/($Id)')]
[MVCHTTPMethod([httpGET])]
{$IFNDEF DEBUG} [MVCRequiresRole('role1')] {$ENDIF}
[MVCSwagSummary('Town section', 'Town by Id', 'GetTown')]
[MVCSwagParam(plPath, 'Id', 'Town id', ptInteger)]
[MVCSwagParam(plQuery, 'params', 'Params', ptString)]
[MVCSwagResponses(200, 'Success', TTown)]
[MVCSwagResponses(401, 'Unauthorized')]
[MVCSwagResponses(500, 'Internal Server Error')]
procedure GetTown(const Id: Integer);
{$IFNDEF DEBUG} [MVCRequiresRole('role1')] {$ENDIF}
[MVCDoc('create Town and return "201: Created"')]
[MVCPath('/')]
[MVCHTTPMethod([httpPOST])]
[MVCSwagSummary('Town section', 'Item create', 'CreateItem')]
[MVCSwagParam(plBody, 'town', 'TownObject object', TTown, ptNotDefined, True, ' { "name": "Zlín", "postcode":"76340" }')]
[MVCSwagResponses(201, 'Success, Data get new created ID')]
[MVCSwagResponses(405, 'Failed')]
[MVCSwagResponses(500, 'Internal Server Error')]
procedure CreateItem();
end;
Datum: 2024-05-21 20:31:00 Tagy: DMVC
Embarcadero na měsíc (do 31.5.2024) uvolňuje možnost upgrade ze starých verzích na aktuální. Od roku 2016 je to celkem unikátní situace. Podrobnosti u našeho zastoupení zde na stránce Amnestie upgrade.
A na podobnou notu: FastReport, který mám fakt rád, připravuje změnu způsobu licencování, kdy tak zamíchal edicemi, že nejen u mé edice (dříve FastReportVCL Pro, tedy se zdrojáky) zvedne ceny. Mělo by to nastat už 1.6. Přihřeju polívčičku a na odkazu nahoře ohledně amnestie je pro FastReport do konce května sleva 5% ještě na staré ceny.
Konec slevového okénka.
Více...Datum: 2024-05-03 07:14:00 Tagy:
Dlouhodobě používáme MiTeC System Information Component Suite, proto když Michal udělá novou major verzi je třeba ho podpořit. Jedná se podle mne o nejlepší komponenty ohledně HW pro Delphi, včetně zdrojů a life time licence.

Podrobněji jsem psal již o MiTeC System Information Component Suite dříve.
Datum: 2024-04-30 10:11:00 Tagy:
Scimark je klasický numerický benchmark a já si tak pro zajímavost jednou za čas pouštím jeho Delphi port variantu, abych si ověřil jak je na tom 32bit Delphi a 64bit v jednotlivých verzích. Nikdy jsem neskrýval, že obecně mám radši 32bit kompilátor.
Předem upozorňuji, že je to jeden a ten samý kód, jen překládaný různými verzemi jak 32bit, tak 64bit. Jedná se o lehce upravený původní Delphi port, moje verze je 64bit kompatibilní a je tady ke stažení scimark.zip (200 kb).
Takže ještě jednou: stejný kód, takže teoretické chyby jsou stejné. A jedná se o numerický benchmark, ne obecný. Berte to prosím jako zajímavost, jak s tím naložíte je na Vás.
Bechmark obsahuje pět "kernelů", tj. testů (podrobnosti na prvním odkazu, ve zkratce):
Fast Fourier Transform (FFT) provede jednorozměrnou dopřednou transformaci 4K komplexních čísel. Toto jádro procvičuje komplexní aritmetiku, promíchávání, nekonstantní odkazy na paměť a trigonometrické funkce.
Jacobi Successive Over-relaxation (SOR) na 100x100 mřížce cvičení typických přístupových vzorů v aplikacích s konečnými diferencemi, například řešení Laplaceovy rovnice ve 2D s Drichletovými okrajovými podmínkami.
Monte Carlo aproximuje hodnotu PI výpočtem integrálu čtvrtkruhu y = sqrt(1 - x^2).
Sparse matrix mutiply používá nestrukturovanou řídkou matici uloženou ve formátu komprimovaných řádků s předepsanou řídkou strukturou.
dense LU matrix factorization vypočítá LU faktorizaci husté matice 100x100 pomocí částečného otáčení. Procvičuje jádra lineární algebry (BLAS) a operace s hustými maticemi.
(pozn. popis algoritmu je přes deepl s minimem oprav) Více...
Datum: 2024-04-24 19:05:00 Tagy:
Ode dneška je dostupná první aktualizace D12 (neplést s přechozím patch). Aktualizace je binárně kompatibilní s D12, tj. balíčky komponent a rozšíření zůstavají. Při aktualizaci si nezapomeňte zálohovat Library path pro 64bit a ostatní platformy (stačí otevřít Options a zkopírovat příslušný řádek). Na začátku instalace se Vás to zeptá, zda chcete zachovat instalaci (Do you want remove all … - zvolte No).
Hlavním cílem aktualizace je vylepšení kvality, odstraňování problémů a opravy chyb a jen pár novinek. Ke stažení na my.embarcadero.com
Datum: 2024-04-05 09:30:00 Tagy: aktualizace
Jen pro připomenutí co se dá najít v GetIT v Delphi - Delphi header files generované přímo z Windows Metadata (WinMD) informací. Takže se jedná o fakt "fresh" konvertované soubory.

Datum: 2024-02-16 14:31:00 Tagy:
Konečně je dostupný patch 1 pro Delphi 12, měl by být oznámen na welcome page v Delphi (nahoře). Instalace má 160M a je to patch, tj. nedojde k reinstalaci Delphi jako při update. Je to doporučeno všem s D12. Detaily, včetně oprav Patch 1.
Zároveň jsou přesunuty GetIt servery na GetIt AWS.
Pokud nemáte instalovány D12, je dostupný nový instalátor, který obsahuje přímo i patch 1 nová instalace D12. Pokud máte instalován patch, není třeba toto instalovat, vyjma přidávání platforem.
Více...Datum: 2024-02-13 10:41:00 Tagy: aktualizace
S příchodem Androidu 11 google zpřísnil přístup k souborům, které nejsou přímo vaše, ale jsou sdílené (třeba na SD kartě atd). Do verze Android 12 to šlo potlačit přes manifest a requestLegacyExternalStorage, ale s příchodem Androidu 13 se situace změnila.
Datum: 2024-01-24 18:30:00 Tagy: Android
Jen ve zkratce: 35% SLEVA na licence Delphi, C++Builder a RAD Studio 12 Athens Enterprise a Architect a 30% SLEVA na licence Professional. Nabídka končí 31. 12. 2023.
Více...Datum: 2023-12-29 10:21:00 Tagy:
Už to bude 11 let co jsem napsal článek o UniGui. Pořád si myslím, že je to jedna z nejzásadnější komponent pro Delphi. Pro mne třeba za minulý rok asi jedna ze 4 nejpoužívanějších věcí co nejsou součástí Delphi (další jsou FastReport, synapse, VirtualTreeView a DMVC framework).
Kam se tedy tedy unigui posunulo? A co za těch cca 16tis bez DPH za verzi Unigui Pro (schválně bez mobilních verze a řeknu proč) - pozor na webu unigui.com je cena taky bez daně, nově dostanete?

Aplikace napsaná v Unigui za jednotky hodin zobrazená na iPhone proti MS SQL databázi (upraveno pro účely prezentace).
Datum: 2023-12-17 13:36:00 Tagy: unigui
Delphi 12 je dostupné.
Tato verze přináší mnoho novinek, ať už se jedná o změny v IDE, instalaci, RTL nebo knihovnách či samotném jazyku. Seznam úprav a vylepšení (jen veřejné) je impozantní.

Datum: 2023-11-07 19:54:00 Tagy: Delphi 12
Jelikož není žádným tajemstvím, že Delphi 12 snad brzo bude - viz. náznaky beta blogování (taky snad něco brzy napíši pod explicitním povolením od Embarcadera), tak bych rád zdůraznil jednu opomíjenou vlastnost novějších verzí Delphi - je na to IMHO ideální čas.
Jako každý programátor jsem měl problémy s balíčky komponent a novými verzemi, kdy aby nedošlo k problémům se soubory (dependency hell), má vždy balíček pro danou verzi jiný název. Klasicky obsahuje číslo verze, viz. samotné Delphi - např. FireDAC280.bpl, vcl280.bpl atd. Pro mne tak byl vždy největší opruz dodělávat balíčky pro novou verzi, a to v případě kdy to neudělal vývojář.
Naštěstí už několik verzí (podle všeho od D10.4 - viz třeba balíčky VirtualTreeView) je tu řešení: automatické generování suffixu a teď je ideální čas se tím zabývat. Za ten ušetřený čas v budoucnu do stojí.

Datum: 2023-10-19 20:01:00 Tagy: IDE
Často píšu programy které běží dlouho a tak mne zajímá, zda se tam neděje něco co nechci. V takovém případě si do logu zapisuji stav programu (tedy kromě jiného samozřejmě). Sice existují knihovny, ale pro mé potřeby většinou stačí jednoduchá funkce.

Datum: 2023-08-11 15:12:00 Tagy:
Do 26. Července získají všichni zákazníci slevu 30% na libovolnou edici Delphi, C++Builderu, nebo RAD Studia 11.3 Alexandria. shop.codesecure.eu/embarcadero/
Více...Datum: 2023-07-14 11:11:00 Tagy:
Vždycky jsem UDP psal pomocí Synapse, ale chtěl jsem zkusit něco nového a chtěl jsem to pro Android za pomoci inhouse řešení - i když je Synapse pro Android je dostupná.
Server byl existující synapse UDP server (tady je sample public:howto:udpserver) pro windows, který na zaslaný řetezec <ident> vrátil název počítače, takže jsem během chvilky dostal seznam dostupných stanic i s IP adresou pro připojení z Androidího klienta.