Difference between revisions of "Python4Delphi/ru"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "= Overview = Current home: https://code.google.com/p/python4delphi/ From that page: <blockquote> Python for Delphi (P4D) is a set of free components that wrap up the Python...")
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Overview =
+
{{LanguageBar}}
 +
= Обзор =
  
Current home: https://code.google.com/p/python4delphi/
+
Домашняя страница: https://code.google.com/p/python4delphi/
  
From that page:
+
С этой страницы:
  
 
<blockquote>
 
<blockquote>
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:
+
Питон для Дельфи (Python for Delphi P4D) это набор свободных компонентов, которые заворачивают dll Питона в Дельфи и Лазарус (FPC). Они позволяют легко выполнять скрипты Питона, создавать новые модули Питона и новые типы. Можно создавать расширения Питон в виде dll и многое другое. P4D предлагает разные уровни функциональности:
  
* Low-level access to the python API
+
* Низкоуровневый доступ к API Питона
* High-level bi-directional interaction with Python
+
* Высокоуровневое двунаправленное взаимодействие с Питоном
* Access to Python objects using Delphi custom variants (VarPyth.pas)
+
* Доступ к объектам Питона, используя тип Дельфи Variant (VarPyth.pas)
* Wrapping of Delphi objects for use in python scripts using RTTI (WrapDelphi.pas)
+
* Заворачивание объектов Дельфи для использования в скриптах Питона с помощью 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.
+
P4D упрощает использование Питона в качестве скриптового языка для приложений Дельфи.
 
</blockquote>
 
</blockquote>
  
The [https://code.google.com/p/python4delphi/source/list changelog] indicates development was last active around Nov 2012.
+
[https://code.google.com/p/python4delphi/source/list changelog] датирует последние доработки ноябрём 2012г.
  
[https://github.com/pyscripter/python4delphi/commit/88c06f11e70d471fc5dfd3b1e7e446c09eb5ab9a The commit from 21.1.2018 claims the compatibility with both Lazarus and (hopefully) Delphi Linux]
+
[https://github.com/pyscripter/python4delphi/commit/88c06f11e70d471fc5dfd3b1e7e446c09eb5ab9a Коммит от 21.1.2018 объявляет о совместимости как с Лазарус так и (надеюсь) с Дельфи Линукс.]
 +
 
 +
= Порт для Лазарус =
 +
 
 +
Порт для Лазарус: [[Using Python in Lazarus on Windows/Linux | Использование Питона в Лазарус под Windows/Linux]]
 +
 
 +
= Смотрите ещё =
 +
 
 +
* Старая вики (примерно 2006г.) с множеством примеров на [http://py4d.pbworks.com/w/page/9174525/FrontPage py4d.pbworks.com]
 +
* [https://groups.yahoo.com/neo/groups/pythonfordelphi/info Yahoo group]
 +
* Заметки с [http://www.atug.com/andypatterns/pythonDelphiTalk.htm Python for Delphi talk]
 +
 
 +
= FreeBSD =
 +
 
 +
Я смог заставить работать это на FreeBSD не используя компоненты времени разработки в Лазарус:
 +
 
 +
<syntaxhighlight lang=pascal>
 +
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.
 +
</syntaxhighlight>
 +
 
 +
The output:
 +
<pre>
 +
    evens: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
 +
  powers: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
 +
</pre>
 +
 
 +
Моя персональная рабочая копия (включая обёртку Питона для моей последней библиотеки)  —  https://github.com/tangentstorm/py4d .
 +
 
 +
 
 +
[[Category:Other programming languages]]
 +
[[Category:FreeBSD]]
 +
[[Category:Linux]]
 +
[[Category:Windows]]
 +
[[Category:Python]]

Latest revision as of 13:57, 3 June 2023

English (en) русский (ru)

Обзор

Домашняя страница: https://code.google.com/p/python4delphi/

С этой страницы:

Питон для Дельфи (Python for Delphi — P4D) это набор свободных компонентов, которые заворачивают dll Питона в Дельфи и Лазарус (FPC). Они позволяют легко выполнять скрипты Питона, создавать новые модули Питона и новые типы. Можно создавать расширения Питон в виде dll и многое другое. P4D предлагает разные уровни функциональности:

  • Низкоуровневый доступ к API Питона
  • Высокоуровневое двунаправленное взаимодействие с Питоном
  • Доступ к объектам Питона, используя тип Дельфи Variant (VarPyth.pas)
  • Заворачивание объектов Дельфи для использования в скриптах Питона с помощью RTTI (WrapDelphi.pas)

P4D упрощает использование Питона в качестве скриптового языка для приложений Дельфи.

changelog датирует последние доработки ноябрём 2012г.

Коммит от 21.1.2018 объявляет о совместимости как с Лазарус так и (надеюсь) с Дельфи Линукс.

Порт для Лазарус

Порт для Лазарус: Использование Питона в Лазарус под Windows/Linux

Смотрите ещё

FreeBSD

Я смог заставить работать это на FreeBSD не используя компоненты времени разработки в Лазарус:

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]

Моя персональная рабочая копия (включая обёртку Питона для моей последней библиотеки) — https://github.com/tangentstorm/py4d .