Все элементы языка DCL чувствительны к регистру

Диалоги и диалоговые окна

Диалоговые окна относятся к средствам интерфейса между приложением и проектировщиком и позволяют:

· в нужной форме отобразить какую-либо информацию;

· организовать ввод данных;

· выполнить настройки, необходимые для правильной работы приложения.

Диалоговые окна описываются с помощью диалогов.

Диалог – текст, описывающий одно диалоговое окно. В одном файле может быть записано несколько диалогов (для нескольких диалоговых окон). Они могут следовать в любом порядке, независимо от очередности их вызова из LISP -программы. Исходные тексты диалогов хранятся в текстовых файлах (файлах DOS) с расширением DCL.

Для диалоговых окон разработан специальный язык DCL (Dialog Control Language). Синтаксис языка DCL имеет много общего с языком C. Диалог состоит из совокупности директив.

Директива – логическая единица (предложение) языка DCL.

Форма записи предложений языка DCL – свободная. Между любыми элементами языка DCL (метками, разделительными символами, ключевыми словами, числами и строками) может быть любое количество пробелов.

Пример диалога.

Запрограммируем диалог ввода данных для расчета шарнирно опертой балки, загруженной равномерно распределенной нагрузкой на участке. Расчетная схема балки и предполагаемый вид диалогового окна показаны на рис. 2.

Рисунок 2 – Расчетная схема балки и диалоговое окно для ввода исходных данных

Текст диалога приведен ниже.

Balka: dialog { label="Расчет балки";

:edit_box { label="Пролет, м"; key="L"; value="6"; edit_width=5; }

:edit_box { label="Привязка слева, м"; key="a"; value="0"; edit_width=5; }

:edit_box { label="Длина нагрузки, м"; key="b"; value="0"; edit_width=5; }

:edit_box { label="Величина нагрузки, кН/м"; key="q"; value="0"; edit_width=5; }

:spacer { height=1; }

:radio_row { label="Вычисление прогибов";

:radio_button { label="Да"; key="fy"; value="1";}

:radio_button { label="Нет"; key="fn"; value="0";}}

:spacer { height=1; }

ok_cancel;

} // Конец диалога Balka

Первая строка (заголовок диалога) содержит имя диалога, ключевое слово dialog и название окна.

Далее описываются поля для ввода данных. Описание состоит из указания текста, который выводится в окно, кода элемента окна, значения, выводимого в окно, и ширины окна.

Коды элементов окна, указанные в key=…, используются для описания действий AutoLISP а после выхода из ячейки редактирования.

Значения, указанные в value=…, являются лишь средством оформления окна, и при описании диалога не попадают ни в какие переменные. При редактировании элемента окна результат редактирования сохраняется в системной переменной $value строкового типа. К переменной $value можно обращаться в LISP -программе при описании действий после выхода из ячейки редактирования.

Элемент диалога spacer выводит в окно пустую строку.

Элемент диалога radio_row описывает переключатель между несколькими возможными состояниями.

Элемент диалога ok_cancel описывает способы выхода из окна.

Символы // и далее до конца строки воспринимаются как комментарии.

При программировании диалогового окна можно проверить его внешний вид без загрузки DCL -файла в память. Это осуществляется через опции меню Tools ® Interface Tools ® Preview DCL in Editor.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: