Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1
СОЗДАНИЕ НОВЫХ ОКОН В ПРОЕКТЕ

С ИСПОЛЬЗОВАНИЕМ КНОПОК И ПОЛЕЙ ВВОДА


Поля ввода (Edit Control) позволяют пользователю вводить данные. Обычно этот элемент представляет собой строку, которая содержит текст или число. Поле ввода может быть многострочным.

Для установки и получения содержимого поля ввода нужно использовать предикаты:

String = win_GetText (Window)

win_SetText (Window , string Text)

где Window – это оконный дескриптор элемента управления, который может быть получен вызовом предиката:

CtrlHndl=win_GetCtlHandle(Parent Window,CtrlId)


Командные кнопки (Push Button) позволяют пользователю выполнять различные действия: открывать и закрывать окна, выполнять расчеты и т.д.
Пример. Проект, позволяющий вычислить факториал введенного числа
Создать проект, в котором при выборе пункта меню Factorial открывается окно, позволяющее ввести натуральное число и вычислить его факториал.

Решение

1. Создайте новый проект.

2. Добавьте в главное меню новый пункт Factorial .

3. Создайте новое окно. Для этого в окне проекта нажмите кнопку Window на левой панели инструментов, а затем – кнопку New справа



Откроется окно Window Attributes. Введите имя создаваемого окна Factorial и нажмите ОК.

4. Разместите на макете появившегося нового окна следующие компоненты:



Static Text для вывода текста

Edit Control для ввода данных

Push Button для выполнения расчета

После размещения компонентов установите необходимые для каждого из них атрибуты:
а) для компонента Static Text, служащего для вывода надписи Введите число (имя-константа будет задано автоматически)

б) для компонента Edit Control (поле ввода), который обеспечит ввод числа



в) для компонента Push Button (кнопка), при нажатии на который будет выполнен расчет и выведен результат (имя-константа будет задано автоматически)

г) для компонента Static Text, необходимого для вывода результата

5. Сгенерируйте стандартный код Visual Prolog для нового окна. Для этого в окне проекта нажмите кнопку Code Expert, когда выбрано окно Factorial. Откроется окно Dialog and Window Expert. Выберите исходный модуль Factorial.pro и нажмите кнопку Default Code.


Когда заданный по умолчанию код будет сгенерирован, станут доступны кнопки Add Clause, Edit Code и некоторые другие.
6. Запрограммируйте выбор пункта меню Factorial для вызова окна Factorial. Для этого в списке окон выберите Task Window , пункт Menu в списке Event Type и выделите строку id_factorial(имя пункта меню) в списке Event or Item. Нажмите кнопку Add Clause, чтобы сгенерировать Пролог-предложение для события. Название кнопки изменится на Edit Clause, когда код для события будет создан. Нажмите кнопку Edit Clause. Откроется окно редактора для файла Factorial.pro, в который добавлено предложение:

%BEGIN Task Window, id_factorial

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

!.

%END Task Window, id_factorial



Допишите команду для открытия окна Factorial: win_factorial_Create(_Win). В результате должно получиться:

%BEGIN Task Window, id_factorial

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

win_factorial_Create(Win),

!.

%END Task Window, id_factorial


7. Запрограммируйте нажатие кнопки Результат в окне Factorial для выполнения расчета и вывода результата. Для этого вызовите окно Dialog and Window Expert и в списке окон выберите Factorial. Выберите пункт Control в списке Event Type и выделите строку pb: idc_результат(имя кнопки). Нажмите кнопку Add Clause, а затем Edit Clause. Откроется окно редактора для файла Factorial.pro, в который добавлено предложение:

%BEGIN Factorial, idc_результат _CtlInfo

win_factorial_eh(_Win,e_Control(idc_результат,_CtrlType,_CtrlWin, _CtlInfo),0):-!,

!.


%END Factorial, idc_результат _CtlInfo

Допишите команды, необходимые для вычисления факториала и вывода результата. В результате должно получиться:

%BEGIN Factorial, idc_результат _CtlInfo

win_factorial_eh(_Win,e_Control(idc_результат, _CtrlType, _CtrlWin, _CtlInfo), 0):-!,



EDIT_WIN1=win_GetCtlHandle(_WIN,idc_ввод),

Text1=win_GetText(EDIT_WIN1), % считываем данные из поля ввода

str_int(Text1,N), % преобразует в числовое значение

fact(N,FN), % вычисляем факториал

str_int(StrFN,FN), % преобразуем в строковое значение

EDWIN=win_GetCtlHandle(_WIN,idct_вывод),

win_SetText(EDWIN,StrFN), % выводим результат

!.

%END Factorial, idc_результат _CtlInfo


8. Опишите правило вычисления факториала и предикат fact:

PREDICATES

win_factorial_eh : EHANDLER

fact(integer,integer)

CLAUSES


fact(0,1):-!.

fact(N,F):- N1=N-1,fact(N1,F1), F=N*F1.

win_factorial_Create(_Parent):-

win_Create(win_factorial_WinType,win_factorial_RCT,win_factorial_Title,

win_factorial_Menu,_Parent,win_factorial_Flags,win_factorial_eh,0).


9. Запустите проект на исполнение и протестируйте его.


ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ



Доработайте проект, создав новый пункт меню Summa, при выборе которого появляется новое окно для ввода двух чисел и вычисления их суммы.

Создание новых окон в проекте

Поля ввода (Edit Control) позволяют пользователю вводить данные. Обычно этот элемент представляет собой строку, которая содержит текст или число. Поле ввода может быть многострочны

40.42kb.

14 12 2014
1 стр.


Новый вид функциональной добавки из сухого пророщенного зерна пшеницы в пищевые продукты

Функциональная пища это не только составная часть диеты здорового питания, но путь развития пищевой индустрии: создание новых продуктов питания и новых ингредиентов для них

72.62kb.

18 12 2014
1 стр.


Установка окон с контролем качества по нормам ral

В результате возникновения новых строительных материалов, а также достижений в области строительной физики, возникла необходимость создания нового руководства по монтажу светопрозр

168.17kb.

04 09 2014
1 стр.


Ремонт пластиковых окон

Основными условиями долговременной эксплуатации окон является грамотно произведенный монтаж, применение оригинальных комплектующих, и естественно, бережное отношение к изделиям сам

24.95kb.

14 09 2014
1 стр.


О порядке согласования устройства и оборудования окон и витрин

Вопросы устройства и оборудования окон и витрин на фасадах зданий и сооружений в Санкт-Петербурге регулируются следующими документами

108.26kb.

14 09 2014
1 стр.


Памятка при покупке пластиковых окон

Обратите внимание на фирму, с которой будите заключать договор, обратите внимание на срок, в течение которого фирма действует на рынке пластиковых окон

35.46kb.

14 09 2014
1 стр.


Информация о проекте бюджета Самарской области на 2013 год по отрасли «Образование»

В проекте областного бюджета на 2013 год на финансирование системы образования предусмотрено

195.11kb.

16 12 2014
1 стр.


Инструкция по монтажу пластиковых окон Первое, что необходимо сделать, согласно инструкции по монтажу пластиковых окон

Вот у Вас уже стоят пластиковые окна. Все отлично, если Вам все нравится и Вас все устраивает

30.85kb.

14 09 2014
1 стр.