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?


Delphi DMVC framework - 2

vložil Radek Červinka 21. května 2024 21:31

Doplním starší příspěvek DMVC o jednohubku jako je ukázka jednoduchého předání dat a založení dat. Po přečtení první části doplníme náš REST server o POST, tj. vytvoření záznamu.

type
  [MVCNameCase(ncLowerCase)]
  TTown = class
  private
    FName: string;
    FPostCode: string;
  public
    [MVCSwagJsonSchemaField('name', 'town name', True, False)]
    property Name: string read FName write FName;
    [MVCSwagJsonSchemaField('postcode', 'post code', True, False)]
    property PostCode: string read FPostCode write FPostCode;
  end;

  [MVCPath('/town')]
  [MVCSwagAuthentication(atJsonWebToken)]
  TCtrlTown = class(TMVCController)
  public
    [MVCPath('/($Id)')]
    [MVCHTTPMethod([httpGET])]
{$IFNDEF DEBUG}    [MVCRequiresRole('role1')] {$ENDIF}
    [MVCSwagSummary('Town section', 'Town by Id', 'GetTown')]
    [MVCSwagParam(plPath, 'Id', 'Town id', ptInteger)]
    [MVCSwagParam(plQuery, 'params', 'Params', ptString)]
    [MVCSwagResponses(200, 'Success', TTown)]
    [MVCSwagResponses(401, 'Unauthorized')]
    [MVCSwagResponses(500, 'Internal Server Error')]
    procedure GetTown(const Id: Integer);


{$IFNDEF DEBUG}    [MVCRequiresRole('role1')] {$ENDIF}
    [MVCDoc('create Town and return "201: Created"')]
    [MVCPath('/')]
    [MVCHTTPMethod([httpPOST])]
    [MVCSwagSummary('Town section', 'Item create', 'CreateItem')]
    [MVCSwagParam(plBody, 'town', 'TownObject object', TTown, ptNotDefined, True, '  { "name": "Zlín", "postcode":"76340" }')]
    [MVCSwagResponses(201, 'Success, Data get new created ID')]
    [MVCSwagResponses(405, 'Failed')]
    [MVCSwagResponses(500, 'Internal Server Error')]
    procedure CreateItem();

  end;

Více...

Tagy:

Dočasná amnestie na upgrade ze starších verzí

vložil Radek Červinka 3. května 2024 08:14

Embarcadero na měsíc (do 31.5.2024) uvolňuje možnost upgrade ze starých verzích na aktuální. Od roku 2016 je to celkem unikátní situace. Podrobnosti u našeho zastoupení zde na stránce Amnestie upgrade.

A na podobnou notu: FastReport, který mám fakt rád, připravuje změnu způsobu licencování, kdy tak zamíchal edicemi, že nejen u mé edice (dříve FastReportVCL Pro, tedy se zdrojáky) zvedne ceny. Mělo by to nastat už 1.6. Přihřeju polívčičku a na odkazu nahoře ohledně amnestie je pro FastReport do konce května sleva 5% ještě na staré ceny.

Konec slevového okénka.

Tagy:

ANN: MiTeC System Information Component Suite 15.0.0

vložil Radek Červinka 30. dubna 2024 11:11

Dlouhodobě používáme MiTeC System Information Component Suite, proto když Michal udělá novou major verzi je třeba ho podpořit. Jedná se podle mne o nejlepší komponenty ohledně HW pro Delphi, včetně zdrojů a life time licence.

icon

Podrobněji jsem psal již o MiTeC System Information Component Suite dříve.

Mitec Více...

Tagy:

Aktualizace

Scimark numeric benchmark

vložil Radek Červinka 24. dubna 2024 20:05

Scimark je klasický numerický benchmark a já si tak pro zajímavost jednou za čas pouštím jeho Delphi port variantu, abych si ověřil jak je na tom 32bit Delphi a 64bit v jednotlivých verzích. Nikdy jsem neskrýval, že obecně mám radši 32bit kompilátor.

