Учебный Проект. Релиз 14: различия между версиями
м (Новая: {{PolylineTemplateRu |goal= Демонстрация расширенных приемов программирования приложений на языке Visual Prolog: |goalConte...) |
(нет различий)
|
Версия 10:02, 12 апреля 2011
Автор: Виктор Юхтенко. Email victor@pdc.spb.su
Очередная версия Учебного проекта, функциональной идеей которого является простая игра.
Цель
Демонстрация расширенных приемов программирования приложений на языке Visual Prolog:
- Демонстрация взаимодействия главного приложения с частями проекта, помещенными в специальный вид DLL (Dynamically Linked Library - динамически связываемые библиотеки) - Pzl-Контейнеры.
- Pzl-Контейнер содержит Pzl-Компоненты. Как Pzl-Контейнеры, так и Pzl-Компоненты удовлетворяют соглашениям Pzl-Технологии (Vp Puzzle Технологии). Подробное описание VpPuZzle технологии приведено в [1]
Функции
Без изменений.
Код
- Проверено на версии Visual Prolog 7.3 build 7302.
- Релиз 14 содержит набор проектов, которые демонстрируют различные фазы преобразования приложения Polyline Релиз 13 в приложение, выполненное на базе Pzl-Технологии:
- Проект MonoApplicaion\Polyline.prj6 показывает как классы преобразованы в pzl-Компоненты.
- Проект MonoApplicaionLib\Polyline.prj6 является повторением проекта MonoApplicaion\Polyline.prj6 с тем отличием, что модуль HumanInterface и модуль Computer3 представлены библиотеками.
- Раздел pzlBasedApplication содержит, в свою очередь, набор проектов - главное приложение Polyline.prj6 и проекты, соответствующие контейнерам ( Ознакомьтесь предварительно с особенностями Вашей версии или в файле VersionReference.html)
- Containers\Competitors\Competitors.prj6
- Containers\PolylineBlackHorsePlayers\PolylineBlackHorsePlayers.prj6 (the source code available in the Professional Version only)
- Containers\PolylineGame\PolylineGame.prj6
- Containers\PolylineGameStatistics\PolylineGameStatistics.prj6
- Containers\PolylineHumanInterface\PolylineHumanInterface.prj6 (the source code available in the Professional Version only)
- Containers\PolylineJuniourJudge\PolylineJuniourJudge.prj6
- Containers\PolylinePublicPlayers\PolylinePublicPlayers.prj6
- Containers\PolylineSeniourJudge\PolylineSeniourJudge.prj6
Установка
Если у Вас имеется VipSpbSDK, то все проекты находятся в директории Examples\Polyline\Polyline14\Programs
Если Вам нужен полный набор проектов серии Polyline (персональная версия), сгрузите и разархивируйте файлы архивов, пользуясь ссылками на форуме PDC ЗДЕСЬ
- VipSpbSDK_PE_73_Examples_Polyline_1_14.zip
- VipSpbSDK_PE_73_Tools_Polyline_1_14.zip]
в удобную для Вас директорию.
Коммерческая версия представлена в виде одного архива и может быть получена Здесь.
Оплата в любой из указанных валют. При оплате с рублевой кредитной карты валюта оплаты конвертируется в рубли по курсу банка-эмитента карты.
Директория с именем VipSpbSDK будет создана автоматически.
Построение
Ознакомьтесь предварительно с особенностями Вашей версии
Откройте и постройте проект Programs\MonoApplicaion\Polyline.prj6, в котором все Pzl-Компоненты помещены в один проект,
Выполните командные файлы
- Programs\BuildComputer3Lib.cmd
- Programs\BuildHumanInterfaceLib.cmd
При необходимости постройте проект Programs\MonoApplicaionLib\Polyline.prj6
Откройте и постройте проекты
- Programs\pzlBasedApplication\Polyline.prj6
- Programs\pzlBasedApplication\Containers\Competitors\Competitors.prj6
- Programs\pzlBasedApplication\Containers\PolylineBlackHorsePlayers\PolylineBlackHorsePlayers.prj6
- Programs\pzlBasedApplication\Containers\PolylineBlackHorsePlayersLib\PolylineBlackHorsePlayers.prj6
- Programs\pzlBasedApplication\Containers\PolylineGame\PolylineGame.prj6
- Programs\pzlBasedApplication\Containers\PolylineGameStatistics\PolylineGameStatistics.prj6
- Programs\pzlBasedApplication\Containers\PolylineHumanInterface\PolylineHumanInterface.prj6
- Programs\pzlBasedApplication\Containers\PolylineHumanInterfaceLib\PolylineHumanInterface.prj6
- Programs\pzlBasedApplication\Containers\PolylineJuniourJudge\PolylineJuniourJudge.prj6
- Programs\pzlBasedApplication\Containers\PolylinePublicPlayers\PolylinePublicPlayers.prj6
- Programs\pzlBasedApplication\Containers\PolylineSeniourJudge\PolylineSeniourJudge.prj6
Запустите на выполнение командный файл Programs\pzlBasedApplication\RegisterComponents.cmd, который зарегистрирует компоненты
Для построения проектов переменная SpbSolutions должна быть установлена как маршрут к директории, где располагается VipSpbSDK.
Комплексное построение проектов
Для упрощения начального построения и выполнения всех необходимых настроек имеется командный файл Build.cmd (BuildPersonal.cmd - в зависимости от версии, детали см. Справка по версиям или в файле Examples\Polyline\VersionReference.html).
Командный файл Build.cmd при его использовании:
- настраивает переменную среды программирования IDE SpbSolutions, применительно к условиям установки;
- "знает", где установлена система Visual Prolog и программа VipBuilder.exe;
- производит построение всех проектов, включая проекты в поддиректориях;
- производит построение всех необходимых библиотек;
- осуществляет регистрацию всех необходимых Pzl-компонент (при их использовании);
- информирует об успешном или неуспешном завершении каждой операции;
- может быть использован только совместно с версией Visual Prolog CE (детали см Справка по версиям или в файле Examples\Polyline\VersionReference.html).
Запуск
- Запускается приложение, соответствующее проекту Programs\MonoApplicaion\Polyline.prj6, в котором все компоненты включены в один исполняемый файл;
- Запускается приложение, соответствующее проекту Programs\pzlBasedApplication\Polyline.prj6, которое взаимодействует с компонентами, помещенными в различные контейнеры и зарегистрированными в файле PzlRegistry.pzr. Файл PzlRegistry.pzr должен находиться в той же директории, где и исполняемый .exe файл.
- Запуск приложения из среды по E или запустить исполняемое приложение из директории EXE.
- Язык приложения определяется помещением в командной строке идентификатора языка:
- ru - русский
- en - английский
- При запуске из среды IDE параметр языка помещается в поле формы "Project Settings"\Run Options\Run Arguments, получаемой из меню Project\Settings...