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

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

 
(не показаны 23 промежуточные версии этого же участника)
Строка 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]]


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


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


Контейнер создан!
Нажимаем '''Close''', закрываем форму.


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


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


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


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


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


=Шаг 5. Добавление компоненты в контейнер=
=Шаг 5. Добавляем компоненту в контейнер=
Через меню '''Tools/Add.../Component To Container''' вызываем форму и устанавливаем:
Через меню '''Tools/Add.../Component To Container''' вызываем форму и устанавливаем:
*Имя проекта контейнера ''... /MyDemoContainer.prj6''
*Имя проекта контейнера ''... /MyDemoContainer.prj6''
Строка 54: Строка 69:
[[Image:PzlStudio DemoRun AddComponent.png]]
[[Image:PzlStudio DemoRun AddComponent.png]]


Нажимаем '''Add As Oroginal'''.
Нажимаем '''Add As Original'''. Компонента в контейнере!
 
Нажимаем '''Close''', закрываем форму.
=Шаг 6. Компилируем контейнер=
Возвращаемся к IDE, к тому же проекту MyDemoContainer.prj6.
 
[[Image:PzlStudio Demo ComponentAddedProject.png]]
 
Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся '''Add All''' на предложение IDE по добавлению пакетов в проект.
 
[[Image:PzlStudio DemoRun ContainerAddGuiDialog.png]]
 
Теперь в проекте видны все файлы пакета MyHelloWorld.pack.
 
[[Image: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>'''
 
[[Image:PzlStudio DemoRun RegisteringSelection.png]]
 
Отмечаем компоненту "MyHelloWorld".
Нажимаем кнопку '''Register Selected'''. Компонента зарегистрирована!


Компонента в контейнере!
[[Image:PzlStudio DemoRun RegisteringRegistered.png]]


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


=Шаг 6. Новая компиляция контейнера=
=Шаг 8. Пишем программу в классе MyHelloWorld=
=Шаг 7. Регистрация компоненты=
 
=Шаг 8. Готовимся к запуску=
Возвращаемся к IDE системы Visual Prolog.
=Шаг 9. Запускаем!=
 
=Шаг 10. Запускаем под отладчиком=
Делаем двойной щелчок на файле 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. Опять компилируем контейнер=
Запускаем построение проекта (Ctrl-Shift-B).
 
Соглашаемся с предложением IDE нажатием '''Add All'''
 
[[Image:PzlStudio DemoRun AddVPIToProject.png]]
 
Компонента теперь делает нечто осмысленное!
 
=Шаг 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]]

Текущая версия на 00: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

Ссылки