Předem upozorňuji, že je to jeden a ten samý kód, jen překládaný různými verzemi jak 32bit, tak 64bit. Jedná se o lehce upravený původní Delphi port, moje verze je 64bit kompatibilní a je tady ke stažení scimark.zip (200 kb).

Takže ještě jednou: stejný kód, takže teoretické chyby jsou stejné. A jedná se o numerický benchmark, ne obecný. Berte to prosím jako zajímavost, jak s tím naložíte je na Vás.

Bechmark obsahuje pět "kernelů", tj. testů (podrobnosti na prvním odkazu, ve zkratce):

Fast Fourier Transform (FFT) provede jednorozměrnou dopřednou transformaci 4K komplexních čísel. Toto jádro procvičuje komplexní aritmetiku, promíchávání, nekonstantní odkazy na paměť a trigonometrické funkce.

Jacobi Successive Over-relaxation (SOR) na 100x100 mřížce cvičení typických přístupových vzorů v aplikacích s konečnými diferencemi, například řešení Laplaceovy rovnice ve 2D s Drichletovými okrajovými podmínkami.

Monte Carlo aproximuje hodnotu PI výpočtem integrálu čtvrtkruhu y = sqrt(1 - x^2).

Sparse matrix mutiply používá nestrukturovanou řídkou matici uloženou ve formátu komprimovaných řádků s předepsanou řídkou strukturou.

dense LU matrix factorization vypočítá LU faktorizaci husté matice 100x100 pomocí částečného otáčení. Procvičuje jádra lineární algebry (BLAS) a operace s hustými maticemi.

(pozn. popis algoritmu je přes deepl s minimem oprav) Více...

Tagy:

Delphi 12.1 dostupné

vložil Radek Červinka 5. dubna 2024 10:30

Ode dneška je dostupná první aktualizace D12 (neplést s přechozím patch). Aktualizace je binárně kompatibilní s D12, tj. balíčky komponent a rozšíření zůstavají. Při aktualizaci si nezapomeňte zálohovat Library path pro 64bit a ostatní platformy (stačí otevřít Options a zkopírovat příslušný řádek). Na začátku instalace se Vás to zeptá, zda chcete zachovat instalaci (Do you want remove all … - zvolte No).

Hlavním cílem aktualizace je vylepšení kvality, odstraňování problémů a opravy chyb a jen pár novinek. Ke stažení na my.embarcadero.com

Více...

Tagy:

Aktualizace

Windows API z WinMD

vložil Radek Červinka 16. února 2024 15:31

Jen pro připomenutí co se dá najít v GetIT v Delphi - Delphi header files generované přímo z Windows Metadata (WinMD) informací. Takže se jedná o fakt "fresh" konvertované soubory.

WinMD

Tagy:

Nástroje

Delphi 12 Patch 1 dostupný

vložil Radek Červinka 13. února 2024 11:41

Konečně je dostupný patch 1 pro Delphi 12, měl by být oznámen na welcome page v Delphi (nahoře). Instalace má 160M a je to patch, tj. nedojde k reinstalaci Delphi jako při update. Je to doporučeno všem s D12. Detaily, včetně oprav Patch 1.

Zároveň jsou přesunuty GetIt servery na GetIt AWS.

Pokud nemáte instalovány D12, je dostupný nový instalátor, který obsahuje přímo i patch 1 nová instalace D12. Pokud máte instalován patch, není třeba toto instalovat, vyjma přidávání platforem.

Tagy:

Android 13 a práce se soubory

vložil Radek Červinka 24. ledna 2024 19:30

S příchodem Androidu 11 google zpřísnil přístup k souborům, které nejsou přímo vaše, ale jsou sdílené (třeba na SD kartě atd). Do verze Android 12 to šlo potlačit přes manifest a requestLegacyExternalStorage, ale s příchodem Androidu 13 se situace změnila.

Více...

Tagy:

FireMonkey | Praxe

Blesková sleva

vložil Radek Červinka 29. prosince 2023 11:21

