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?


Problém Ranorex a Delphi DLL

vložil Radek Červinka 5. prosince 2018 21:58

Minulý týden jsem narazil na problém kdy testovací oddělení začalo hlásit problémy při běhu programu na kterém spolupracuji pod Ranorexem.

Odbočka: Ranorex nedávno získala IDERA, tj. vlastník Embarcadero. Tím rozšířila své portfolio pro vývoj aplikací o další zářez, kompletní seznam je na ideracorp.com a obsahuje kromě Embarcadero další akvizice z nedávné doby jako Sencha, Whole Tomato, Test Rail atd. přičemž některé produkty jsou nyní přibalovány k vyšším edicím Delphi. Mimochodem když se podíváte na ideracorp.com/news, uvidíte, že všechny akvizice jsou až po získání Delphi - celkem velké investice do rozšíření portfolia a celkem ve svižném tempu.

Ale zpět k našemu problému s Ranorexem.

Více...

Tagy:

Praxe

BCrypt Delphi

vložil Radek Červinka 2. června 2018 23:45

BCrypt je populární algoritmus pro hashování hesel. Mezi jeho výhody patří kvalitní dokumentace, standardizovaný, stejný napříč platformami a jazyky (třeba PHP). Více...

Tagy: ,

Komponenty

Debugger znovu

vložil Radek Červinka 14. listopadu 2017 00:37

Ladění je jako vyšetřování vraždy, kdy je člověk sám vrahem. Některé věci užitečné pro ladění jsem naznačoval dříve, ale možná je vhodné je připomenout.

Jedna z nich je okno Evaluate/modify, kde můžete zadat nejen název proměnné, ale prakticky libovolný řádek kódu Delphi a ten bude spuštěn z kontextu laděného procesu. Tedy např.

Watch

Více...

Tagy: ,

FastReport a dialog

vložil Radek Červinka 3. května 2017 00:09

Mám rád FastReport. Už jsem se mu zde několikrát věnoval, např. jak využít FastScript. Ale až nedávno jsem začal používat ve skriptech dialog.

K čemu je to dobré? Umožňuje mi to flexibilněji reagovat na specifické požadavky uživatelů bez úprav hlavního programu. Lehkou úpravou FastReportu mám zabezpečeno streamování reportů z a do databáze (pořád se držím teze, že na data jsou databáze a kromě ini tam patří v rámci možností vše). To mi umožňuje lehce přidat libovolný report a okamžitě ho uživatel může začít používat. Navíc dialog uložený v reportu rozšíří základní funkcionalitu.

Dialog a FastReport

Více...

Tagy: ,

Praxe

Registration-free COM se souborem manifestu a Delphi

vložil Radek Červinka 18. října 2016 21:58

Nemám moc rád technologii COM, hlavně protože jinak k prakticky samostatnému EXE vygenerovaného Delphi (případně s dalšími DLL v adresáři programu) zavádí závislosti na něčem, co musí být registrované v systému, což je z mého pohledu zásadní problém a moc se to neslučuje s mojí filozofií programů.

Více...

Tagy:

Praxe

HELIOS Orange zespodu, aneb jak se vyvíjí v Asseco Solutions

vložil djenne 11. října 2016 00:08

Zvažuje-li začínající programátor, kde by mohl uplatnit své schopnosti, má zpravidla o pozicích týkajících se větších IS, představu všední, nezajímavé a poklidné práce. Velmi často je však tato představa mylná a situace nezřídka připomíná vojenské operace, ať už z hlediska strategického, taktického nebo operačního. Kdo někdy řešil scénář „V pátek úředník vydá vyhlášku a v pondělí podle ní musí uživatelé odevzdat hlášení.“ ví, co mám na mysli.

Omlouvám se tedy všem pacifistům, ale marná sláva, armáda má v organizaci, použití různých zkratek, kódů a hlášeních letitou tradici a občas není špatné se u ní inspirovat. Snad vám tedy strohý vojenský výčet faktů poskytne přehledně základní informace:

Jednotka:

Vývoj informačního podnikového systému HELIOS Orange

Zařazení:

Asseco Solutions a.s

Historie:

Jednotka se může opřít o bohaté bojové zkušenosti. Déle sloužící veteráni jsou u jednotky i více než 20 let.

Úkoly:

Poskytovat krytí pro operace více než 6000 zákazníků v oblasti 4 500 000+ řádků zdrojového kódu a více než 1000 dialogových oken. Provádět průzkumnou činnost na území legislativní džungle.

Reagovat na změny taktické situace ve všech zájmových oblastech.

Udržovat vysokou úroveň připravenosti na všechno. Více...

Tagy: ,

FireMonkey | Firmy

FastScript

vložil Radek Červinka 5. května 2016 23:44

Pokud jste šťastným uživatelem FastReportu, možná ani nevíte, že FastReport obsahuje i FastScript a že se dá použít nezávisle bez generování reportů. Co je to FastScript? Je to knihovna pro provádění skriptů v různých jazycích (Pascal, JS, C++, VB). Skripty mohou být celé programy, ale i obyčejný výraz. FastScript vám dává do ruky opravdu mocný nástroj.

Více...

Tagy: , ,

Komponenty

Automatické vypnutí Active u následníka TDataset během nahrávání formuláře

vložil Radek Červinka 21. února 2016 22:10

Pokud používáte vkládání DB komponent přímo na formulář (třeba do DataModule), občas se může stát, že zapomenete nastaveno TDataSetxx.Active := True, což může velmi zpomalit start programu a mít další vedlejší efekty.

Když přejdu to, že si myslím, že je lepší vytvářet Db komponenty až za běhu (nebo aspoň mít vlastního následníka, v kterém úpravu provedeme) a ne v design modu, existuje možnost jak to vyřešit.

Více...

Tagy: ,

Praxe

FireDac TFDMemTable

vložil Radek Červinka 25. listopadu 2015 01:04

Trošku méně známou součástí FireDAC je TFDMemTable alias memory table. TFDMemTable můžete používat jako jednoduchý dataset s čtením a zápisem do JSON, XML nebo binárních dat, nebo jako lokální dataset pro DBMS nebo navíc použít CachedUpdates, případně za pomocí LocalSQL provádět SQL příkazy nad skupinou TFDMemTables.

Více...

Tagy: ,

Komponenty

Pár utržků kódu k XE8

vložil Radek Červinka 9. dubna 2015 22:29

Integrovaný HTTP(s) klient

Podle mne těžce inspirovaný .NET, https bez OpenSSL.

implementation
uses
  System.Net.httpclient,System.Net.URLClient;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);
var
  o: THTTPClient;
  response: IHTTPResponse;
  r: TNameValuePair;
begin
  o := THTTPClient.Create;
  try
    response:=o.Get('https://www.google.com/');
    for r in response.Headers do
      memo1.Lines.Add(r.Name + '='+r.Value);
    Memo1.Lines.Add(response.ContentAsString);
  finally
    o.Free;
  end;
end;

No synapse to není, ale je to integrované v RTL a něco to umí. Více snad později.

Více...

Tagy: ,

Novinky v Delphi | Praxe

Jak jsem modernizoval UI a UX

vložil Radek Červinka 22. března 2015 22:16

Posledních pár měsíců jsem s přestávkami pracoval na modernizaci UI a UX našeho programu. Cílem bylo popotáhnout vzhled UI aplikace (doufám) do současnosti a z hlediska UX odstranit několik historických nešvarů jako např. většinu modálních dialogů.

Zkusím naznačit některé věci, které jsem použil a doufám, že to někomu pomůže, nebo aspoň pobaví. CRMPLUS 5 Více...

Tagy: , , ,

Praxe

Náhodné výkřiky 48

vložil Radek Červinka 9. března 2015 22:29

Dneska to budou spíše takové triky.

Zmenšení velikosti zálohy instalačních souborů

Instalátor Delphi je napsán v Install Aware, který bohužel ještě z různých důvodů (asi politických) spolupracuje s Microsoftim MSI. Nejen, že MSI je totální neefektivní (např. při reinstalaci otevírá prý každý soubor 4x - proto taky Delphi dělají unistall a nový install), ale ještě se ukládají informace pro reinstalaci do c:\ProgramData (to jde nějak změnit parametrem).

Komprese 1

Problémem je, že v době SSD disků a VMWare jsou disky C malé a takové XE7 tak napráská 10GB dat, které se už moc nepoužijí. Bohužel do doby než se vykopne MSI s tím moc neuděláme.

Více...

Tagy: ,

Praxe

Externí výjimka c0000005 při spouštění programu přes vzdálenou plochu

vložil Radek Červinka 4. listopadu 2014 23:01

Nedávno jsem řešil problém. U jednoho zákazníka, který spouští naše CRMplus přes vzdálenou plochu na (myslím) Windows Serveru 2008 se v určitém případě objevovala zvláštní výjimka.

RPC c0000005

Zajímavé bylo, že to obešlo můj exception handler, takže mi bylo jasné, že to není úplně normální situace.

Více...

Tagy:

Praxe

Zvětšení dostupné paměti 32bit programů v Delphi

vložil Radek Červinka 19. září 2014 23:09

Jednoho krásného dne Váš program zjistí, že trpí nedostatkem paměti. Přirozeným krokem je přechod na 64bit aplikace, ale existuje i jiná možnost. U EXE (resp. PE souboru) se dá specifikovat flag IMAGE_FILE_LARGE_ADDRESS_AWARE. Tento flag byl původně určen pro speciální mód 32bit Windows, kdy místo normálních cca 2GB paměti pro 32bit proces nabízel celých úžasných 3GB volné paměti. Praktická využitelnost tedy nic moc, protože tento mód Windows se moc nepoužíval.

Situace se obrátila s příchodem 64bit Windows (jen aby nedošlo k nedorozumnění - dávejte pozor kdy mluvím o 32bit procesu, kdy o 32bit Windows a kdy o 64bit Windows).

Více...

Tagy: , , , ,

Praxe

Beyond Compare Lite

vložil Radek Červinka 24. července 2014 00:15

Od verze XE je součástí instalace Beyond Compare Lite, najdete ho v adresáři Delphi/bin/BCompareLite.exe . Pokud ho ještě neznáte - dejte mu šanci. Plnou verzi znám jen z doslechu (slučování ze tří zdrojů, synchronizace adresářů…), ale i v lite verzi je pro mne významné plus např. to, že program umí rozeznávat důležité změny (tj. rozdíl mezi změnou v poznámce, příkazu nebo např. v řetězci).

Beyond Compare Lite

Více...

Tagy:

Nástroje

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ů