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 si všimněte mého pojednání ř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ů.
Uvažujete o vývoji pro mobilní zařízení? V tom případě navštivte sekci FireMonkey.

Pokud Vám nestačí náš přehled komponent, 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?


Případ FieldByName

vložil Radek Červinka 6. března 2018 00:36

Jak se tak potuluji po zákaznících se školením nebo konzultacemi, tak narážím na opakovanou situaci s FieldByName (případně podobnými funkcemi).

Více...

Tagy: , ,

Optimalizace | Praxe

Spider - nový Delphi free profiler

vložil Radek Červinka 13. listopadu 2015 18:34

Když jsem potřeboval profilovat tak jsem většinou používal Sampling profiler. Nyní se ale objevil zajímavý program Spider (zdrojáky) a některé jeho parametry jsou velmi speciální. Např. to, že je to jak sampling, tak podle mne instrumentační profiler (ale bez zásahu do zdrojového kódu - pracuje přímo s EXE v paměti).

Další velmi zajímavou vlastností je podpora více vláken s tím, že se navíc zobrazuje jak jsou vlákna v akci.

Spider delphi profiler

Všimněte si, že profiler zobrazuje jména vláken (jedná se o demo z instalace Delphi - thrdemo), a zároveň je evidentní, že nejrychlejší byl TQuickSort což je velmi přehledně vidět z diagramu.

Více...

Tagy: , ,

Optimalizace | Praxe

SapMM - Efektivní Memory Manager pro multithreaded aplikace

vložil Radek Červinka 5. září 2015 01:27

FastMM4 je geniální. V podstatě ve většině instancí je nepřekonatelný - a že se o to stále někdo pokouší. Ale v případech brutálních vícevláknových (hodně vláken), paměťově intenzivních programů je možné, že FastMM přestane dobře škálovat díky tomu, že své interní struktury chrání spinlocky.

Více...

Tagy: , ,

Optimalizace | Praxe

Nový opensource JSON parser - JsonDataObjects

vložil Radek Červinka 19. února 2015 22:53

Jistě znáte jméno Andreas Hausladen - člověk který stojí za IDEFixPack (mimochodem zrovna vyšla nová verze 5.8) , v půlce jednotek z JCL najdete jeho jméno atd.

Několikrát jsem zde jeho dílo velmi obdivoval a to platí stále. Tak on částečně z nudy napsal nový JSON parser, dostupný na github a nepřekvapivě všem ostatním natrhl

Více...

Tagy: , , ,

Komponenty | Novinky | Optimalizace

Zvětšení dostupné paměti 32bit programů v Delphi

vložil Radek Červinka 19. září 2014 23:09

Jednoho krásného dne Váš program zjistí, že trpí nedostatkem paměti. Přirozeným krokem je přechod na 64bit aplikace, ale existuje i jiná možnost. U EXE (resp. PE souboru) se dá specifikovat flag IMAGE_FILE_LARGE_ADDRESS_AWARE. Tento flag byl původně určen pro speciální mód 32bit Windows, kdy místo normálních cca 2GB paměti pro 32bit proces nabízel celých úžasných 3GB volné paměti. Praktická využitelnost tedy nic moc, protože tento mód Windows se moc nepoužíval.

Situace se obrátila s příchodem 64bit Windows (jen aby nedošlo k nedorozumnění - dávejte pozor kdy mluvím o 32bit procesu, kdy o 32bit Windows a kdy o 64bit Windows).

Více...

Tagy: , , , ,

Praxe

Soutěž 3 - výsledky

vložil Radek Červinka 21. března 2012 20:28

Výsledky soutěže včetně zdrojových kódů.

aktualizováno:

  • 21.3.2012 - ukončeno
  • 27.3.2012 - Neuromancer přidal soubor s vysvětlením algoritmu stáhnout

Demo projekt:

originální implementace - čas: 18868

Více...

Tagy:

soutez

Optimalizační soutěž č.3

vložil Radek Červinka 24. února 2012 23:59

Pro zájemce třetí kolo soutěže. Úkolem je optimalizovat demo funkci, pravidla se od minule v podstatě nemění. Nejlepší (tj. nejrychlejší) vyhraje tričko s logem FireMonkey, flašku 4GB a případně 2x hrníček s logem Borland (viz minule, fakt se z něj dobře pije). Případně může být udělena i druhá cena (za nejzajímavější kód nebo nejrychlejší řešení bez ASM).

