Пользовательский интерфейс системы AutoCAD. Адаптация существующих меню, создание новых меню, изменение функций элементов, страница 17

                  ID__VBAIDE  [ALT+"F11"]

Другой вариант описания комбинаций клавиш:

[<комбинация>] <макрос>

Здесь не применяется ссылка на теги других пунктов, зато имеется явное описание макроса, выполняемого по нажатии комбинации клавиш. Примеры:

[CONTROL+"L"]^O

[CONTROL+"R"]^V

При втором варианте невозможно применение в макросах символа «\», используемого для паузы, как этот допускалось, например, в падающих меню. Назначая комбинации клавиш, пользователь должен помнить, что одиночные нажатия функциональных клавиш <F3>—<F11> используются системой AutoCAD для переключения режимов. Кроме того, традиционно клавиша <F1> служит для вызова помощи, клавиша <F2> — для переключения между текстовым и графическим экранами, а некоторые комбинации зарезервированы операционной системой Windows (ALT+<F4>, <Ctrl>+<Esc>, <Ctrl>+<Shift>+<Esc> и др.)

Цифровые   клавиши    на   правой   (цифровой)   клавиатуре   обозначаются "numpad0", "numpad1",..., "numpad9".

44. Язык DIESEL

Язык DIESEL (Direct Interpretively Evaluated String Expression Language)—язык оперирования строками с небольшим количеством функций.

Он позволяет формировать строки, которые должны иметь переменный текст, зависящий от условий (например, от имени открытого рисунка или от текущего   значения   некоторой   системной   переменной).   С   помощью  языка DIESEL   можно   задавать   изменяемое   значение   системной   переменной в MODEMACRO и изменяемые наименования пунктов меню.

45. Выражения                                                                      

Выражения языка DIESEL имеют следующую структуру (квадратные скобки указывают на необязательность элемента):

$ (<фун> [,<арг1> [,<арг2>   . . .    [,<арг9>]    ...] ] )

Здесь <фун> — имя функции, <арг1>, <арг2>, ..., <арг9> — аргументы. Количество аргументов не должно быть больше девяти (конкретные функции могут допускать и меньшее количество).                                                                                    

Все элементы, с которыми работает язык DIESEL,— строки. Даже числовые аргументы на самом деле являются строковыми представлениями для чисел. Пробелы в выражении DIESEL обычно имеют свой смысл, поэтому использование лишних пробелов без необходимости не рекомендуется. Кавычки, ограничивающие строки, применяются только в особых случаях. В качестве аргументов могут использоваться другие выражения языка DIESEL. Выражения языка DIESEL возвращают значения, которые являются строковыми, поэтому могут применяться при программировании меню и в качестве аргументов функций AutoLISP, работающих со строками.

46. Функции в языке DIESEL

В этом языке существует множество функций, приведем некотры еиз них:+,-, *, /, =, <, >,!=, <=, >=, and, angtos, edtime, eq, eval, fix, getenv, getvar, if, index, linelen, nth, or, rtos, strlen, substr, upper, xor.                                                                            

Даже  по  наименованиям   видно,  что  функции  языка   DIESEL  близки   к функциям языка AutoLISP, хотя некоторые функции немного отличаются (в основном, количеством аргументов). Рассмотрим пример использования выражения DIESEL для задания системной переменной MODEMACRO, которое записывается в строку режимов, сдвигая вправо ее содержимое.

(setvar "MODEMACRO" (strcat "Текущийцвет: " "$ (getvar, cecolor) "))

Выражение "$(getvar,cecolor)" представляет собой строку, содержимое которой является переменным и формируется интерпретатором языка DIESEL (обратите внимание, что имя системной переменной CECOLOR указывается без кавычек). Внутри двойных кавычек находится выражение, аналогичное по результату выражению (getvar "CECOLOR") языка AutoLISP.