vložil Radek Červinka
3. listopadu 2010 23:20
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.
vložil Radek Červinka
25. září 2010 00:12
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.
Více...
vložil Radek Červinka
8. září 2010 22:53
Osobně si myslím, že programovat se člověk naučí jen psaním programů a rýpáním se v cizích kódech (no a ještě čtením delphi.cz). Rád se dívám, jak to dělají jiní a nechávám se inspirovat. A sem tam narazím na kousek kódu, který mne zaujme. A tak ho sem hodím v novém občasníku (tag utrzky).
Velmi dobrým zdrojem je VCL a našinec tak kolikrát najde velmi zajímavé konstrukce. Jako ta dnešní, která je velmi často používaná i jinde.Více...
vložil Radek Červinka
1. září 2010 01:48
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).
Více...
vložil Radek Červinka
14. srpna 2010 23:47
Blíží se podzim, trnky už pomalu dozrávají a nová verze Delphi je už také skoro hotová.
Jak je patrno ze změn v Delphi roadmap, někoho napadlo, že číslo roku už není dostatečně cool, takže nové Delphi bude místo Delphi 2011 mít název Delphi XE, kde XE není žádná zkratka, jen se tak prostě jmenují všechny produkty Embarcadera. Mimochodem: další verze bude asi XE2.Více...
vložil Radek Červinka
29. července 2010 22:23
Naše malá soutěž je u konce, takže je na čase provést nějaké zhodnocení. Jsem rád, že se zúčastnilo celkem dost lidí a co je ještě lepší, že co člověk to algoritmus, přičemž některé opravdu překvapující. Rád bych všem poděkoval, bylo to velmi zajímavé.Více...
vložil Radek Červinka
25. července 2010 22:07
Jen tak pro povzbuzení apetitu a pro ukázání, že měření je celkem dostatečné - mezivýsledky. Jo a ještě poznámka: nezkoušejte takové triky, jako po prvním průběhu si do stringlistu přihodit výslednou hodnotu, nebo ještě lépe - nahradit text za výsledek. Takové řešení je neplatné, ale pobavilo. Navíc jsem upravil některé řešení na jednořádkové data - pro porovnání.Více...
vložil Radek Červinka
16. července 2010 23:23
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...
vložil Radek Červinka
15. července 2010 23:17
Zkusíme to jinak. Nechal jsem se inspirovat v zahraničí a uděláme takovou malou soutěž. Já navrhnu zadání (dostatečně lehké) a Vy zkusíte poslat implementaci části programu, která bude provádět zadání. Pro normálního programátora cca 1-2 hodiny práce. Doufám, že to zkusíte.
Cílem je porovnat různé řešení a hlavně začátečníkům ukázat jak to dělají jiní. Budou vyhlášeni dva vítězové:
- nejrychlejší řešení (tj. program s nejvyšší rychlostí)
- cena poroty (to jako já :-)) za eleganci nebo čistotu a tak podobně, inspirace začátečníkům
Druhá cena nemusí být vyhlášena (málo účastníků, autor už vyhrál první cenu …).Více...
vložil Radek Červinka
27. května 2010 23:01
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...
vložil Radek Červinka
8. prosince 2009 23:57
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...
vložil Radek Červinka
6. prosince 2009 22:11
Profilery kódu nejsou moc často používanou pomůckou, ale někdy pomohou velmi výrazně zrychlit běh programu.
Zjednodušeně řečeno je profiler nástroj, který po dobu běhu programu zjišťuje informace o době trvání běhu jednotlivých částí programu a následně po ukončení běhu tyto statistiky zobrazí.
Existují (pokud vím) dva druhy profilerů: instrumentační a vzorkovací (samplovací).
Kdy použít profiler? Jednoduše když máte pocit, že by váš program mohl běžet rychleji. Někdy pak stačí malá změna ve výsledném kódu (např. odstranění zbytečného volání funkce, použitím nějaké cache nebo odstranění opětovného vyhodnocování špatně udělané property tím, že si zapamatujete její hodnotu) a výsledný kód běží rychleji a uživatel to ocení.Více...