Delphi

Ultimate Enhanced Native Windows Task Manager Built In Delphi

Developer Michal Mutl with MiTeC has a powerful enhanced task manager utility available which is built in Delphi. The features in this enhanced task manager make it one of the most advanced task managers for Windows that I have seen. There are so many features here it’s incredible. According to the feature list Task Manager Deluxe (TMX) provides real-time observing of: running processes, installed services and drivers, available network adapters, network connections by process, network traffic, disk and I/O utilization, active terminal sessions, autostart entries, cpu usage, frequency and other advanced stats, gpu usage and gpu engines usage, memory map and utilization, system information, opened/locked files finder, machine journal, user account list, monitor layout view, and windows available updates. This is a great example of a native Delphi application and the speed and power that a native application can bring to a solution. It also features both light and dark modes which is a nice touch (and super easy in Delphi)! Website https://www.mitec.cz/tmx.html Screenshot Gallery

Read More

Flexible FireMonkey Material Design Templates Available Via GetIt In Delphi

The Bottom Navigation template is designed to embrace the Material Design user interface and user experience philosophy. It looks great on both iOS and Android and works on Windows for testing. The template has eight different varieties within the application as different forms. Basic – ufrmBasic Shifting – ufrmShifting Light – ufrmLight Dark – ufrmDar Icon – ufrmIcon Primary – ufrmPrimary Map Blue – ufrmMap Light Simple – ufrmLightSimple Most of the forms contain various tabs that you move between as you tap the buttons at the bottom. The tabs content looks mostly alike, so it may not be obvious that you are moving between tabs. Each one of the forms contains different examples of use cases of FireMonkey that you can apply to your projects easily.  With GetIt you can easily search and get the full template: There are a lot of subtle design elements that you may want to replicate in other applications, even if you don’t use these templates completely. To use these templates in your project just copy the unit and form file to your project. You can further customize them and remove the TListView from them as well. Be sure to check out other templates on Embarcadero GetIt!

Read More

Delphi Compiler And LSP Patch for RAD Studio 10.4.1

Embarcadero has just released a new patch for RAD Studio 10.4.1. This includes Delphi compiler improvements and Delphi LSP improvements. The patch is available in GetIt, and the RAD Studio IDE Welcome page should indicate its availability. The patch is also going to be available in the my.embarcadero.com customers download portal. Read on to learn more about this patch and the two GetIt packages to deliver it. Delphi Compiler and Code Completion Patch This patch addresses two issues in the Delphi 10.4.1 compiler: a data layout issue with specific alignments, logged in Quality Portal as RSP-30890 and RSP-30787, and a performance issue when recompiling, logged as RSP-22074, RSP-30714, and RSP-30627. The performance improvement provided in this patch also helps with performance for Code Insight when using the LSP server. The patch comes in two packages. The first includes updated compilers for all platforms available in Delphi and RAD Studio Professional. The second package includes the Linux compiler and it is available only for Enterprise customers. Delphi and RAD Studio Enterprise customers should see and install both packages (the order doesn’t really matter, as they are independent). Each of these GetIt packages is a deferred package, which means you select it but the actual download and installation takes place when you close the RAD Studio IDE, as it replaces files the IDE uses. Just follow the steps, wait for the GetItCmd console app to perform the process, and notice that the files replaced in your RAD Studio installation folders are copied into a special backup directory under the main install location. See screenshot below for one of the steps of the automatic installation process: After the deferred installation, RAD Studio will reboot and the patch will show as installed in the GetIt Package Manager dialog and in the Welcome Page. Enterprise users will have to install both packages to see the Welcome Page notification go away.

Read More

Start Creating Powerful FireMonkey Linux Applications In 1 Hour With This Video Tutorial

Let’s start creating a visually stunning Linux application with Delphi FireMonkey! In this webinar, you can arrange all the needed steps to start creating Linux solutions.  Overview Installation Supported platforms PAServer SDK & Packages Usage UI Elements Samples Database Access FireDAC Migrating from Windows VCL 3rd Party Support Broadway Web Why FMX on Linux? Save money on Windows licenses Kiosk or Point of Sale – Single-purpose computers with locked-down user interfaces Linux offers more security options IoT & Industrial Automation – Add user interfaces for integrated systems Many government systems require Linux support Delphi for Linux History 1999 Kylix: aka Delphi for Linux, introduced 2002 Kylix 3 was the last update to Kylix 2017 Delphi 10.2 Tokyo introduced Delphi fir x86 64bit Linux 2017 Eugene Kryukov of KSDev release FmxLinux 2019 Embarcadero includes FmxLinux with Delphi 10.3.2 Rio Be sure to check out the whole session to learn all the steps to get started your Linux development! Head over and find out more about Delphi and Linux over in the Embarcadero DocWiki!

Read More

Learn About Using Delphi Methods As Python Functions With Python4Delphi Sample App

Earlier we have seen how to add methods in Python Module using Python4Delphi TPythonModule component’s Add Method. However, the Add Method parameter uses a PyCFunction type parameter. In many cases, we may need to define the method which should return Delphi Type. How to do that? This post will provide a way to do that using the TPythonModule component itself. You can also use Python4Delphi with C++Builder. Python4Delphi Demo7 Sample App shows how to create a Module, add a Delphi Method to that module, Import the module in a python script, and access the added routine. You can find the Demo7 source on GitHub. Prerequisites: Download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out this video Getting started with Python4Delphi. Components used in Python4Delphi Demo5 App: TPythonEngine: A collection of relatively low-level routines for communicating with Python, creating Python types in Delphi, etc. It’s a singleton class. TPythonGUIInputOutput: Inherited from TPythonInputOutput (which works as a console for python outputs) Using this component Output property you can associate the Memo component to show the Output. TPythonModule: It’s inherited from TMethodsContainer class allows creating modules by providing a name. You can use routines AddDelphiMethod, AddDelphiMethodWithKW to add a method of TDelphiMethod type. The difference between using AddMethod and AddDelphiMethod is the method parameter type which uses PyCFunction and TDelphiMethod respectively. You can create events using the Events property. TMemo: A multiline text editing control, providing text scrolling. The text in the memo control can be edited as a whole or line by line. Note: This Demo also uses TPythonType component but this post doesn’t cover that. To learn about TPythonType check this post. You can find the Python4Delphi Demo7 sample project from the extracted GitHub repository ..Python4DelphiDemosDemo07.dproj. Open this project in RAD Studio 10.4.1 and run the application. Implementation Details: PythonEngine1 component provides the connection to Python or rather the Python API. This project uses Python3.9 which can be seen in TPythonEngine DllName property. It Is assigned with InitScript which import sys module and prints the Python.Dll version, copyright information to Memo2 using this InitScript. import sys print(“Python Dll: “, sys.version) print(sys.copyright) print() PythonGUIInputOutput1 component provides a conduit for routing input and output between the Graphical User Interface (GUI) and the currentlyexecuting Python script. PythonModule1 with Module name spam is created. During PythonModule1Initialization a method spam_getdouble and spam_getdouble2 is added to the Module. And the definition of the method is included in the same unit file. Logically a python module is created and its methods were created using this PythonModule. Later this can be imported into your python script wherever necessary. procedure TForm1.PythonModule1Initialization(Sender: TObject); begin // In a module initialization, we just need to add our // new methods with Sender as TPythonModule do begin AddDelphiMethod( ‘foo’, spam_foo, ‘foo’ ); AddDelphiMethod( ‘CreatePoint’, spam_CreatePoint, ‘function CreatePoint’+LF+ ‘Args: x, y’+LF+ ‘Result: a new Point object’ ); AddDelphiMethod( ‘getdouble’, spam_getdouble, ‘getdouble’ ); AddDelphiMethod( ‘getdouble2’, spam_getdouble2, ‘getdouble2’ ); end; end; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 procedure TForm1.PythonModule1Initialization(Sender: TObject); begin   // In a module initialization, we just need to add our   // new methods   with Sender as TPythonModule do     begin       AddDelphiMethod( ‘foo’,                        spam_foo,                        ‘foo’ );       AddDelphiMethod( ‘CreatePoint’,                        spam_CreatePoint,                        ‘function CreatePoint’+LF+                        ‘Args: x, y’+LF+                        ‘Result: a new […]

Read More

Quickly Learn How To Optimize Your Delphi Apps With ProDelphi In This CodeRage Replay

ProDelphi measures the runtime of Delphi programs. If a program is too slow, ProDelphi gives the necessary information to optimize it. The principle of source code instrumenting , a sophisticated  correction algorithm and the unique granularity of 1 CPU cycle guarantee to get correct measurement results . Other profilers only have a granularity of 1 ms or less. Source code instrumenting guarantees that always every part of an application is measured . Sampling profilers only give rough or even random measurement results, they can not determine the exact execution time of a procedure (see also profiler types ). To compare the granularity of ProDelphi with any other profiler, a profiler tester is supplied in the download area. Because of the outstanding low measurement overhead even time critical applications can be measured.Integration into the Delphi IDE, a call graph and a handy viewer guarantee a fast optimization process. ProDelphi can measure VCL, CLX and FMX (FireMonkey) applications. The video shows how fast you get the runtimes of all procedures. Head over and find out more information about ProDelphi and download it.

Read More

uniGUI Is A Compelling Web Application Framework For Delphi Based On Sencha Ext JS

FMSoft uniGUI is a web application framework for Delphi. This framework extends the web application development experience to a new dimension. uniGUI enables Delphi developers to create, design, and debug web applications in IDE using a unique set of visual components. This framework is close to the native VCL application development process which is RAD! The uniGUI web applications can be deployed to a server using one of the available deployment options such as Windows Service, Standalone Server, or ISAPI module. More about the uniGUI: It is based on the advanced Sencha Ext JS library. Includes an OEM license for Sencha Ext JS. Including advanced Stress Test Tool Supported many Delphi versions from Turbo Delphi Pro to 10.4 Sydney! Supports all the popular web browsers uniGUI HyperServer technology which is designed to improve availability, stability, and scalability of the web app. It turns into a multi-process multi-threaded model. So in this webinar, you can find out more information about the FMSoft uniGUI web application development framework! Be sure to watch the whole session to grasp real experience in developing web applications with your Delphi skills!

Read More

Powerful Multi-sensor Imaging Tool For Processing And Analyzing Hyperspectral Images Built In Delphi

ImageLab is a native Windows-based multi-sensor imaging tool for processing and analyzing hyperspectral images built in Delphi. It targets research in science and technology where spectrally resolved images are utilized. According to the developer “ImageLab provides multi-sensor support for hyperspectral imaging. This enables researchers to extract information from spectrally resolved images which cannot be obtained otherwise. ImageLab supports a long list of spectroscopic methods (i.e. uvvis, infrared, Raman, energy dispersive xray, THz, mass spectroscopy, and more) and is used in a broad range of applications (e.g. detecting particles in air, scanning tissue for cancer cells, uncovering ultrafine cracks in steel and more). Despite the sheer size of the application (approx. 750,000 lines of Delphi code) this new and unique application has been developed within 5 years from scratch (thanks to RAD Studio and the SDL Component Suite).” Website http://www.imagelab.at/ Screenshot Gallery Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Learn More About Upgrading

Read More

Quickly Learn To Assign Value Between Delphi And Python Using Python4Delphi Sample App

