Pzl-Компонента за 10 шагов: различия между версиями
(не показано 13 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''Основные понятия 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= | ||
В 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. Создаем компоненту= | ||
В Elementary PzlStudio через меню '''File/New.../Component''' вызываем форму и устанавливаем: | |||
*Имя директории компоненты ''MyHelloWorld'' | *Имя директории компоненты ''MyHelloWorld'' | ||
*Имя компоненты ''MyHelloWorld''. | *Имя компоненты ''MyHelloWorld''. | ||
Строка 60: | Строка 77: | ||
[[Image:PzlStudio Demo ComponentAddedProject.png]] | [[Image:PzlStudio Demo ComponentAddedProject.png]] | ||
Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся ''' | Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся '''Add All''' на предложение IDE по добавлению пакетов в проект. | ||
[[Image:PzlStudio DemoRun ContainerAddGuiDialog.png]] | [[Image:PzlStudio DemoRun ContainerAddGuiDialog.png]] | ||
Строка 71: | Строка 88: | ||
=Шаг 7. Регистрируем компоненту= | =Шаг 7. Регистрируем компоненту= | ||
В 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''', закрываем форму. | ||
Строка 93: | Строка 109: | ||
[[Image:PzlStudio DemoRun IDESourceImplementation.png]] | [[Image:PzlStudio DemoRun IDESourceImplementation.png]] | ||
Помещаем в тело предиката | Помещаем в тело предиката pzlRun(...) вызов | ||
<vip> | <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), | MSG=string::format("My Hello to World from MyDemoContainer!\nEntered:%\n",UserText), | ||
write(MSG), | |||
vpiCommonDialogs::note(MSG). | vpiCommonDialogs::note(MSG). | ||
</vip> | </vip> | ||
Строка 115: | Строка 135: | ||
=Шаг 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]] |
Текущая версия на 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.
Вы получаете
Проверьте состояние Ваших установок и при необходимости откорректируйте их. Для этого вызовите через Tools/Options форму установки общих свойств:
Нажимаем Close, закрываем форму.
Шаг 2. Создаем контейнер MyHelloWorld
В Elementary PzlStudio через меню File/New.../Container вызываем форму и устанавливаем:
- имя директории контейнера MyDemoContainer.
- имя контейнера MyDemoContainer.
Нажимаем Create. Контейнер создан!
Нажимаем Close, закрываем форму.
Шаг 3. Компилируем контейнер
Открываем IDE системы программирования Visual Prolog.
Открываем Проект MyDemoContainer.prj6.
Строим проект (Ctrl-Shift-B).
Сохраняем проект (Ctrl-S).
Шаг 4. Создаем компоненту
В Elementary PzlStudio через меню File/New.../Component вызываем форму и устанавливаем:
- Имя директории компоненты MyHelloWorld
- Имя компоненты MyHelloWorld.
Остальные параметры не редактируем, они нам подходят.
Нажимаем Create. Компонента создана!
Нажимаем Close, закрываем форму.
Шаг 5. Добавляем компоненту в контейнер
Через меню Tools/Add.../Component To Container вызываем форму и устанавливаем:
- Имя проекта контейнера ... /MyDemoContainer.prj6
- Пакет компоненты ... /MyHelloWorld.pack.
Нажимаем Add As Original. Компонента в контейнере!
Нажимаем Close, закрываем форму.
Шаг 6. Компилируем контейнер
Возвращаемся к IDE, к тому же проекту MyDemoContainer.prj6.
Запускаем построение проекта (Ctrl-Shift-B). Соглашаемся Add All на предложение IDE по добавлению пакетов в проект.
Теперь в проекте видны все файлы пакета MyHelloWorld.pack.
Сохраняем проект (Ctrl-S).
Шаг 7. Регистрируем компоненту
В E'ementary PzlStudio через меню Tools/Register Components вызываем форму и устанавливаем:
- Имя PZL-файла контейнера MyDemoContainer.PZL (...) - находим в целевой директории проекта
- View The Content of <Container> at Target <Current User>
Отмечаем компоненту "MyHelloWorld". Нажимаем кнопку Register Selected. Компонента зарегистрирована!
Нажимаем Close, закрываем форму.
Шаг 8. Пишем программу в классе MyHelloWorld
Возвращаемся к IDE системы Visual Prolog.
Делаем двойной щелчок на файле MyHelloWorld.pro.
Помещаем в тело предиката 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).
Шаг 9. Опять компилируем контейнер
Запускаем построение проекта (Ctrl-Shift-B).
Соглашаемся с предложением IDE нажатием Add All
Компонента теперь делает нечто осмысленное!
Шаг 10. Запускаем!
В Elementary PzlStudio:
- Через меню View/PzlStatus вызываем форму состояния Pzl-Системы
- Через меню Tools/Run Component вызываем форму запуска компонент, находим нашу компоненту MyHelloWorld, пишем сообщение в поле параметра:
Нажимаем Run, получаем