Uzávěrka je 21.3.2012 ve 20 hodin, ale řešení se může posílat průběžně (každý může poslat 3 řešení), ale nejdříve 1.3 - chtěl bych si zkusit ještě trošku poladit svoje řešení.

Pravidla

  • je možno použít libovolný kompilátor pascalu (Delphi 2 - Delphi XE2, FreePascal)
  • z povahy řešení není povoleno používat vlákna
  • testované budou výsledné Vámi přeložené aplikace, zdrojový kód je jen pro kontrolu vítězů
  • průběžně budou zveřejňovány přeložené aplikace, zaslané zdrojové kódy budou zveřejněny nakonec
  • Více...

Tagy:

soutez

Něco ohledně uvolňování řetezců

vložil Radek Červinka 18. listopadu 2011 23:03

Jen pro zajímavost pro začátečníky malé zamyšlení o řetezcích, Exception.CreateFmt a podobných funkcích. Více...

Tagy: , ,

Praxe

Delphi XE2 - pár tipů

vložil Radek Červinka 13. září 2011 23:39

Na FireMonkey se mi líbí x věcí a jedna z nich je portabilita. Nyní se objevila nová "platforma", resp. implementace Canvas pro Windows (kromě standardních GDI+ a Direct2D) tak přibyla FMX.Canvas.VPR. Jedná se o malou knihovnu, jejíž autorem je Mattias Andersson ze serveru graphics32.org a projektu VPR, což je polygon rasterizer.

Více...

Tagy: , , ,

Novinky

Náhodné výkřiky 6

vložil Radek Červinka 30. června 2011 22:52

Opět něco co mne cestou praštilo do nosu. Dnes to bude případ "Test na prázdný řetězec", jeden zajímavý inzerát a help update pro XE.Více...

Tagy: ,

Novinky v Delphi | Začátečníci

Náhodné výkřiky 4

vložil Radek Červinka 24. května 2011 23:38

Resp. spíše několik zajímavých odkazů, třeba se někomu bude něco hodit.

Více...

Tagy: , , ,

Komponenty

Výsledky 2. soutěže

vložil Radek Červinka 28. února 2011 21:29

Tak jo, zde jsou výsledky. Když jsem tuto optimalizační soutěž navrhoval, tipoval jsem limit tak kolem 100ms. Navrhoval jsem úlohu, která je dostatečně rychlá na základní naprogramování, má potenciál na optimalizaci a která by se dala celkem jednoduše paralelně zpracovávat. Výsledek mne opravdu překvapil.Více...

Tagy:

Optimalizace

Optimalizační soutěž č.2

vložil Radek Červinka 7. února 2011 22:15

Aktualizace:

  • update: výsledky
  • update6: Tomáš Kořínek
  • update5: J. Jelínek a jeho třetí pokus.
  • update4: aktualizace pořadí, změna na možnost 3 řešení, průběžné výsledky jsou zpět
  • update3: podle návrhu udělím i cenu za nejoriginálnější řešení - i když nebude nejrychlejší - něco jako minule cena poroty. Jako podporu pro zasílání i krapet pomalejších řešení.
  • update2: další soutěžící
  • update: vylepšené měření, můj druhý pokus, dva další soutěžící

Od minulé soutěže mi už otrnulo a jelikož převážná většina lidí v anketě nebyla proti dalšímu kolu soutěže a do jara ještě chvilku máme čas, je zde další úkol.

Proti minulému kolu jsem změnil několik pravidel:

  • je možno použít libovolný kompilátor pascalu (Delphi 2 - Delphi XE, FreePascal, ohledně C++Builderu zatím nevím zda by byl zájem)
  • testované budou výsledné Vámi přeložené aplikace (minule jen jedna obsahující všechny řešení), zdrojový kód je jen pro kontrolu vítězů
  • průběžně budou zveřejňovány přeložené aplikace, zaslané zdrojové kódy budou zveřejněny nakonec
  • Více...

Tagy:

soutez

64 bit assembler není to samé co 32 bit

vložil Radek Červinka 28. prosince 2010 21:59

Hodně toho bylo napsáno ohledně 64bit Delphi. Aktuální stav je takový, že další verze Delphi by měla být i s 64bit kompilátorem (pokud se nestane něco hooodně nepředvídatelného jako zemětřesení atp).

Následující informace je čistě informativní a bez záruky a jen jako ukázka, vše se může změnit do doby vydání další verze Delphi.

Update Více...

Tagy: , ,

Novinky v Delphi

Rychlost ukládání

vložil Radek Červinka 5. listopadu 2010 23:48

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...

Tagy: ,

Praxe

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců