Системы автоматизированного конструирования. Толстоба Н.Д. - 42 стр.

UptoLike

Составители: 

41
dd_edit : dialog {label = "Тестирование флагов";
fixed_height = true;
: edit_box { key = "edit1"; value = "0"; fixed_height = true; alignment = center;
label = "edit1"; }
: edit_box { key = "edit2"; value = "0"; fixed_height = true; alignment = center;
label = "edit2"; }
: row {ok_button; cancel_button;}
}
Рис 9. Пример диалога с полями для заполнения
Программа
(defun dd_edit ( / ret_value1 dcl_id what_next on_ed2 on_ed1)
; функция, вызываемая по OK
(defun ok_tab ( / )
; формирование списка данных на выход
(setq ret_value1 (list (list "ed1" on_ed1) (list "ed2" on_ed2)))
)
; загрузка диалога
(setq dcl_id (load_dialog "ot_tab.dcl"))
; инициализация диалога
(if (not (new_dialog "dd_edit" dcl_id))
; Exit if this doesn't work
(exit)
)
(set_tile "edit2" "ку-ку!")
(set_tile "edit1" "1234")
(setq on_ed1 "1234" on_ed2 "ку-ку!")
(setq what_next 8)
(while (< 2 what_next)
(action_tile "edit1" "(setq on_ed1 $value)")
(action_tile "edit2" "(setq on_ed2 $value)")
(action_tile "accept" "(done_dialog 1) (ok_tab)")
(setq what_next (start_dialog))
)
(unload_dialog dcl_id) ; Unload the DCL file
(setq relst ret_value1)
)