Detector3d
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору да, это модальное диалоговое окно, но таблица представляет собой набор текстовых полей (независимых друг от друга), в проекте QuickWin вроде бы нельзя нет возможности создавать таблицу в графическом интерфейсе. Но все это непринципиально, чтобы стало понятно в чем загвоздка приведу ниже упрощенный вариант того что мне нужно и на этом примере постараюсь объяснить, что у меня не получается сделать. Постановка задачи: предположим, что в среде Visual Fortran создан простейший интерфейс, который представляет собой диалоговое окно с одни текстовым полем (для вывода в него значения переменной из тела программы) и пару кнопок "OK" и "Cancel". Необходимо выводить в это окно значение переменной "y" с шагом 1, пока значение "y" не превысит 1000. Вот код программы: Program one use dflogm !подключаем модуль для работы с диалогами integer y, status character*50 string logical*4 flag y=0 do while (y.le. 1000) y=y+1 status=dlgmodal(dxy) !предполагается, что в приложении QuickWin создан диалог idd_txy, процедура dlgmodal отображает диалог на экране и передает ему управление flag=dlginit(idd_txy,dxy) !инициализация диалога write(string,'(I5)') y !преобразуем число в символьную переменную для передачи в диалог flag=dlgset(dxy,aval,string) !передаем значение переменной y(она же string) в стоку в диалоге (aval-имя строки в диалоге) call dlgexit(dxy) !закрываем диалог end do end program one Проблема описанной выше программы в том, что после передачи в диалог значения переменной "у" управление передается диалогу и чтобы опять вернуться в цикл программы, нужно чтобы пользователь сделал какое-то действие в диалоговом окне (например нажал на кнопку "ОК") Мне же нужно чтобы переменная "у" непрерывно передавалась в диалог, без участия пользователя, при этом чтобы не надо было закрывать и открывать диалог заново при каждом выводе. Мне непринципиально реализовывать эту задачу с помощью встроенного графического интерфейса Visual Fortran, если есть другие варианты я готов их пробовать, но мне нужен простейший рабочий пример, чтобы понять как это реализовать. Главное, что неизменно - тело программы написано на фортране. |