Earlier in the Python4Delphi Demo 3 post, we have learned how to create a Python Delphi Variable using the TPythonDelphiVar component, assign some value to it, and showed the value as a string. You can also use Python4Delphi with C++Builder. This post will see some advanced usage of the TPythonDelphiVar component. You can also use Python4Delphi with C++Builder. Python4Delphi Demo4 Sample App shows how to assign a variable value between Delphi and Python using the TPythonDelphiVar component events. This can be achieved by events that set and gets data as a variant or python object. Internally this component converts a value from Delphi to python and vice versa. You can find the Demo4 source on GitHub. Prerequisites: Download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out this video Getting started with Python4Delphi. Components used in Python4Delphi Demo4 Sample App: TPythonEngine: A collection of relatively low-level routines for communicating with Python, creating Python types in Delphi, etc. It’s a singleton class. TPythonGUIInputOutput: Inherited from TPythonInputOutput (which works as a console for python outputs) Using this component Output property you can associate the Memo component to show the Output. TPythonDelphiVar: Inherited from TEngineClient, used to convert the python variable to the Delphi variable and vice versa. It has methods to set and get value as variant or PyObject. It contains property like Module(TPythonModule internally created by default) where the python variable(TPyVar) is created and later converted to and from the Delphi variant or PyObject. TMemo: A multiline text editing control, providing text scrolling. The text in the memo control can be edited as a whole or line by line. You can find the Python4Delphi Demo4 sample project from the extracted repository ..Python4DelphiDemosDemo04.dproj. Open this project in RAD Studio 10.4.1 and run the application. Implementation Details: PythonEngine1 provides the connection to Python or rather the Python API. This project uses Python3.9 which can be seen in TPythonEngine DllName property. It Is assigned with InitScript which import sys module and prints the Python.Dll version, copyright information to Memo2. import sys print(“Python Dll: “, sys.version) print(sys.copyright) print() PythonGUIInputOutput1 provides a conduit for routing input and output between the Graphical User Interface (GUI) and the currentlyexecuting Python script. PythonDelphiVar1 component is intended for demonstrating how to assign value between Delphi(Edit1.Text)->Python Delphi variable(test.Value) and back from (test.Value) -> Edit1.Text using event PythonDelphiVar1GetData and PythonDelphiVar1SetData respectively. The data is passed as variant type here. procedure TForm1.PythonDelphiVar1GetData(Sender: TObject; var Data: Variant); begin Data := Edit1.Text; end; procedure TForm1.PythonDelphiVar1SetData(Sender: TObject; Data: Variant); begin Edit1.Text := Data; end; procedure TForm1.PythonDelphiVar1GetData(Sender: TObject;   var Data: Variant); begin   Data := Edit1.Text; end; procedure TForm1.PythonDelphiVar1SetData(Sender: TObject; Data: Variant); begin   Edit1.Text := Data; end; PythonDelphiVar2 component is intended for demonstrating how to get and set python objects using PythonDelphiVar2ExtGetData and PythonDelphiVar2ExtSetData events. A python object is created using the python script and assigned to PythonDelphiVar2 value. class C:   def __init__(Self, Arg):     Self.Arg = Arg   def __str__(Self):     return “

Read More

Powerful Native Open Source Hard Disk, Folder and Storage Analyzer Built In Delphi

Xinorbis is a very powerful hard disk, folder and storage analyzer available over on SourceForge. A good portion of it is open source and mainly written in Delphi. Other utilities included with it are written in C++ and C# which shows how easy it is into integrate Delphi and Object Pascal with other languages. According to the website “It uses a sophisticated mix of graphs, tables, and tree displays to give a complete, and unprecedented, picture of the contents of any hard disk, SSD, folder, removable or network drive. In fact, if your PC can see it, Xinorbis can scan it. Xinorbis makes it easy to see the contents, structure, file distribution, and file composition of any attached storage device. It includes fully customizable report generation in ASCII, CSV, HTML and XML.” As you can see it uses a Delphi style to implement a dark theme. Website https://sourceforge.net/projects/xinorbis-and-tools/ Screenshot Gallery

Read More