АвтоЛИСП - реализация языка программирования
Рефераты >> Программирование и компьютеры >> АвтоЛИСП - реализация языка программирования

4.92.(prompt <msg>)

Эта функция высвечивает на экране в зоне подсказок <msg>/сообщение и вводит ноль. <msg> - строка. В двухэкранной конфигурации АвтоКАДа, функция PROMPT высвечивает <msg> на обоих экранах и поэтому предпочтительна для PRINC. Например:

(prompt "New value:")

на экранах появится "New value:" и вводится ноль.

4.93.(quote <expr>)

Вводит невычисляемое <выражение>. Она также может быть записана следующим образом:

'expr

Например:

(quote a) вводит A

(quote cat) вводит CAT

(quote (a b)) вводит (A B)

'a вводит A

'cat вводит CAT

'(a b) вводит (A B)

4.94. (read <string>)

Эта функция вводит первый перечень или атом, полученные из <строки>. <строка> не должна содержать пробелов. Например:

(read "hello") вводит HELLO

(read "hi") вводит HI

(read "(a)") вводит (A)

4.95.(read-char [<file-desc>])

Эта функция читает единичный символ из буфера ввода клавиатуры или из открытого файла, описанного в <file-desc>. Она вводит (целое число) ASCII код, представляющий возможность прочесть символ.

Если <file-desc> не определен, а в буфере ввода клавиатуры нет символов, READ-CHAR ждет, пока вы что-либо напечатаете с клавиатуры (сопроводжая запись клавишей RETURN !). Например, предположим, что буфер ввода клавиатуры пуст:

(read-char)

будет ждать, чтобы что-то было введено. Если вы напечатаете "A B C", а затем нажмете RETURN, READ-CHAR введет 65 (код ASCII для буквы "A"). На следующие вызовы READ-CHAR введет 66, 67 и 10 (новая линия) соответственно. Если затем будут произведены следующие вызовы READ-CHAR, она опять будет ждать ввод.

4.96. (read-line [<file-desc>])

Эта функция читает строку с клавиатуры или из открытого файла, описанного в <file-desc>. Если конец файла не вычисляется, READ-LINE вводит ноль, в противном случае она вводит строку, которая была прочитана. Предположим, что F - действительный поинтер открытого файла:

(read-line f)

введет следующую входную линию из файла, или ноль, если был достигнут конец файла.

4.97 (redraw [<ename>[<mode>]])

Эффект функции зависит от количества заданных параметров. Если вызов без параметров,

(redraw)

он перерисует весь чертеж, как команда АвтоКАДа REDRAW. Если вызов с параметром имени объекта,

(redraw <ename>)

перечерчен будет выбранный объект. Это полезно при определении объекта на экране после применения GRCLEAR для очистки экрана.

Завершение контроля над перечерчиванием объекта осуществляется вызовом REDRAW с двумя параметрами:

(<ename><mode>)

где <ename> - имя объекта, который будет перечерчен, а <mode> - целое число с одним из следующих значений:

Redraw Mode

Action/действие

1

Перечертить объект на экране

2

Уничтожить объект (внести пробелы)

3

Высвечивание объекта (если позволяет дисплей)

4

Отмена высвечивания объекта (если позволяет дисплей)

Если <ename> - заголовок или комплексный объект (Полилиния или Блок с дополнениями), главный объект и все его подобъекты будут отрабатываться, если параметр <mode> положительный. Если параметр <mode> отрицательный, управляемый функцией REDRAW будет только один заголовок. Если ошибок нет, REDRAW всегда вводит ноль.

4.98.(rem <num1><num2> .)

Эта функция делит <num1> на <num2> и вводит остаток (<num1> вычисляет остаток <num2>). <num1> mod <num2> mod - модуль операция вычисления остатка.

REM может применяться с действительными и целыми числами со стандартными правилами перевода. Например:

(rem 42 12) вводит 6

(rem 12.0 16) вводит 12.000000

(rem 60 3) вводит 0

4.99.(repeat <number><expr> .)

В этой функции <число> представляет любое из положительных целых чисел. Функция вычисляет каждое <expr> <number> количество раз и вводит значение последнего выражения. Например, заданы назначения:

(setq a 10)

(setq b 100)

тогда:

(repeat 4

(setq a(+ a 10)))

(setq b(+ b 10)))

) вводит 140

4.100.(reverse <list>)

Эта функция вводит <список> с зарезервированными элементами. Например:

(reverse '((a)b c)) вводит (C B (A))

4.101. (rtos <number>[<precision>])

Эта функция вводит строку, которая является представлением <числа> (действительного) согласно с установками <mode>/ режим и <precision>/точность и переменной, задающей размеры АвтоКАДа DIMZIN. <режим> и <точность> - целые числа, которые выбирают линейные элементы режима и точности. Ниже перечислены обеспеченные значения <режима>:

RTOS Режим

Редактируемый формат

1

Научный

2

Десятичный

3

Прикладной (футы и десятичные дюймы)

4

Архитектурный (футы и дробные дюймы)

5

Производные дробные элементы

Параметры <mode> и <precision> соответствуют системе переменных LUNITS и LUPREC АвтоКАДа. Если вы пропускаете параметры, будут применяться текущие установки LUPREC и LUNITS. Примеры RTOS:

(rtos 17.5 1 4) вводит "1.7500E+01"

(rtos 17.5 2 2) вводит "17.50"

(rtos 17.5 3 2) вводит "1'-5.50""

(rtos 17.5 4 2) вводит "1'-5 1/2""

(rtos 17.5 5 2) вводит "17 1/2"

Глава 5. Разработка интерфейсов пользователя

5.1. Меню пользователя

Меню пользователя служит для расширения и дополнения существующего и разработки собственного меню. Меню пользователя задается в файле меню.Файлы меню представляют собой текстовые файлы.


Страница: