Delphi

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

Easily Create Python Delphi Variables In Delphi Using Python4Delphi Sample App

As we know, a Variable stores a value so that you can reuse it later in your program. This reduces redundancy, improves performance, and makes your code more readable. What is Python Delphi Variable? This post will guide you to understand. You can also use Python4Delphi with C++Builder. Python4Delphi Demo3 Sample App shows how to create a Python Delphi Variable in Delphi using the TPythonDelphiVar component(convert the python variable to the Delphi variable and vice versa), shows the variable type and the value assigned to it, reassign different type value to the same variable, show the variable content in a message. You can find the Demo3 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. Check Demo1 and Demo2 which covers how to run a python script and evaluate an expression in Delphi. Components used in Python4Delphi Demo3 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. 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 Demo3 sample project from the extracted GitHub repository ..Python4DelphiDemosDemo03.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 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. In Python, variables need not be declared or defined in advance, as is the case in Delphi. To create a variable, you just assign it a value and then start using it. A variable may be assigned a value of one type and then later re-assigned a value of a different type. PythonDelphiVar1 created with the name ‘test’. This variable is used in the Memo1 default python script, which is assigned with the value 10, and print the value to the Memo2. Later the same variable is reassigned with value [1,2,3] and print the value. The script used is as follows, test.Value = 10 print(test, test.Value) test.Value = [1,2,3] print(test)Here the variable is created for Module ‘__main__’. Memo1 used for providing the Python Script and Memo2 for showing the output. Buttons to perform the execution, load script from, save the script to a file, show variable content to a message. On Clicking Execute Button the python script is executed using the below code. PythonEngine1.ExecStrings( Memo1.Lines ); PythonEngine1.ExecStrings( Memo1.Lines ); Load the custom script to the Memo1 from a […]

Read More

Easy-to-use Orbit Simulator Built In Delphi FireMonkey For Learning Gravitational Physics

Developer Tore Ottinsen had this to say about his app Orbit Xplorer “I am a retired high school physics teacher and a hobby Delphi programmer. This is my latest physics app, written in FMX for Windows. Hoping to do a Mac version soon.” It’s a good example of how accessible Delphi is as an IDE and Object Pascal as a programming language. According to the website “Orbit Xplorer is an easy-to-use orbit simulator suitable for high school, college and university students and teachers, or anyone with an interest in physics and astronomy. For the first time you can do “lab exercises” in gravitational physics! If you are solving problems involving orbits of satellites, planets or stars it will be exciting to simulate the problem in Orbit Xplorer and compare its numerical output with your own solutions.” Orbit Xplorer makes use of FireMonkey and a good number of FireMonkey styles. Website https://www.ottisoft.com/orbit_x.html Screenshot Gallery Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More

Quickly Build iOS And Android Apps From A Single Codebase With Delphi

Building mobile phone applications is swift and enjoyable with RAD Studio. Because when you start your FireMonkey project with Delphi or C++ Builder, you do not need to create several codebases for every platform. What you can do is just define platform based code with the IfDef Conditionals. Learn more about them in the DocWiki. In this one hour session, you can learn how to create iOS and Android applications with Delphi FireMonkey. Overview Cross-Platform Native Apps FireMonkey 3D Graphics Architecture Multi-Device Form Designer Several Demo Application in Action Development Speed – Prototyping Effects and Animations 3D Forms with FireMonkey Be sure to check out the whole session and learn about Delphi FireMonkey Multi-Device Mobile Development.

Read More