Реализовать работу стандартного предиката чтения строки с помощью цикла (Visual Prolog 5.2)
Формулировка задачи:
Не поможете, что то не работает. Нужно реализовать работу стандартного предиката чтения строки с помощью цикла. В общем вводим списки, а выводим строку.
вот обработка кнопок:
я так понимаю в предикате sp_st должно быть Ilist,String,String. С помощью concat мы преобразуем в строку, вот только почему это не выводится в dlg_note?
Решение задачи: «Реализовать работу стандартного предиката чтения строки с помощью цикла (Visual Prolog 5.2)»
textual
Листинг программы
%BEGIN Циклы, idc_ok _CtlInfo dlg_циклы_eh(_Win,e_Control(idc_ok,_CtrlType,_CtrlWin,_CtlInfo),0):-!, El = win_GetCtlHandle (_Win, idc_циклы_1), Element=win_GetText (El), Element<>"", R= win_GetCtlHandle (_Win,lbox), lbox_Add(R, Element), !. %END Циклы, idc_ok _CtlInfo %BEGIN Циклы, idc_построить_строку _CtlInfo dlg_циклы_eh(_Win,e_Control(idc_построить_строку,_CtrlType,_CtrlWin,_CtlInfo),0):-!, R= win_GetCtlHandle (_Win,lbox), SL =lbox_GetAll (R), sp_st(SL,"",R), dlg_Note ("Результат",R), !. %END Циклы, idc_построить_строку _CtlInfo
Объяснение кода листинга программы
В этом коде реализованы два предиката:
dlg_циклы_eh
— отвечает за цикл обработки элементов в диалоговом окне. У этого предиката четыре аргумента: —_Win
— ссылка на окно диалога. —_CtrlType
— тип контрола. —_CtrlWin
— дескриптор контрола. —_CtlInfo
— информация о контроле. В этом предикате реализован цикл, который обрабатывает каждый элемент в списке контролов диалогового окна.dlg_Note
— выводит сообщение в диалоговом окне. У этого предиката два аргумента: —Текст
— текст сообщения. —Handle
— дескриптор окна диалога. В этом предикате используется функцияlbox_GetAll
, которая получает все элементы из списка, и функцияsp_st
, которая строит строку из списка элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д