Pzl-Компонента за 10 шагов: различия между версиями

Материал из wikiru.visual-prolog.com

 
(не показано 16 промежуточных версий этого же участника)
Строка 1: Строка 1:
Покажем, как проходит процесс построения Pzl-Контейнера и Pzl-Компоненты.
'''Основные понятия Pzl-Технологии'''
 
Классы, и пакеты, в которые они помещаются, удовлетворяющие принятым соглашениям, называются Pzl-компонентами.
 
Pzl-Компоненты помещаются в Pzl-Контейнеры. Pzl-Контейнер может содержать неограниченное число Pzl-Компонент.
 
Взамодействие обычных классов системы Visual Prolog и PZl-компонент, а также Pzl-компонент между собой, обеспечивается Pzl-Системой.
 
Главное приложение пользователя, включающее ядро Pzl-Системы, называется Pzl-Порт (PzlPort).
 
DLL, построенная в соответствии с принятыми соглашениями, называется DLL-контейнером.
 
Dll-Контейнер и Pzl-Порт являются Pzl-Контейнерами.
 
=Шаг 1. Первый запуск Elementary PzlStudio=
=Шаг 1. Первый запуск Elementary PzlStudio=
Если у Вас нет PzlStudio в меню Start/... компьютера, то найдите директорию SpbSolutions/Bin и запустите приложение PzlStudioElementary.exe.
Если у Вас нет PzlStudio в меню '''Start/...''' компьютера, то найдите директорию '''SpbSolutions/Bin''' и запустите приложение PzlStudioElementary.exe.


Вы получаете  
Вы получаете  
Строка 8: Строка 21:


Проверьте состояние Ваших установок и при необходимости откорректируйте их.
Проверьте состояние Ваших установок и при необходимости откорректируйте их.
Для этого вызовите через Tools/Options форму установки общих свойств:
Для этого вызовите через '''Tools/Options''' форму установки общих свойств:


[[Image:PzlStudio OptionsDLG.png]]
[[Image:PzlStudio OptionsDLG.png]]
Строка 15: Строка 28:


=Шаг 2. Создаем контейнер MyHelloWorld=
=Шаг 2. Создаем контейнер MyHelloWorld=
Через меню '''File/New.../Container''' вызываем форму и устанавливаем имя контейнера ''MyDemoContainer''.
В Elementary PzlStudio через меню '''File/New.../Container''' вызываем форму и устанавливаем:
*имя директории контейнера ''MyDemoContainer''.
*имя контейнера ''MyDemoContainer''.
 
[[Image:PzlStudio DemoRun ContainerCreate.png]]
[[Image:PzlStudio DemoRun ContainerCreate.png]]


Строка 21: Строка 37:


Нажимаем '''Close''', закрываем форму.
Нажимаем '''Close''', закрываем форму.
=Шаг 3. Компилируем контейнер=
=Шаг 3. Компилируем контейнер=
Открываем IDE системы программирования Visual Prolog.
Открываем IDE системы программирования Visual Prolog.
Строка 33: Строка 50:


=Шаг 4. Создаем компоненту=
=Шаг 4. Создаем компоненту=
Через меню '''File/New.../Component''' вызываем форму и устанавливаем:
В Elementary PzlStudio через меню '''File/New.../Component''' вызываем форму и устанавливаем:
*Имя директории компоненты ''MyHelloWorld''
*Имя директории компоненты ''MyHelloWorld''
*Имя компоненты ''MyHelloWorld''.
*Имя компоненты ''MyHelloWorld''.
Строка 60: Строка 77:
[[Image:PzlStudio Demo ComponentAddedProject.png]]
[[Image:PzlStudio Demo ComponentAddedProject.png]]


Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся '''Yes to All''' на предложение IDE по добавлению пакетов в проект.
Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся '''Add All''' на предложение IDE по добавлению пакетов в проект.


[[Image:PzlStudio DemoRun ContainerAddGuiDialog.png]]
[[Image:PzlStudio DemoRun ContainerAddGuiDialog.png]]
Строка 71: Строка 88:


