Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Создание обработчиков нажатия на кнопку.
Для создания обработчика нажатия на кнопку pushButton поступают следующим образом: в контекстном меню ветви <имя формы>.frm выбрать Code Expert. В окне Dialog and Window Expert выбрать команду Control /<название кнопки>. Затем в редакторе текста программы добавить необходимый обработчик. Пример.При нажатии на кнопку pushButton _ ctl вывести в компонент staticText надпись «Искусственный интеллект». Для этого разместить на форме компоненты pushButton _ ctl и staticText как показано на рисунке. Рис 3.3.
Для того чтобы вывести текст в компонент staticText используется метод setText ( string : Title ), где Title - выводимый текст. Таким образом обработчик нажатия на кнопку будет следующий onPushButton(_Source) = button::defaultAction():-staticText_ctl:setText(" Искусственный интеллект "). Пример.При нажатии на кнопку pushButton _ ctl вывести в компонент staticText текст введенный в поле edit _ ctl. Для этого разместить на форме компоненты pushButton _ ctl , staticText и edit _ ctl как показано на рисунке. Рис 3.4.
Для того чтобы получить текст из компонента staticText используется метод getText (). Таким образом, обработчик нажатия на кнопку будет следующий onPushButton(_Source) =button::defaultAction():-staticText_ctl:setText(edit_ctl:getText()). Пример .Написать программу, обрабатывающую базу знаний «Родители».
Форма - Name = form1, Title = Form1 Edit1 - Name = edit_ctl PushButton1 - Name = pushButton_ctl, Text = Find Child PushButton2 - Name = clear_ctl, Text = Clear LisBox1 - Name = listBox_ctl, Sort=false ( без галочки )
predicates родитель :(string,string) nondeterm (i,o) . clauses родитель("пам", "боб"). родитель("том", "боб"). родитель("том", "лиз"). родитель("боб", "энн"). родитель("боб", "пат"). родитель("пам", "джим"). Примечание. В описании предиката родитель установлен режим nondeterm , т.е. результатом выполнения предиката может быть удача ( succeed ), неудача ( fail ) и возвращение на исходную позицию ( BacktrackPoint ), кроме того указано что первый аргумент предиката будет использован для записи ( input ), а второй для чтения ( output ).
onPushButton(_Source) = button::defaultAction():- X = edit _ ctl : getText (), /* прочитать имя родителя из поля edit _ ctl и поместить его в переменную Х*/ родитель ( X , Y ), /*Обработать предикат родитель */ listBox _ ctl : add ( Y ), /* в случае успешного сопоставления вывести значение переменной Y в listBox _ ctl и*/ fail , /*проверить следующий факт */ !. /*в случае неудачи перейти к следующему предикату процедуры */ onPushButton(_Source) = button::defaultAction():- listBox _ ctl : getCount ()<>0, /*если найдены дети, то*/ listBox _ ctl : add ("Больше детей нет"), /* вывести сообщение, иначе ... */ !. /* перейти к следующему предикату процедуры */ onPushButton(_Source) = button::defaultAction():- listBox_ctl:add("Соответствий не выявлено"). /* в случае неудачного сопоставления вывести сообщение в listBox _ ctl */
onClear(_Source) = button::defaultAction():- listBox_ctl:clearAll(). |
||
Последнее изменение этой страницы: 2018-05-10; просмотров: 247. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |