vložil Radek Červinka
8. října 2014 21:14
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...
vložil Radek Červinka
6. října 2014 00:18
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...
vložil Radek Červinka
13. prosince 2012 00:43
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...
vložil Radek Červinka
25. června 2012 23:40
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...
vložil Radek Červinka
19. dubna 2012 18:40
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...
vložil Radek Červinka
2. dubna 2012 23:39
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é.
Více...
vložil Igor Gottwald
22. března 2012 22:11
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.
vložil Jaro Beneš
20. března 2012 22:58
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...
vložil Radek Červinka
17. ledna 2012 22:04
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...
vložil Radek Červinka
3. ledna 2012 00:40
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...
vložil Radek Červinka
11. května 2011 23:09
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...
vložil Radek Červinka
6. května 2011 00:47
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...
vložil Radek Červinka
13. února 2011 21:26
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:
Více...
vložil Radek Červinka
16. ledna 2011 21:36
Č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...
vložil Radek Červinka
12. prosince 2010 23:30
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...