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?
Pomalu začínají prosakovat informace o nové verzi Delphi 10.3 Rio. Podle mne se bude jednat o naprosto zásadní verzi. Posuďte sami z toho co je zatím zveřejněno.
Datum: 2018-11-05 21:26:00 Tagy: kompilátor, ARC, Android
Dneska se bude řešit System.Copy, epesní nová komponenta na editaci textu, herní engine pro FireMonkey, změna podmínek aktualizace pro XE8 a nějaké odkazy.
Datum: 2015-05-21 22:53:00 Tagy: komponenty, kompilátor, RTL, Firemonkey, XE8, hry, grafika, hardware, IoT
Jedním z důvodů proč už jsem opustil nadobro staré verze Delphi (pod D2007) jsou enumerátory. Toto rozšíření (resp. standard všech moderních jazyků) je pro mne tak významné, že není cesty zpět. Samozřejmě ve spojení s generiky je to teprve jízda, ale i bez nich to jednomu člověku usnadní práci a jsem rád, že i významné komponenty toto podporují. Na konci článku přímo jeden enumerátor vytvoříme.
Datum: 2014-11-10 21:48:00 Tagy: kompilátor
Laskavý čtenář mého blogu jistě už naznal, že Delphi neznamená jen Win32 (Win64, OSX) ale i kompilátory pro iOS a Android.
Tyto kompilátory (kromě kompilace do ARM) přinášejí i podporu ARC (Automatic Reference Counting) pro objekty (podobně jako k tomu došlo před nedávnem Apple). Princip není v Delphi v podstatě nový - Delphi odjakživa používají stejný mechanismus nejméně pro řetězce a interface.
V podstatě existují dvě možnosti automatického uvolňování paměti - ARC a Garbage Collector, kdy GC je ten nedeterministický (tj. problematický viz Android a nový runtime ART to taky řeší), ale to sem asi nepatří.
Obecně ale oba modely musí řešit cyklické reference. Takže ARC je moc pěkné, ale není vše tak sluníčkové jak by mohlo vypadat. V nejhorším ale jen nedojde k uvolnění, pokud se tomu chceme vyhnout, je nutno jít trochu hlouběji. Upozorňuji, že právě následující text jde v některých detailech hlouběji než je nutné pro normálního programátora.
Datum: 2014-07-11 21:28:00 Tagy: ARC, ARM, kompilátor, praxe, super, RTL
Myslím, že celkem nedoceněnou vlastností je přetěžovaní operátorů u datové struktury record. Z cvičných důvodů ukáži jak např. emulovat 8bit string za pomocí TBytes.
Datum: 2013-04-04 00:39:00 Tagy: kompilátor, RTL
Vítejte u další dávky drbů, odkazů a zajímavostí jak je vidím já.
Datum: 2013-02-13 22:59:00 Tagy: FireMonkey, FastReport, db, XE3, delphi, kompilátor, linux
Class helper je známá věc, ale co třeba takový Record helper?
Poprvé se to objevilo jako mizerně dokumentovaná věc v BDS 2006 v Delphi for .NET. A teprve následně se to propagovalo do verze Win32. Tady měl Borland zpoždění - .NET verze byla vždycky o krok napřed. Více...
Datum: 2011-09-23 19:57:00 Tagy: class helper, kompilátor
Oficiální stránka RAD Studio XE2 World Tour
Datum: 2011-08-02 08:43:00 Tagy: DelphiXE2, delphi64, embarcadero, grafika, kompilátor, RAD Studio, RadPHP, OSX, FireMonkey
Pořád mi to přijde, že píšu a píšu a žádné výsledky (teda kromě návštěvnosti, která je slušná). Takže jelikož je období zkoušek, je zde malý testík. Ušetřím Vás trapností typu jakými třemi způsoby se dá označit komentář, na druhou stranu pro dnešek vynecháme i generika a další věci.
V budoucnosti přejdeme k XE2, kde určitě bude hafo témat, ale to bude ještě cca 2-3 měsíce trvat a do té doby máme ještě trochu času. Takže na zabití času malý test.
Co bod - to bod. V úvahu jsem bral Delphi XE, ale většina věcí je platná obecně. A prosím bez google a spol., kdo najde chybu vyhrává. Více...
Datum: 2011-05-27 01:48:00 Tagy: RTL, kompilátor
Jelikož další verze Delphi s opravdu velkou pravděpodobností bude podporovat 64bit, začínají se objevovat zajímavé informace a jelikož tato mi přišla opravdu velmi zajímavá, tak ji sprostě šlohnu a ani ji nebudu překládat. Autorem komentáře je Allen Bauer - Embarcadero Chief Scientist. Více...
Datum: 2011-02-15 21:22:00 Tagy: delphi64, kompilátor
Někdy je vhodné do zdrojáku vložit informaci, která se zobrazí při kompilaci. Delphi pro tuto funkcionalitu má direktivu $Message, která má dokonce i parametry.
Syntaxe: {$MESSAGE HINT|WARN|ERROR|FATAL 'řetězec' }
Datum: 2010-12-19 23:22:00 Tagy: kompilátor
Ještě malá poznámka k inline optimalizacím. Tentokrát na ni upozornil přímo Allen Bauer a dokud na ni neupozornil on, tak jsem si tuto souvislost neuvědomil.
Mějme následující kvalitní kód:
program InlineTest;
{$APPTYPE CONSOLE}
{$O+}
uses
SysUtils;
var
s : string;
begin
s:= 'Test';
writeln(s);
writeln(Length(s));
end.
Datum: 2010-09-24 23:12:00 Tagy: kompilátor, optimalizace, RTL
Nová verze Delphi je dostupná. Minule jsem již naznačil některé novinky, takže dnes jen upřesnění co mne zaujalo - později to bude snad detailněji rozepsané (stejně jako v případě Delphi 2010).
Datum: 2010-09-01 00:48:00 Tagy: delphi XE, RAD Studio, kompilátor, optimalizace, RTL, VCL, verze, tool cloud
S příchodem 64bit Windows se objevil i požadavek na 64 bit kompilátor Delphi, který byl až do příchodu Embarcadera na scénu ignorován.
Nyní (polovina roku 2010) je nový kompilátor již třetím rokem vyvíjen s tím, že začátkem příštího roku bude k dispozici preview kompilátoru. Zkusím o něm (a příbuzných tématech) napsal pár poznámek. Více...
Datum: 2010-08-05 22:09:00 Tagy: delphi64, kompilátor, embarcadero, FPC
Přiznám se, že toto jsem neplánoval.
Jak jsem připravoval tu soutěž ohledně programování, tak jsem si to samozřejmě musel referenčně zkusit. Psal jsem to v Delphi 2010 a po odladění mne napadlo, zda to půjde přeložit i neunicode verzí - samozřejmě to šlo bez problémů, ale rychlost zpracování byla celkem rozdílná a to jsem v podstatě nic neměnil - kromě odstranění direktiv, kterým starší verze nerozumí.
No a když už jsem byl v tom, tak jsem to zkusil se všemi verzemi co mám nainstalované. A tady je výsledek. Více...
Datum: 2010-07-16 22:23:00 Tagy: verze, optimalizace, kompilátor
Možná tyto dvě direktivy neznáte - obě dvě jsou totiž relativně nové. Direktiva deprecated byla přidána v Delphi 2009, Direktiva delayed v Delphi 2010. Více...
Datum: 2010-06-28 20:25:00 Tagy: Delphi 2009, Delphi 2010, verze, kompilátor, Object Pascal
Předchůdcem anonymních metod z Delphi 2009 jsou vložené (nested) procedury. To ale neznamená, že by éra vložených procedur skončila. Osobně je rád používám na zpřehlednění kódu v případě trošku delší procedury nebo na lokální provedení opakované akce. Hlavní výhodou je možnost přístupu k lokálním proměnným dané procedury. Více...
Datum: 2010-05-27 22:01:00 Tagy: optimalizace, kompilátor, Object Pascal, začátečníci
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
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
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
Delphi už dlouho má procedurální typy (tj. typu procedura nebo funkce, v podstatě pointer) a ukazatele na metody ( tj. typ pointer na metodu). To druhé je základem celé VCL - kdykoliv deklarujete třeba OnClick obsluhu jedná se právě o druhý případ. První případ je používaný méně, ale třeba já ho často používám pro různé callback funkce atd.
Anonymní metody rozšiřují stávající stav, kdy místo jména procedury nebo metody prostě napíšete kód. Navíc se v takovém případě mění platnost lokálních proměnných. Více...
Datum: 2010-01-06 00:29:00 Tagy: kompilátor, Delphi 2009, anonymni metody
Delphi 2009 přináší několik novinek kompilátoru a RTL z nichž nejzásadnější je podpora Unicode, Generika (generics), anonymní metody a pak zbytek.
Minule byla první část změn v Delphi 2009, nyní přicházejí na řadu generika - generics (dobré číst postupně od Delphi 2007). Více...
Datum: 2009-12-31 01:50:00 Tagy: Delphi 2009, RTL, kompilátor, generics
Delphi 2009 přináší několik novinek kompilátoru a RTL z nichž nejzásadnější je podpora Unicode, Generika (generics), anonymní metody a pak zbytek.
Začneme od konce - dnes tedy ten zbytek.
Delphi 2009 je následníkem Delphi 2007 a proto je vhodné začít čtení se shrnutím předchozí verze Delphi 2007. Více...
Datum: 2009-12-31 01:37:00 Tagy: Delphi 2009, RTL, kompilátor, unicode
Hodně lidí stále používají starší verze Delphi (nejčastěji 5-7) a nemají přehled o novinkách v novějších Delphi (a změn je hodně, hlavně ohledně jazyka), takže si je rychle prosvištíme. A to samé pak udělám s Delphi 2009 a snad i s Delphi 2010 (kde se pak budu jen odkazovat na tento článek).
Delphi 2007 je první verzí, která vznikla po oddělení vývojových nástrojů od Borlandu a je znát, že to programátorům dalo novou chuť pracovat a odstraňovat chyby (je pravdou, že Delphi 8 bylo neodladěné). IDE je interně nazýváno Galileo, první verze byla pro neštastné Delphi 8, pro Delphi 2007 se jedná již o 5 verzi IDE a proti předchozím verzím je opravdu stabilní. Delphi 2007 je poslední ne unicode verze a jedná se o nonbreaking verzi, tj. je binárně kompatibilní s Delphi 2006 (tj. dcu z Delphi 2006 lze používat ve 2007). Více...
Datum: 2009-12-08 22:57:00 Tagy: Delphi 2007, delphi, embarcadero, optimalizace, IDE, kompilátor, super