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?
Od Delphi 10.4 je součástí VCL možnost jednoduše implementovat svůj titulek okna s vlastními prvky tak jak to má Chrome, Delphi IDE nebo jiné aplikace.
Datum: 2020-09-27 14:58:00 Tagy: VCL
Pokračujeme v seznamu zajímavých komponent balíkem TECNativeMap. Nejedná se o žádný další wrapper nad prohlížečem k zobrazování map, ale plnohodný nativní zobrazovač map k různým datovým podkladům psaný celý v Delphi na bázi jak VCL tak FMX takže kompletně bez závislosti na nějakém prohlížeči.
Co ho odlišuje od nějakého obyčejného zobrazovače map? Jednak široká podpora mapových podkladů, dále si do něho můžete šáhnout a hlavně může být celý v módu OFFLINE a co byl můj případ, můžete mu v módu OwnerDraw šoupat svoje podklady (Tile) které nejsou veřejné např. z DB, nebo v mém případě číst z proprietárního formátu s neveřejnými daty.
A to celé bez nutnosti připojení k internetu nebo naopak pro online data to automaticky transparentně stahuje.
Zároveň komponenta umožňuje volitelně vytvářet na disku cache stažených obrázků, takže se příště nic nemusí stahovat. Všechno je to svižné a máte to pod kontrolou.
Datum: 2020-06-14 17:27:00 Tagy: Firemonkey, VCL, komponenty
Na fóru Karel Horký sdílel pěkný tip řešící občasný problém s mizením modálního okna za hlavní formulář (např. při různých přepínání - nemyslím TForm.PopupMode) často ve Windows 10.
procedure DisableProcessWindowsGhosting;
var
DisableProcessWindowsGhostingProc: procedure;
begin
DisableProcessWindowsGhostingProc := GetProcAddress(
GetModuleHandle('user32.dll'),
'DisableProcessWindowsGhosting');
if Assigned(DisableProcessWindowsGhostingProc) then begin
DisableProcessWindowsGhostingProc;
end;
end;
Karel Horký k tomu píše: Volá se to z Create hlavního okna aplikace.
Celé vlákno: forum.delphi.cz/index.php/topic,16907.msg107189.html#msg107189
Více...Datum: 2020-03-01 21:34:00 Tagy: VCL
Nedávno jsem narazil na prima háček jak udělat v určitých případech víceřádkové ListView položky bez vlastního kreslení.
Ač zastánce VirtualTreeView, sem tam se hodí ListView v report módu a víceřádkový text s fixní výškou.
Datum: 2018-04-01 23:19:00 Tagy: VCL
V druhém update Tokyo jsou mimo jiné přidány čtyři nové VCL komponenty.
První dvě jsou nové komponenty na zadávání data nebo času ve stylu Windows 10 s tím, že fungují i na Windows 7.
Datum: 2017-12-28 23:44:00 Tagy: VCL
Jelikož jsou Konopka Signature VCL Controls bonusem pro uživatele Delphi (a mají být součástí Delphi i v budoucnu), zajímalo mne co je za komponenty.
Ray Konopka (tj. člověk za firmou Raize) je od prvních Delphi specialistou na psaní komponent a jeho kniha Developing Custom Components je podle mne spolu s Delphi Component Design elementární knihou pro vývoj komponent. Takže jsem byl opravdu zvědav na výsledek i vzhledem k tomu jakou skvělou pověst komponenty mají.
Datum: 2016-09-15 22:19:00 Tagy: VCL, komponenty
Nenápadnou, ale velmi zajímavou VCL komponentou přidanou v Delphi Seattle je TRelativePanel.
Tento panel umožňuje všem komponentám na něm umístěným specifikovat relativní polohu vůči panelu nebo vůči jiným komponentám, což je něco co ve VCL chybělo (pokud nepočítám Margins). Jakákoliv přidaná komponenta na tento panel dostane řadu property, které tak mohou specifikovat polohu vůči jiným objektům.
Datum: 2016-06-13 21:39:00 Tagy: VCL, komponenty
V Delphi 10 byla rozšířena VCL o několik zajímavých komponent. Nejzajímavější je možná TSplitView (FMX má podobnou komponentu pod názvem MultiView a tu jsem už popisoval). Ale toto je pro VCL.
Datum: 2015-09-17 23:08:00 Tagy: VCL, DX
Ještě než se budu věnovat XE7, které snad brzo dorazí, je tu další hrst odkazů a tipů.
Na základě příspěvku Komponenta TTaskBar pro VCL jsem zkusil vytvořit jednoduché řízení za použití funkčnosti starší unity uWin7Taskbar.pas, pocházející z projektu LameXP (není nejnovější a po neunicode verze Delphi bude asi potřeba ověřit správnost všech GUID, pro unicode verze od Delphi 2010 a výš používá interface dodávané Embarcaderem v jednotce ShlObj).
Protože program může být spuštěn na jakémkoliv OS Windows, pokud nemá explicitně určeno, pro jaké verze OS smí být spuštěn.
Zkusil jsem vytvořit jednoduchý mostík (rozumějme jednotku), aby aplikace fungovala jak na Windows Vista (nebo i XP), tak bez úprav zároveň i na Windows 7 a vyšších. Více...
Datum: 2014-05-08 00:22:00 Tagy: VCL, komponenty
Pokud máte Windows 7 nebo vyšší můžete využít novou komponentu pro VCL, která zapouzdřuje relativně nové API pro práci s taskbarem Windows.
Jak to může vypadat za běhu (program má nastaven v tomto případě černý skin):
Všimněte si prosím jednak tlačítek v náhledu, druhak overlay ikony (srdce v taskbaru nad ikonou Delphi), třeťak progress baru pod ikonou (červená barva, jelikož je ve stavu Paused).
Delphi má velmi zajímavého nového člověka pro komunikaci s vývojáři, TFireMonkeyContainer, TDBF pro XE4, rychlý Android emulátor, LLVM pascal a tak vůbec. Je tu další díl mého občasníku. Více...
Datum: 2013-07-30 00:19:00 Tagy: vykriky, FireMonkey, VCL, Android
Laskavý čtenář jistě ví, že od XE2 Delphi i pro VCL aplikace podporuje styly. Někteří uživatelé požadují větší kontrolu nad tím, co bude stylováno a proto v XE3 většina prvků dostává možnost volby, které části komponenty se budou stylovat.
Možnosti stylů v XE3(4) - StringGrid
Na ukázce je aplikován styl Carbon, přičemž pro dolní čtyři prvky typu TStringGrid jsou různě aplikována pravidla co se bude stylovat - levý horní je ekvivalent z XE2.
Příběhů z praxe není nikdy dost. Narazil jsem na problém, že v některých případech kdy zobrazuji modální dialog z modálního dialogu a ještě do toho připletu jiný styl okna (WS_POPUP), někdy nastane problém, že Windows ztrácí informaci o pořadí modálních oken.
Datum: 2013-04-26 23:55:00 Tagy: VCL
S překvapením pozoruji jak je přehlížena komponenta TListView. Přijde mi, že v některých případech by někomu usnadnila práci.
Datum: 2013-01-17 21:33:00 Tagy: komponenty, VCL
Na fóru je pěkné pojednání o použití TWebBrowser.Document a mám svolení ho zde publikovat.
Na počátku všeho je reference interface (což je něco jako instance objektu akorát pro interface), pro tento případ v Delphi známý jako TWebBrowser.Document, v podání Microsoftu document DOM objekt. Tento interface pak podporuje spoustu věcí, ale jenom podle toho jakou verzí Internet Exploreru (resp. Windows) uživatel má.
Každá verze interface pak přináší nějaké rozšíření stávající funkcionality. Z hlediska samotné implementace se pak jedná stále o jednu a tutéž činnost (protože MSHTML interfacy vycházejí ze stále stejného základního IDispatch a dědičnost jako taková mezi nimi neexistuje). Tou činností je dotazování, zda daná reference podporuje požadovaný interface (v tomto případě zda TWebBrowser.Document podporuje např. IHTMLDocument3 interface). Více...
Datum: 2012-11-30 00:01:00 Tagy: VCL
RAD Studio XE3 přidává novou vlastnost nazvanou Visual LiveBindings. Podle mne se jedná o nejzásadnější rozšíření od dob Delphi 1. I proto je to těžké vysvětlovat, protože se jedná o úplně novou oblast a musím od základů, navíc mnohem hůře se to popisuje než používá. Použití je jak pro VCL, tak pro FMX.
Datum: 2012-11-22 22:41:00 Tagy: XE3, LiveBinding, VCL, FireMonkey
Jak jsem již psal, XE3 obsahují podporu pro vytváření jakoby Modern UI (dříve Metro) aplikací. V Embarcaderu to nazývají Metropolis aplikace. Tyto aplikace mají charakteristické vlastnosti zmiňovaných aplikací, tj. grafický styl, Segoe UI fonty, běh ve full screen módu, podporu gest včetně FatFinger ovládání, zobrazovatelný aplikační toolbar (dole) a volitelnou podporu pro Live Tile (není to podle všeho úplně jednoduché).
Ve FireMonkey i zvláštní podporu pro speciální editační pole z Windows 8 a lepší vzhled.
Prosím vezměte na vědomí, že tento styl je Microsofština a prosazuje ho za každou cenu, viz. např. Visual Studio 2012 (jednobarevné slité ikony atd). Embarcadero se jen snaží nabídnout možnost, takže nemá moc cenu zde brečet.
Datum: 2012-09-20 00:38:00 Tagy: XE3, Windows8, VCL, FireMonkey
Opět se mi nastřádalo pár odkazů. Takže dnes to bude obsluha http na low level úrovni, něco z minulosti Delphi, komponenta pro FireMonkey a další efektové.
Datum: 2012-07-02 16:49:00 Tagy: vykriky, JSON, embarcadero, delphi64, VCL, fix, ORM
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...
Mějme klasický kód, tj. vytvoříme dynamicky za běhu formulář a modálně ho zobrazíme.
procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(Application) do
begin
try
ShowModal;
finally
Free;
end;
end;
end;
Nepovažuji se za nejostřejší nůž v šuplíku a tudíž se možná pletu, ale je zde malé ale. Více...
Měl jsem v šuplíku několik krátkých textů (částečně to bylo pro cvičení z OOP) a přišlo mi škoda je tam nechat. Třeba to některého začátečníka něčemu naučí. Vhodně to doplňuje můj dřívější delší článek Object Pascal pro začátečníky, který je určen pro "znalejší" začátečníky.
Datum: 2012-02-09 23:46:00 Tagy: začátečníci, VCL, delphi
Dnes to bude o různých komponentách, FireMonkey, hrách, překvapení od Allena Bauera a TForm. Více...
Datum: 2011-12-20 22:45:00 Tagy: vykriky, VCL, FireMonkey, komponenty
Poněkud zavádějící nadpis, ale jedná se o případ, kdy potřebujeme mít asociaci mezi položkou menu (nebo něčím podobným) a nějakou datovou strukturou.
Poslední dobou jsem potřeboval vytvářet dynamicky položky menu a zároveň k nim mít vazbu na nějakou datovou strukturu. Za začátku jsem to řešil jako odkaz přes Tag někam, případně v Tag jsem měl přímo objekt, ale to byl problém s uvolňováním a tak mne napadlo jiné řešení (předpokládám, že mi v komentářích všichni napíší že je to stará známá věc - ale mne to prostě předtím nenapadlo).
Datum: 2011-12-14 20:32:00 Tagy: praxe, VCL, začátečníci
Pokud použijete VCL styly z Delphi XE2 a TRibbon control (resp. to asi souvisí s Glass window na Vista+) zjistíte několik problémů ohledně kreslení. Naštěstí existuje možnost jak upravit kreslení libovolného prvku a tak jsem tuto možnost využil a sprostě jsem kreslení obešel.
Windows Vista přinášejí podporu Glass efektu. A Delphi VCL toto podporuje od verze 2007. Více...
Datum: 2011-11-13 22:50:00 Tagy: Delphi 2007, windows, Vista, VCL
Lze zobrazit FMX formulář z VCL aplikace (prostě do VCL projektu přidáte FMX formulář a zobrazíte ho). Problém je, že proto abyste mohli vytvořit FMX formulář z VCL aplikace musíte oblafnout IDE buďto přepsáním typu projektu v dproj nebo z druhé instance IDE dáte uložit nový formulář z jiného FMX projektu.
Datum: 2011-10-19 21:36:00 Tagy: DelphiXE2, FireMonkey, VCL
Igor Gottwald mi poslal popis řešení problému ohledně chyby knihovny Dialogs/Vcl.Dialogs při používání MDI.
Jedná se o problém, kdy vývojář do okna MDIChild umístí více editačních prvků a v některém z nich, při jeho opuštění (OnExit) zobrazí uživateli standardní hlášení (ShowMessage, MessageDlg nebo TaskMessageDlg).
Popis novinek v XE2 začneme něčím atraktivním. Styly.
Jednou z hlavních změn ve VCL (tedy kromě toho, že je i pro 64bitů) je podpora stylů. Hned na začátek je nutno poznamenat, že styly VCL a FireMonkey nejsou kompatibilní (u druhého je všechno vektorové).
Součástí instalace je i samostatný designer a tester stylů na uživatelské úrovni, takže je možno styly vytvářet i neprogramátory.
I tak klasická komponenta jako je TButton se dá vylepšit. V novějších Delphi (nevím zda i v D2009, ale v D2010 ano) se TButton dočkal rozšíření.
Datum: 2011-07-10 23:48:00 Tagy: VCL