Difference between revisions of "Pascal Script/ru"
m (Fixed syntax highlighting) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Pascal Script}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 44: | Line 38: | ||
==Журнал изменений== | ==Журнал изменений== | ||
− | * Версия 1.0 21.10.2005 | + | * Версия 1.0 от 21.10.2005 |
* ("Официальная" поддержка FPC, как видно c 21.07.2006) | * ("Официальная" поддержка FPC, как видно c 21.07.2006) | ||
Line 57: | Line 51: | ||
===Установка=== | ===Установка=== | ||
* Создайте папку lazarus\components\pascalscript | * Создайте папку lazarus\components\pascalscript | ||
− | * | + | * Распакуйте файлы в папку |
− | * | + | * Откройте Лазарус |
− | * | + | * Откройте пакет pascalscript.lpk из меню Component/Open package file (.lpk) |
− | * | + | * Нажмите Compile |
− | * | + | * Нажмите Install |
− | === | + | ===Ошибки компиляции=== |
− | + | При компиляции для установки пакета компилятор спотыкается на двух строках в файле uPSR_forms.pas: | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | RegisterMethod(@TAPPLICATION.HELPCOMMAND, 'HELPCOMMAND'); // <-- | + | RegisterMethod(@TAPPLICATION.HELPCOMMAND, 'HELPCOMMAND'); // <-- вот эта |
RegisterMethod(@TAPPLICATION.HELPCONTEXT, 'HELPCONTEXT'); | RegisterMethod(@TAPPLICATION.HELPCONTEXT, 'HELPCONTEXT'); | ||
− | RegisterMethod(@TAPPLICATION.HELPJUMP, 'HELPJUMP'); // <-- | + | RegisterMethod(@TAPPLICATION.HELPJUMP, 'HELPJUMP'); // <-- и еще одна |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Просто закомментируйте строки. Эти методы еще не реализованы в LCL. | |
− | == | + | ==Использование== |
− | + | Бросьте компонент PascalScript на форму и несколько плагинов. (TODO:finish) | |
− | + | Если вы получите сообщение об ошибке "Fatal: Can't find unit uPSCompiler used by ...", откройте пакет pascalscript, а в разделе "Дополнительно"» выберите "добавить в проект". | |
− | + | См. проект с примером. | |
− | + | Также см. это [https://github.com/remobjects/pascalscript/wiki articles] от RemObjects. | |
− | == | + | ==Пример приложения== |
− | + | Пример приложения для интерпретатора небольших консольных приложений: | |
[[Pascal Script Examples|Pascal Script Examples (psce)]] | [[Pascal Script Examples|Pascal Script Examples (psce)]] | ||
− | + | Примеры демок компонентов с графическим интерфейсом Lazarus: | |
[[http://sourceforge.net/projects/maxbox/files/Lazarus/PASCALSCRIPT_LAZARUS.zip/download]] | [[http://sourceforge.net/projects/maxbox/files/Lazarus/PASCALSCRIPT_LAZARUS.zip/download]] | ||
− | == | + | == См. также == |
* [[Pascal Script tab]] | * [[Pascal Script tab]] | ||
− | |||
− |
Latest revision as of 07:33, 23 February 2020
│
Deutsch (de) │
English (en) │
español (es) │
日本語 (ja) │
русский (ru) │
Pascal Script - это Object Pascal/Delphi/Lazarus-совместимый интерпретатор с компилятором байт-кода, который предоставляет среду scripting для прикладных программ.
В настоящее время он работает в Windows и Linux на 32-битном и 64-битном процессорах Intel.
Он был создан и поддерживается Carlo Kok, защищен авторским правом RemObjects software как бесплатное ПО с полным исходным кодом.
Исправление нескольких несовместимостей между ROPS (RemObjects Pascal Script) и FreePascal 2.0.1 было сделано Bogusław Brandys с большой помощью многих разработчиков из IRC-каналов #fpc и # lazarus-ide. Благодарю вас.
Его основными характеристиками являются:
- поддерживается почти весь синтаксис Object Pascal
- Поддерживаются классы Delphi/Lazarus (однако они не могут быть объявлены внутри скрипта)
- может создавать полностью работоспособные GUI-формы с компонентами
- легко импортировать новые классы в скриптовый движок
Загрузка содержит пакет компонентов для Delphi (различные версии) и Lazarus + несколько примеров для Delphi (которые могут работать или не работать под FreePascal+Lazarus) Это незавершенная работа ...
Этот компонент теперь разработан для кросс-платформенных приложений, однако он ограничен только 32-разрядной платформой Intel. Я хотел бы, чтобы он когда-нибудь работал под PowerPC и 64-разрядными архитектурами. (Примечание: Текущая версия, похоже, поддерживает 64-битные машины, согласно RemObjects.)
Скриншоты
Вот несколько скриншотов, как это выглядит под Lazarus:
Лицензия
BSD подобная, см. полный текст.
Загрузка
- От RemObjects (FPC + Lazarus is supported)
- Это главная страница RemObjects Pascal Script distribution. Имеются ссылки для загрузки бинарных пакетов.
- Вы можете получить исходный код из своего репозитория SubVersion по команде
svn co -r HEAD http://code.remobjects.com/svn/pascalscript pascalscript
- Новый репозиторий: https://github.com/remobjects/pascalscript git://github.com/remobjects/pascalscript.git
Журнал изменений
- Версия 1.0 от 21.10.2005
- ("Официальная" поддержка FPC, как видно c 21.07.2006)
Зависимости / Системные требования
- None
- Status: Beta (ToDo: update info)
- Issues: (ToDo: update info)
- Needs testing on Windows.
- Needs testing on Linux.
- Almost working ;-)
Установка
- Создайте папку lazarus\components\pascalscript
- Распакуйте файлы в папку
- Откройте Лазарус
- Откройте пакет pascalscript.lpk из меню Component/Open package file (.lpk)
- Нажмите Compile
- Нажмите Install
Ошибки компиляции
При компиляции для установки пакета компилятор спотыкается на двух строках в файле uPSR_forms.pas:
RegisterMethod(@TAPPLICATION.HELPCOMMAND, 'HELPCOMMAND'); // <-- вот эта
RegisterMethod(@TAPPLICATION.HELPCONTEXT, 'HELPCONTEXT');
RegisterMethod(@TAPPLICATION.HELPJUMP, 'HELPJUMP'); // <-- и еще одна
Просто закомментируйте строки. Эти методы еще не реализованы в LCL.
Использование
Бросьте компонент PascalScript на форму и несколько плагинов. (TODO:finish)
Если вы получите сообщение об ошибке "Fatal: Can't find unit uPSCompiler used by ...", откройте пакет pascalscript, а в разделе "Дополнительно"» выберите "добавить в проект".
См. проект с примером.
Также см. это articles от RemObjects.
Пример приложения
Пример приложения для интерпретатора небольших консольных приложений: Pascal Script Examples (psce)
Примеры демок компонентов с графическим интерфейсом Lazarus: [[1]]