Реализовать работу стандартного предиката чтения строки с помощью цикла (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

Объяснение кода листинга программы

В этом коде реализованы два предиката:

  1. dlg_циклы_eh — отвечает за цикл обработки элементов в диалоговом окне. У этого предиката четыре аргумента: — _Win — ссылка на окно диалога. — _CtrlType — тип контрола. — _CtrlWin — дескриптор контрола. — _CtlInfo — информация о контроле. В этом предикате реализован цикл, который обрабатывает каждый элемент в списке контролов диалогового окна.
  2. dlg_Note — выводит сообщение в диалоговом окне. У этого предиката два аргумента: — Текст — текст сообщения. — Handle — дескриптор окна диалога. В этом предикате используется функция lbox_GetAll, которая получает все элементы из списка, и функция sp_st, которая строит строку из списка элементов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы