Pzl-Component in 10 steps

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

Основные понятия 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

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

clauses
  spbRun(""):-
    !,
    MSG="My Hello to World from MyDemoContainer!",
    write(MSG),
    vpiCommonDialogs::note(MSG).
  spbRun(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

References