Delphi.cz

Český portál Delphi

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?

Firemonkey animace 2

Když jsem v roce 2011 popisoval Animace ve FireMonkey tak už tehdy jsem tvrdil, že je tam velký potenciál. Momentálně si trošku hraji s portování jedné svoji starší hry do FireMonkey a tak jsem se díval na jiné hry psané v opičce. A našel jsem Jweled, FMX verzi Bejeweled, které napsal Joaquin Monedero z Embarcadera pro CodeRage 8.

Více...

Datum: 2014-10-08 20:14:00 Tagy: FireMonkey, utrzky

Delphi FireMonkey

Útržky - Trasování alokace a dealokace paměti

Znáte ten pocit, kdy Vás napadne podle Vás skvělá myšlenka, tu začnete implementovat a přijdete na to, že to v praxi nebude úplně přesně fungovat jak si člověk vymyslel, ale je Vám líto to vyhodit, protože jsou v tom určité myšlenky, které se někomu mohou hodit? Tak to je případ dnešního kódu.

Více...

Datum: 2014-10-05 23:18:00 Tagy: utrzky, FastMM

Praxe

Útržky kódu - focus

V současné době je ovládání programu čistě za pomoci klávesnice podceňované. Ale věřte, že existují uživatelé, kteří na tu krysu nebo touchpad (trackpoint) nešáhnou, jak je den dlouhý. Proto není vhodné podceňovat takové aspekty návrhu UI jako je i TabOrder.

Při zobrazení formuláře je vybrán (focus) prvek, který je povolený a má nejmenší TabOrder a povolený TabStop. Programově se dá focus změnit za pomoci volání metody SetFocus, kterou mají následníci TWinControl (což je předchůdce většiny vizuálních komponent).

Více...

Datum: 2012-12-12 23:43:00 Tagy: utrzky

Začátečníci

Výběr adresáře

V programu je bohužel často nutné dovolit, aby si uživatel mohl zvolit adresář (pro mladší čtenáře složku) na disku. Když budu ignorovat fakt, že jakákoliv svoboda volby uživatele zmate, dostáváme se k tomu, jak to jednoduše naprogramovat. Více...

Datum: 2012-06-25 22:40:00 Tagy: VCL, utrzky, praxe

Praxe

Chyba pro dnešní den

Je třeba to zveřejnit jako odstrašující případ (kód je trochu upraven)


const
  ciTabBarInterval = 0;
  ciTabBarDay = 1;
  ciTabBarWeek = 2;
var
  bIsInterval: Boolean;
…

bIsInterval:= not TabBar.SelectedTab.Index in [ciTabBarDay, ciTabBarWeek];

Problém byl, když byl TabBar.SelectedTab.Index = 0. Takto samostatně je to evidentní že? Více...

Datum: 2012-04-19 17:40:00 Tagy: začátečníci, praxe, utrzky

Praxe Začátečníci

Náhodné výkřiky 25

Dnes to bude kousek kódu, pěkné demo pro FireMonkey se zdrojáky, Delphi Easter Egg (když budou ty velikonoce), nějaká komponenta a další efektové.

bizflowmac

Více...

Datum: 2012-04-02 22:39:00 Tagy: vykriky, utrzky, komponenty, FireMonkey

Novinky

ClassHelper pro JSON

A co to vlastně umí (podpora DataSnap)?

TJSONObjectHelper

  • umožní přidávat do TJSONObject páry různých typů
  • implementuje typ TDateTime
  • přistupuje k položkám přes indexované property, jak jsme zvyklí z Delphi

TJSONValueHelper

  • umožní přistupovat k hodnotám jako k typům Boolean, Integer, Double, String, TDateTime apod., provádí konverze

TJSONAncestorHelper

  • umožní provádět porovnání na rovnost včetně celého obsahu tříd a polí JSON

JsonHelpers.zip

Poznámka editora: Mimochodem pěkná ukázka dokumentování kódu.

Více...

Datum: 2012-03-22 21:11:00 Tagy: class helper, utrzky

Podpora

ClassHelper pro TStrings

Jedná se o helper pro TStrings, umožňuje lepší IndexOf() s ohledem na velká-malá písmenka a také i částečné vyhledávání. V nejnovějších Delphi to určitě už je, ale někomu by se to mohlo hodit.

Pozn (editora): berte to jako inspiraci pro použití Class helpers - je to moc užitečná fíčurka

Více...