Jen ve zkratce: 35% SLEVA na licence Delphi, C++Builder a RAD Studio 12 Athens Enterprise a Architect a 30% SLEVA na licence Professional. Nabídka končí 31. 12. 2023.

Zde detaily

Tagy:

Unigui po letech

vložil Radek Červinka 17. prosince 2023 14:36

Už to bude 11 let co jsem napsal článek o UniGui. Pořád si myslím, že je to jedna z nejzásadnější komponent pro Delphi. Pro mne třeba za minulý rok asi jedna ze 4 nejpoužívanějších věcí co nejsou součástí Delphi (další jsou FastReport, synapse, VirtualTreeView a DMVC framework).

Kam se tedy tedy unigui posunulo? A co za těch cca 16tis bez DPH za verzi Unigui Pro (schválně bez mobilních verze a řeknu proč) - pozor na webu unigui.com je cena taky bez daně, nově dostanete?

Licence

Aplikace napsaná v Unigui za jednotky hodin zobrazená na iPhone proti MS SQL databázi (upraveno pro účely prezentace).

Více...

Tagy:

Komponenty

Delphi 12 Athens dostupné

vložil Radek Červinka 7. listopadu 2023 20:54

Delphi 12 je dostupné.

Tato verze přináší mnoho novinek, ať už se jedná o změny v IDE, instalaci, RTL nebo knihovnách či samotném jazyku. Seznam úprav a vylepšení (jen veřejné) je impozantní.

Delphi 12

Více...

Tagy:

Novinky v Delphi

Automatické generování jména package dle verze

vložil Radek Červinka 19. října 2023 21:01

Jelikož není žádným tajemstvím, že Delphi 12 snad brzo bude - viz. náznaky beta blogování (taky snad něco brzy napíši pod explicitním povolením od Embarcadera), tak bych rád zdůraznil jednu opomíjenou vlastnost novějších verzí Delphi - je na to IMHO ideální čas.

Jako každý programátor jsem měl problémy s balíčky komponent a novými verzemi, kdy aby nedošlo k problémům se soubory (dependency hell), má vždy balíček pro danou verzi jiný název. Klasicky obsahuje číslo verze, viz. samotné Delphi - např. FireDAC280.bpl, vcl280.bpl atd. Pro mne tak byl vždy největší opruz dodělávat balíčky pro novou verzi, a to v případě kdy to neudělal vývojář.

Naštěstí už několik verzí (podle všeho od D10.4 - viz třeba balíčky VirtualTreeView) je tu řešení: automatické generování suffixu a teď je ideální čas se tím zabývat. Za ten ušetřený čas v budoucnu do stojí.

LIB suffix

Více...

Tagy:

Návody | Praxe

Monitorování stavu resources v aplikaci

vložil Radek Červinka 11. srpna 2023 16:12

Často píšu programy které běží dlouho a tak mne zajímá, zda se tam neděje něco co nechci. V takovém případě si do logu zapisuji stav programu (tedy kromě jiného samozřejmě). Sice existují knihovny, ale pro mé potřeby většinou stačí jednoduchá funkce.

demo resourcestatus

Více...

Tagy:

Praxe

Mimořádná 30% slevová akce na licence Delphi

vložil Radek Červinka 14. července 2023 12:11

Do 26. Července získají všichni zákazníci slevu 30% na libovolnou edici Delphi, C++Builderu, nebo RAD Studia 11.3 Alexandria. shop.codesecure.eu/embarcadero/

Tagy:

Akce

UDP Broadcast nejen pro Android za pomocí System.Net.Socket

vložil Radek Červinka 11. května 2023 20:48

Vždycky jsem UDP psal pomocí Synapse, ale chtěl jsem zkusit něco nového a chtěl jsem to pro Android za pomoci inhouse řešení - i když je Synapse pro Android je dostupná.

Server byl existující synapse UDP server (tady je sample public:howto:udpserver) pro windows, který na zaslaný řetezec <ident> vrátil název počítače, takže jsem během chvilky dostal seznam dostupných stanic i s IP adresou pro připojení z Androidího klienta.

Více...

Tagy: , ,

Praxe

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ů