=Шаг 7. Регистрируем компоненту=
=Шаг 7. Регистрируем компоненту=
Через меню '''Tools/Register Components''' вызываем форму и устанавливаем:
В E'ementary PzlStudio через меню '''Tools/Register Components''' вызываем форму и устанавливаем:
*Имя PZL-файла контейнера ''MyDemoContainer.PZL (...)'' - находим в целевой директории проекта
*Имя PZL-файла контейнера ''MyDemoContainer.PZL (...)'' - находим в целевой директории проекта
*View The Content of '''<Container>''' at Target '''<Current User>'''
*View The Content of '''<Container>''' at Target '''<Current User>'''
Строка 81: Строка 98:


[[Image:PzlStudio DemoRun RegisteringRegistered.png]]
[[Image:PzlStudio DemoRun RegisteringRegistered.png]]


Нажимаем '''Close''', закрываем форму.
Нажимаем '''Close''', закрываем форму.


=Шаг 8. Пишем программу в классе MyHelloWorld=
=Шаг 8. Пишем программу в классе MyHelloWorld=
Возвращаемся к IDE системы Visual Prolog.
Делаем двойной щелчок на файле MyHelloWorld.pro.
[[Image:PzlStudio DemoRun IDESourceImplementation.png]]
Помещаем в тело предиката pzlRun(...) вызов
<vip>
clauses
  pzlRun(""):-
    !,
    MSG="My Hello to World from MyDemoContainer!",
    write(MSG),
    vpiCommonDialogs::note(MSG).
  pzlRun(UserText):-
    MSG=string::format("My Hello to World from MyDemoContainer!\nEntered:%\n",UserText),
    write(MSG),
    vpiCommonDialogs::note(MSG).
</vip>
[[Image:PzlStudio DemoRun IDESourceUpdated.png]]
=Шаг 9. Опять компилируем контейнер=
=Шаг 9. Опять компилируем контейнер=
Запускаем построение проекта (Ctrl-Shift-B).
Соглашаемся с предложением IDE нажатием '''Add All'''
[[Image:PzlStudio DemoRun AddVPIToProject.png]]
Компонента теперь делает нечто осмысленное!
=Шаг 10. Запускаем!=
=Шаг 10. Запускаем!=
В Elementary PzlStudio:
*Через меню '''View/PzlStatus''' вызываем форму состояния Pzl-Системы
*Через меню '''Tools/Run Component''' вызываем форму запуска компонент, находим нашу компоненту ''MyHelloWorld'', пишем сообщение в поле параметра:
[[Image:PzlStudio DemoRun InvokeRun.png]]
Нажимаем '''Run''', получаем
[[Image:PzlStudio DemoRun RunResult.png]]


=Ссылки=
=Ссылки=
[[Category:VpPuZzle]]
[[Category:VpPuZzle]]

Текущая версия на 01:04, 25 декабря 2010

Основные понятия Pzl-Технологии

Классы, и пакеты, в которые они помещаются, удовлетворяющие принятым соглашениям, называются Pzl-компонентами.

Pzl-Компоненты помещаются в Pzl-Контейнеры. Pzl-Контейнер может содержать неограниченное число Pzl-Компонент.

Взамодействие обычных классов системы Visual Prolog и PZl-компонент, а также Pzl-компонент между собой, обеспечивается Pzl-Системой.

Главное приложение пользователя, включающее ядро Pzl-Системы, называется Pzl-Порт (PzlPort).

DLL, построенная в соответствии с принятыми соглашениями, называется DLL-контейнером.

Dll-Контейнер и Pzl-Порт являются Pzl-Контейнерами.

Шаг 1. Первый запуск Elementary PzlStudio

Если у Вас нет PzlStudio в меню Start/... компьютера, то найдите директорию SpbSolutions/Bin и запустите приложение PzlStudioElementary.exe.

Вы получаете

PzlStudio DemoRun Initialized.png

Проверьте состояние Ваших установок и при необходимости откорректируйте их. Для этого вызовите через Tools/Options форму установки общих свойств:

PzlStudio OptionsDLG.png

Нажимаем Close, закрываем форму.

Шаг 2. Создаем контейнер MyHelloWorld

В Elementary PzlStudio через меню File/New.../Container вызываем форму и устанавливаем:

  • имя директории контейнера MyDemoContainer.
  • имя контейнера MyDemoContainer.

PzlStudio DemoRun ContainerCreate.png

Нажимаем Create. Контейнер создан!

Нажимаем Close, закрываем форму.

Шаг 3. Компилируем контейнер

Открываем IDE системы программирования Visual Prolog.

Открываем Проект MyDemoContainer.prj6.

PzlStudio DemoRun ContainerAtIDE.png

Строим проект (Ctrl-Shift-B).

Сохраняем проект (Ctrl-S).

Шаг 4. Создаем компоненту

В Elementary PzlStudio через меню File/New.../Component вызываем форму и устанавливаем:

  • Имя директории компоненты MyHelloWorld
  • Имя компоненты MyHelloWorld.

Остальные параметры не редактируем, они нам подходят.

PzlStudio DemoRun ComponentCreate.png

Нажимаем Create. Компонента создана!

Нажимаем Close, закрываем форму.

Шаг 5. Добавляем компоненту в контейнер

Через меню Tools/Add.../Component To Container вызываем форму и устанавливаем:

  • Имя проекта контейнера ... /MyDemoContainer.prj6
  • Пакет компоненты ... /MyHelloWorld.pack.

PzlStudio DemoRun AddComponent.png

Нажимаем Add As Original. Компонента в контейнере!

Нажимаем Close, закрываем форму.

Шаг 6. Компилируем контейнер

Возвращаемся к IDE, к тому же проекту MyDemoContainer.prj6.

PzlStudio Demo ComponentAddedProject.png

Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся Add All на предложение IDE по добавлению пакетов в проект.

PzlStudio DemoRun ContainerAddGuiDialog.png

Теперь в проекте видны все файлы пакета MyHelloWorld.pack.

PzlStudio Demo ProjectCompiled.png

Сохраняем проект (Ctrl-S).

Шаг 7. Регистрируем компоненту

В E'ementary PzlStudio через меню Tools/Register Components вызываем форму и устанавливаем:

  • Имя PZL-файла контейнера MyDemoContainer.PZL (...) - находим в целевой директории проекта
  • View The Content of <Container> at Target <Current User>

PzlStudio DemoRun RegisteringSelection.png

Отмечаем компоненту "MyHelloWorld". Нажимаем кнопку Register Selected. Компонента зарегистрирована!

PzlStudio DemoRun RegisteringRegistered.png

Нажимаем Close, закрываем форму.

Шаг 8. Пишем программу в классе MyHelloWorld

Возвращаемся к IDE системы Visual Prolog.

Делаем двойной щелчок на файле MyHelloWorld.pro.

PzlStudio DemoRun IDESourceImplementation.png

Помещаем в тело предиката pzlRun(...) вызов

clauses
  pzlRun(""):-
    !,
    MSG="My Hello to World from MyDemoContainer!",
    write(MSG),
    vpiCommonDialogs::note(MSG).
  pzlRun(UserText):-
    MSG=string::format("My Hello to World from MyDemoContainer!\nEntered:%\n",UserText),
    write(MSG),
    vpiCommonDialogs::note(MSG).

PzlStudio DemoRun IDESourceUpdated.png

Шаг 9. Опять компилируем контейнер

Запускаем построение проекта (Ctrl-Shift-B).

Соглашаемся с предложением IDE нажатием Add All

PzlStudio DemoRun AddVPIToProject.png

Компонента теперь делает нечто осмысленное!

Шаг 10. Запускаем!

В Elementary PzlStudio:

  • Через меню View/PzlStatus вызываем форму состояния Pzl-Системы
  • Через меню Tools/Run Component вызываем форму запуска компонент, находим нашу компоненту MyHelloWorld, пишем сообщение в поле параметра:

PzlStudio DemoRun InvokeRun.png

Нажимаем Run, получаем

PzlStudio DemoRun RunResult.png

Ссылки