Datum: 2012-03-20 21:58:00 Tagy: utrzky, class helper

Rozšíření Delphi

Náhodné výkřiky 20

Dnes tu bude pár poznámek ohledně unigui, FireMonkey, nějaký kousek kódu a další efektové. V zahraničí se všichni bohužel hádají ohledně FreeAndNil (čemuž se chci vyhnout), takže zde nic takového nečekejte.

Více...

Datum: 2012-01-17 21:04:00 Tagy: unigui, vykriky, FireMonkey, utrzky, IDE, RTL

Novinky

Stažení souboru za pomocí WinInet

Sem tam potřebuji stáhnout jednoduchý soubor z webu. Většinou to dělám za pomocí Synapse a nějaké procedury z jednotky httpsend. Člověk ale musí navíc dělat opičky kolem zjišťování proxy - buďto z registru (HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings) nebo za pomocí jednotky ze synapse SynaMisc a procedury GetIEProxy.

Ale zdá se mi, že v případě autokonfigurace proxy ani jeden ze způsobů nefunguje. Existuje ještě možnost stažení souboru přes WinInet, což je součást instalace IE (resp. nyní nejen IE) a používá to část IE a tak je velká šance že to projde přes různé filtry (teda doufám).

Více...

Datum: 2012-01-02 23:40:00 Tagy: utrzky, praxe, web

Praxe

Minimální Delphi aplikace

Díky komentáři Jaroslava Beneše minule pod článkem (určitě se podívejte na jeho stránky s Delphi drobnostmi - např. TinyDB) jsem se zahloubal do stránek delphibasics.info což jsou opravdu hardcore Delphi programátorské stránky, kde jsem se inspiroval. Více...

Datum: 2011-05-11 22:09:00 Tagy: delphi, utrzky, RTL, hacky

Aplikace

Hrst zajímavých odkazů

Pár zajímavých odkazů, které na disku už nějakou dobu suším a někomu se mohou hodit. Většina lidí se teď věnuje zatím neveřejným akcím, takže je trochu okurková sezóna. Více...

Datum: 2011-05-05 23:47:00 Tagy: VCL, utrzky, grafika, nastroje, hry,

Delphi

Problém rozlišení obrazovky resp. velikosti písma

Nedávno šel v konferenci problém ohledně různého DPI (nebo velikosti písma) při navrhování programu a za běhu. Sice jsem přispěl řešením, ale jelikož se jedná o jednoduché řešení, je škoda kdyby zapadlo.

Například následující okno:

Originál

Více...

Datum: 2011-02-13 20:26:00 Tagy: VCL, utrzky, praxe

Praxe

Případ FieldByName

Často programátoři v Delphi používají pro přístup k jednotlivým položkám datasetu vyhledávání přes FieldByName. Takový kód je celkem čitelný, ale lehce může sklouznout k velkým časovým ztrátám. Více...

Datum: 2011-01-16 20:36:00 Tagy: utrzky, začátečníci, VCL, hacky

Praxe

Odesílání mailů přes SMPT za pomocí Synapse

Minule jsem ukazoval, jak se dá poslat mail přes nainstalovaný program za pomocí MAPI (a Pepák v komentářích i přímo přes volání API MAPI), dnes ukáži vytvoření mailu za pomocí Synapse a jeho odeslání přes SMTP.

Synapse je knihovna nevizuálních komponent pro síťovou komunikaci na bázi blokujících soketů podporující kromě Delphi i Kylix a FreePascal. Kromě šikovného zapouzdření soketů obsahuje kvalitní podporu pro různé protokoly a další věci (včetně SSL). Její hlavní autor (Lukáš Gebauer) odvedl skvělou práci a osobně je jeho knihovna pro mne jedním z nejlepších open source kódů (spolu s FastMM4, VirtualTreeView atd.) a pravděpodobně i uzavřených. Více...

Datum: 2010-12-12 22:30:00 Tagy: začátečníci, utrzky, synapse

Praxe

Zasílání mailů 1 - MAPI

Někdy je třeba z aplikace umožnit zaslání mailu uživatelem. Nejjednodušší (ale ne vždy použitelný, protože ne každý má instalovaného klienta) způsob je přes MAPI (Mail API). Více...

Datum: 2010-12-07 21:57:00 Tagy: utrzky, začátečníci

Praxe

Útržky kódu 1

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

Datum: 2010-09-08 21:53:00 Tagy: optimalizace, utrzky

Praxe