Засоби програмування інтерфейсів у Visual Prolog 5.2 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Засоби програмування інтерфейсів у Visual Prolog 5.2



 

Однією з переваг потужності й простоти мови Visual Prolog є бібліотека підтримки програмування інтерфейсів користувача (Visual Programming Interface – VPI). Із використанням VPI створюють додатки, керовані подіями (event-driven applications). VPI – основа для програмування інтерфейсів користувача, спеціально передбачена як засіб програмування графічних інтерфейсів користувача (GUI) для Прологу. Нині VPI підтримують платформи Windows NT і OS/2.

 

Створення найпростішого додатка

 

Розглянемо застосувавання VPI на прикладі створення найпростішого додатка з використанням стандартного діалогового вікна. Додаток буде мати меню, під час вибору відповідного пункту меню з’являтиметься стандартне діалогове вікно з повідомленням „Hello World!”.

Для створення нового проекту скористаємося експертом додатків, виконавши у вікні інтегровного середовища розробки команду Project | New Project. У вікні Application Expert на вкладці General введемо назву проекту, наприклад, „Hello World!”. Можна вибрати також і основний каталог для проекту або погодитись із запропонованим за замовчуванням. Усі опції на інших вкладках вікна залишимо без змін і натиснемо кнопку Create. З’явиться вікно проекту, у якому будуть відображені два вихідні модулі – Hello_World.pro i VPITools.pro. Після створення проекту, натиснувши кнопку Run, скомпілюємо, скомпонуємо і виконаємо проект. Повинне з’явитися вікно проекту з назвою Hello_World, у якому є меню, панель інструментів і вікно Messages. Цей створений за замовчуванням проект – каркас для формування нашого власного додатка. Для його формування виконаємо три етапи:

- додамо новий пункт меню;

- додамо речення для реагування на вибір цього пункту меню;

- у цьому реченні вставимо предикат dlg_Note, який виводить на екран вікно MessageBox (реакція на вибір пункту меню).

 

Додавання пункту меню

 

У вікні проекту натиснемо кнопку Menu в лівій панелі інструментів (рис.14). Щоб активізувати редактор меню, двічі клацнемо мишею по рядку Task Menu.

Виділимо пункт меню Edit і додамо новий пункт меню верхнього рівня з ім’ям Test, натиснувши кнопку New (рис.15). Константа id_test додасться автоматично. За потреби визначити акселератор перед ім'ям пункту меню можна ввести символ & і вибрати будь-яку клавішу в полі Accelerator, а також поставити прапорець перед Shift, Ctrl або Alt.

Тепер створимо підменю пункту меню Test. Для цього виділимо пункт меню Test і натиснемо кнопку Submenu. Далі у вікні, що з'явилося, натиснемо кнопку New. У полі Text уведемо „Hello World”, а в полі Constant уведемо свою константу id_hello і натиснемо ОК (рис. 16).

 

 

Рис.14. Вікно проекту

 

 

 

Рис.15. Додавання пункту меню Test

 

Перевіримо створене меню, для чого натиснемо кнопку Test. Потім знову натиснемо Test і закриємо редактор меню, натиснувши кнопку Close.

 

 

Рис.16. Додавання підменю Hello World у пункт меню Test

 

Додавання речення для реагування на вибір пункту меню

 

Для додавання речення можна було б використати редактор тексту VPI і додати потрібний фрагмент коду. Але простіше й зручніше це зробити за допомогою так званих експертів коду (Code Experts). Для цього натиснемо у вікні проекту кнопку Window на лівій інструментальній панелі й кнопку Code Expert на правій інструментальній панелі. З'явиться один із видів експертів коду – експерт діалогів і вікон (Dialog/Window Expert) (рис. 17).

Рис. 17. Вікно експерта коду

Потім виконаємо такі кроки:

- виберемо у вікні Event Type пункт Menu;

- виберемо у вікні Event or Item пункт id_hello;

- натиснемо кнопку Add Clause;

- натиснемо кнопку Edit Clause.

 

Вставка предиката dlg_Note в речення

 

Натиснення кнопки Edit Clause видасть редактор, у якому вже додано таке речення:

 

task_win_eh(_Win,e_Menu(id_hello,_ShiftCtlAlt),0):-!,!.

де task_win_eh – предикат оброблювача події для вікна Task.

Зверху й знизу від поданого речення знаходяться коментарі %BEGIN Task Window, id_hello, теж додані експертом діалогів і вікон. Змінна _Win містить дескриптор вікна – у розглядуваному випадку вікна Task. Змінна _ShiftCtlAlt містить комбінацію клавіш, якими ми можемо викликати меню.

Тепер для вставки предиката dlg_Note скористаємося контекстним меню (рис. 18). Установимо курсор на речення після першого предиката!,натиснемо праву клавішу миші й виберемо в меню пункти Insert | Predicate Call | Window, Dialog or Toolbar.

Рис. 18. Додавання предиката dlg_Note через контекстне меню

Далі у вікні Insert Call of… вибиремо опції Common Dialog та dlg_Note, а також у полі Note Message введемо фразу „Hello World!”, включаючи лапки (рис. 19).

Тепер кінцевий код речення виглядатиме таким чином:

 

task_win_eh(_Win,e_Menu(id_hello,_ShiftCtlAlt),0):-!,

Title="Title",

dlg_Note(Title,"Hello World!"),!.

Перевіримо роботу додатка. Натиснувши кнопку Run на панелі інструментів, скомпілюємо, скомпонуємо і виконаємо проект. Тепер, якщо в меню нашого додатка вибрати команду Test | Hello World, з’явиться вікно MessageBox із повідомленням „Hello World!”.

 

 

Рис. 19. Вікно Insert Call of…

 



Поделиться:


Последнее изменение этой страницы: 2016-04-08; просмотров: 327; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.187.103 (0.007 с.)