The strength of Delphi combined with Python gives its users the chance to fast track their development processes and deliver excellent applications with ease! This tutorial helps you accomplish that and more. With Python4Delphi (P4D) you can create a simple yet elegant GUI for your python scripts in a few simple steps! P4D is a collection of free components that wrap up the Python DLL into Delphi and C++Builder. This post will demonstrate how we can use Python Lists within the Delphi development environment to save our data and display it in the GUI. For this purpose, our approach will be to create a VCL application and run our script inside of it. The output will be visible as soon as the script is executed.
Prerequisites: As we move forward, it is essential we Download the latest version of Python for your platform. You can find the installation instructions for Python4Delphi at this link. Alternatively, you can follow the easy instructions found in this video Getting started with Python4Delphi.
Python4Delphi Demo1 is a Sample App that shows how a Python Script can be run by entering Python code inside of a Memo. The execution and display of results will be conducted inside a separate Memo. The Demo1 Source is available on GitHub. Now that you have downloaded the repo, open and run project Demo1. You will see a small window titled “Demo of Python” This window will have an upper and a lower Memo. Insert the script into the lower Memo and click the Execute button. The results will be displayed in the upper Memo. Enter your Python script in the lower Memo and click execute. You shall see the results on the upper Memo soon after.
If you’re interested in knowing the implementation details of the Demo1 project, the implementation details of how Delphi manages to run your Python code behind the scenes and which code is executed in order to accomplish that can be found at this link.
The Python Code:
List comprehensions can be a real blessing for developers who like their codes to be short, simple and crisp. Whenever you wish to create a new list based off the values of a pre-existing list, string or tuple, List comprehensions can come in handy to sum up the task into a single line. An alternative to this approach would be the traditional loops method but that takes up too much space and let’s be honest, why wouldn’t we want to avoid that?
In the following code, we will write a Python script that uses a for loop followed by List Comprehensions for the same purpose. We will store the results in two different lists and compare the results we get.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
terms = ["python", "for", "delphi", "vcl", "app"] newlist1 = [] #Using Loops for x in terms: if "o" in x: newlist1.append(x) #Using List Comprehension newlist2 = [x for x in terms if 'o' in x] #Printing out the results print(newlist1) print(newlist2) |
As you can see in the above snippet, using a for loop took 4 lines of code (if you count creating a list as a separate line) whereas the List Comprehension method only required a single line to get the same job done.
Check out some more cool tutorials on Python4Delphi over here.