Difference between revisions of "Python4Delphi"
(categories, layout) |
(Link to Py-for-lazarus, text fixing) |
||
Line 1: | Line 1: | ||
− | + | = Overview = | |
− | Current home | + | |
+ | Current home: https://code.google.com/p/python4delphi/ | ||
From that page: | From that page: | ||
Line 17: | Line 18: | ||
The [https://code.google.com/p/python4delphi/source/list changelog] indicates development was last active around Nov 2012. | The [https://code.google.com/p/python4delphi/source/list changelog] indicates development was last active around Nov 2012. | ||
− | = | + | = Lazarus port = |
− | + | For usage in Lazarus, see [Using Python in Lazarus on Windows/Linux]. | |
− | |||
− | |||
+ | = See also = | ||
− | + | * Old wiki (~2006) with lots of examples at [http://py4d.pbworks.com/w/page/9174525/FrontPage py4d.pbworks.com] | |
− | I was able to get this working on FreeBSD without relying on | + | * [https://groups.yahoo.com/neo/groups/pythonfordelphi/info Yahoo group] |
+ | * Notes from a [http://www.atug.com/andypatterns/pythonDelphiTalk.htm Python for Delphi talk] | ||
+ | |||
+ | = FreeBSD = | ||
+ | I was able to get this working on FreeBSD without relying on Lazarus design-time components: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | |||
− | |||
− | |||
program simplefpcdemo; | program simplefpcdemo; | ||
uses PythonEngine, dynlibs; | uses PythonEngine, dynlibs; | ||
Line 46: | Line 47: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
The output: | The output: | ||
<pre> | <pre> | ||
Line 52: | Line 54: | ||
</pre> | </pre> | ||
− | My personal working copy (including a | + | My personal working copy (including a Python wrapper for my terminal library) is https://github.com/tangentstorm/py4d . |
+ | |||
- tangentstorm | - tangentstorm | ||
[[Category:Other programming languages]] | [[Category:Other programming languages]] | ||
[[Category:Python]] | [[Category:Python]] |
Revision as of 08:46, 2 August 2015
Overview
Current home: https://code.google.com/p/python4delphi/
From that page:
Python for Delphi (P4D) is a set of free components that wrap up the Python dll into Delphi and Lazarus (FPC). They let you easily execute Python scripts, create new Python modules and new Python types. You can create Python extensions as dlls and much more. P4D provides different levels of functionality:
- Low-level access to the python API
- High-level bi-directional interaction with Python
- Access to Python objects using Delphi custom variants (VarPyth.pas)
- Wrapping of Delphi objects for use in python scripts using RTTI (WrapDelphi.pas)
P4D makes it very easy to use python as a scripting language for Delphi applications. It comes with an extensive range of demos and tutorials.
The changelog indicates development was last active around Nov 2012.
Lazarus port
For usage in Lazarus, see [Using Python in Lazarus on Windows/Linux].
See also
- Old wiki (~2006) with lots of examples at py4d.pbworks.com
- Yahoo group
- Notes from a Python for Delphi talk
FreeBSD
I was able to get this working on FreeBSD without relying on Lazarus design-time components:
program simplefpcdemo;
uses PythonEngine, dynlibs;
var eng : TPythonEngine;
begin
eng := TPythonEngine.Create(Nil);
eng.LoadDll;
if eng.IsHandleValid then
begin
WriteLn(' evens: ', eng.EvalStringAsStr('[x*2 for x in range(10)]'));
eng.ExecString('print "powers:", [x**2 for x in range(10)]');
end
else writeln('invalid library handle!', dynlibs.GetLoadErrorStr);
end.
The output:
evens: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] powers: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
My personal working copy (including a Python wrapper for my terminal library) is https://github.com/tangentstorm/py4d .
- tangentstorm