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?


Použití anonymních metod v Delphi

vložil Radek Červinka 30. ledna 2010 00:15

Naprosto perfektní použití anonymních metod z Delphi 2009+

type
  THelper = class
    class procedure Lock(O: TObject; Proc: TProc); static;
  end;

class procedure THelper.Lock(O: TObject; Proc: TProc);
begin
  TMonitor.Enter(O);
  try
    Proc();
  finally
    TMonitor.Exit(O);
  end;
end;

Použití je pak velmi jednoduché, uvedený kód je chráněn kritickou sekcí:

procedure TMyObject.Process;
begin
  Obj.Lock(Self, procedure
    begin
      //kód chráněn kritickou sekcí
    end);
end;  

Fakt prima.

původní článek

Tagy: ,

Praxe

Wii Remote a Delphi

vložil Radek Červinka 29. ledna 2010 23:27

Nejen prací, živ je člověk (mimochodem takové články budou mít tag fun, tj. programování pro zábavu). Přiznám se, že mám strašně rád Nintendo Wii, takže proč to nespojit s Delphi? Pokud to nevíte, tak kromě her je Nintendo Wii unikátní bezdrátovým ovladačem se senzorem pohybu a integrovanou infra kamerou použitelnou jako pointing device (resp. nejen jako).

Pro neznalé - Wii remote (zkráceně wiimote) je bluetooth zařízení s překvapivě mnoha možnostmi (můj detailní popis Wiimote jinde), samotný ovladač stojí cca 1000Kč.Více...

Tagy: ,

Komponenty

KOL - Key Objects Library

vložil Radek Červinka 27. ledna 2010 23:41

Všichni známe a používáme VCL knihovnu. Ale kromě VCL existuje i alternativní a neoficiální knihovna komponent - KOL. Její hlavní výhodou je, že výsledné programy jsou opravdu prťavé - cca od 10KB a tudíž pokud Vám opravdu hodně záleží na výsledné velikosti třeba binárky pro službu, máte možnost ji vyzkoušet. Je to v podstatě v základu jen opravdu zapouzdření Win32 API bez různých vychytávek z VCL, ale pro určitou speciální oblast programů to může někomu stačit.

Na domovské stránce KOL je k dispozici spousta příkladů, takže nemá moc cenu zde nějaký prezentovat. Navíc je dostupná celkem obrovská dávka kódu, v hodně případech použitelného i pro VCL, které základní funkčnost rozšiřují např. o kompresi, šifrování, přístup k SQLLite nebo další tuny možností, včetně takových věcí jako je objekt umožňující kompilace assembleru do paměti a následného spuštění.

Podporovány jsou Delphi 2 - 2009, FreePascal compiler, Kylix.

Tagy: ,

Komponenty

Delphi Spring Framework

vložil Radek Červinka 26. ledna 2010 23:15

Jen krátce: Vzniká nový opensource projekt - Delphi Spring Framework, který nabízí programátorům (hlavně) v Delphi 2010 podporu při jejich programování tím, že vytváří knihovnu často používaných funkcí, které nejsou ve VCL - tj. podobně jako JCL ale - tak jak to umožňují novější Delphi, v některých případech jen Delphi 2010, tj. např. za pomocí class a record helperů, anonymních metod, generik a hlavně za použití nového RTTI.

Nabízí mimo jiné podporu cryptování (DES, Triple-DES) včetně hash algoritmů (MD5, SHA-1/256/384/512), kontrolních součtů, návrhových vzorů, Live templates (Delphi 2006+) včetně použití RTTI pro reflection.

Předpokládám, že většina programátorů již potřebné rutiny má - třeba pro šifrování DCPCrypt, ale zde je to pěkně všechno uspořádané a autoři se prý drží pravidla KISS (Keep It Simple and Stupid).

Když už nic, tak je to skvělý studijní materiál, třeba Spring.Helpers.pas je pěkné použití class a record helper (něco o class helper jsem již také napsal).

Tagy:

Komponenty

Lehký úvod do Virtual TreeView - pokračování

vložil Radek Červinka 22. ledna 2010 22:27

Minule jsem nastínil základy práce s Virtual TreeView, ale uvědomil jsem si, že jsem pořádně nezdůraznil virtuální aspekt práce této komponenty. Zkusím to dnes ještě napravit. Více...

Tagy: , , ,

Praxe

Jak nastavit layout Delphi 7 v Delphi 2010

vložil Radek Červinka 21. ledna 2010 23:36

Mnoho lidí je konzervativních (v určitých oblastech třeba i já) a prostě nemůžou přenést přes srdce změnu IDE nových Delphi proti Delphi 7 a to zvláště ve dvou oblastech:

  • nahrazení palety komponent za seznam (na to jsem si zvykl celkem rychle, zvláště díky rychlému hledání)
  • "undocked" okna (to v případě více monitorů může být trochu problém)Více...

Tagy: , ,

Návody

Lehký úvod do Virtual TreeView

vložil Radek Červinka 20. ledna 2010 23:07

Virtual Treeview jsem již uváděl v přehledu zajímavých komponent pro Delphi. Abych se přiznal, tak tuto komponentu považuji za jednu z nejlepších co pro Delphi existují a navíc se jedná o Open Source kód. Dá se použít jako pekelně rychlý strom nebo něco jako ListView nebo kombinace obojího a nebo prostě cokoli.Více...

Tagy: , ,

Praxe

Dočasné řešení pro shell extensions v Delphi a Windows 64

vložil Radek Červinka 18. ledna 2010 21:35

Jelikož je Delphi64 stále jen ve vývoji a pro shell extensions pro Windows 64 je třeba 64 bit DLL, je třeba si dočasně pomoci jinak (tedy pokud potřebujete rozšiřovat shell).

Na CodeCentral je k dispozici malý program, který po kompilaci v 64 bit. verzi FreePascalu umožňuje spustit externí program již v Delphi, tj. 32 bit. Jinak jde samozřejmě i zkompilovat v Delphi, ale výsledek bude jen pro 32bit Windows.

originální vlákno na Non-Technical

Mimochodem svoje přání ohledně vývoje delphi lze prezentovat hlasováním na delphi.uservoice.com.

Tagy: ,

Praxe

OOP přístup k souborům v Delphi 2010

vložil Radek Červinka 13. ledna 2010 21:59

Titulek je lehce zavádějící, jelikož Delphi má OOP přístup k souborům odjakživa, ale nyní se jedná ještě o jiný přístup. Raději to ukáži na příkladu.

V jednotce jsou definovány tyto třídy (resp. jsou to spíše nové recordy - jak již víme tak Delphi od D2007 - nebo tak nějak - umožňují definovat u záznamů metody):

  • TDirectory
  • TPath
  • TFile

Tento objektový přístup je podobný jako v .NET.Více...

Tagy: ,

Recenze

Migrace existujících Delphi aplikací na Unicode - PDF

vložil Radek Červinka 11. ledna 2010 22:11

Jelikož se mi stále nechce napsat o problémech s migrací na unicode (je to na dost velký článek), tak aspoň nabídnu další možnost: na blogu caryjensen.blogspot.com je dostupný volně ke stažení mnoha informacemi plný PDF o Delphi a unicode.

Mimochodem již dříve jsem upozornil na Delphi 2009 handbook, no a snad se k tomu někdy prokoušu i já.

Tagy: , ,

Knihy

Memory mapped soubory v Delphi

vložil Radek Červinka 9. ledna 2010 23:49

Delphi umožňuje různé možnosti pro přístup k souborům (TFileStream, BlockRead, Read atd), ale ještě je možné použít vysoce efektivní přístup přes soubory mapované do paměti (Memory mapped files) za pomoci Windows.Více...

Tagy: ,

Návody

Optimalizovaná RTL pro Delphi 7

vložil Radek Červinka 8. ledna 2010 23:58

update: Již i verze pro Delphi 2007

Na webu se objevila neoficiální optimalizovaná verze RTL knihovny z Delphi 7, resp. z licenčních důvodů jen její diff. Autoři tvrdí, že ji používají v kritických projektech a podle popisu a používaných knihoven to vypadá zajímavě. Na zmiňované stránce je přehled změn.

Součástí je např. FastMM, některé části FastCode, části RTL optimalizované a opravené některé chyby ve Windows Vista, takže pokud používáte Delphi 7 tak to asi stojí aspoň za pohled.

Tagy: , ,

Optimalizace

Spoluautor?, návštěvnost burzy

vložil Radek Červinka 7. ledna 2010 01:24

Původní myšlenka portálu byla (tedy kromě toho archívu konference), že zkusím vyplnit informační prázdno, které zde bylo ohledně novinek Delphi a zároveň ukáži, kam se Delphi posunulo po velmi používané verzi 7 a plus zajímavé (spíše odbornější) texty. To samozřejmě platí a baví mne to.

Postupem času se ozvalo pár lidí, že by uvítalo i články pro začátečníky (ale ne zas typu hello world). Jenže já už tak jsem celkem zaneprázdněn a navíc mne takové věci moc neberou. Nenašel by se mezi čtenáři někdo, kdo by rád sem tam přihodil článeček? Klidně mi napište přes kontaktní formulář nebo na radekc zavinac delphi.cz. Dokonce jsem uvažoval, že bych zkusil přesvědčit autora seriálu na zive.cz Václava Kadlece zda by nepovolil publikování aspoň některých dílů (pokud se na něj dokáži dostat)…

Druhá věc je burza. Prakticky každý čtvrtý návštěvník stránky s burzou navštěvuje, ale nikdo se moc nemá k tomu aby dal inzerátek. Přitom si myslím, že lepší možnost pro hledání lidí (a podle reklam se programátoři hledají) asi moc není. No uvidím, třeba se to prolomí.

Poslední věc jsou odezvy serveru. Trošku jsem podcenil zájem, navíc server na kterém delphi.cz momentálně běží vypadá, že je dost zatížen takže v brzké době se bude migrovat na (doufám) lepší hosting. Zatím se tedy omlouvám za někdy opožděné odezvy.

Tagy:

Server

Delphi 2009 - Anonymní metody

vložil Radek Červinka 6. ledna 2010 01:29

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

Tagy: , ,

Jazyk | Recenze

Delphi 2010 a debug vizualizers

vložil Radek Červinka 2. ledna 2010 23:29

S Delphi 2010 přichází i další vylepšení v debuggeru. Už v Delphi 2007 byla třeba přidána podpora breakpointů přes callstack (viz mé poznámky o Delphi 2007) a mnoho dalších rozšíření debuggeru Delphi (např. pojmenování vláken pro debugger), ale dnes něco o debug vizualizerech.Více...

Tagy: , ,

Recenze

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ů