Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METHOD / Основы САПР / AutoLISP2006.doc
Скачиваний:
86
Добавлен:
05.03.2016
Размер:
1.04 Mб
Скачать

4.2 Работа со строками, функции преобразования, проверки типов данных.

(itoa целое число)

Возвращает результат преобразования целого числа в строковую константу. Например:

(setq b1 (itoa 56)) - переменной b1 будет присвоено значение строковой переменной “56”.

(strcase строка признак)

Переводит нее символы аргумента строка и нижний регистр, если признак не nil, если признак опущен или равен nil - в верхний.

Например: (setq s1 (strcase “FORMULA” 1)) - переменной s1 будет присвоено значение строковой переменной “formula”.

(setq s1 (strcase “MOVE”)) - переменной s1 будет присвоено значение строковой перемен-ной “move” .

(substr строка целое1 целое2)

Возвращает подстроку аргумента строка, начинающегося с символа целое1 и длиной целое2. Первый символ строки имеет номер 1.

Например: (setq s2 (substr “AutoLisp and Acad” 5 4)) - переменной s2 будет присвоено значение строковой переменной “Lisp” .

(strlen строка)

Возвращает число символов аргумента строка.

(strcat строка1 строка2 . . .)

Осуществляет сцепление аргументов строка1, строка2 ...

Например: (setq ss0 “SAPR_TM”)

(setq ss_all (strcat “AutoCAD - the base” ss0)) - переменной ss_all будет при-своено значение строковой переменной “AutoCAD - the base SAPR_TM”.

(atof строка)

Возвращает преобразование строковой константы строка в действительное число. Например: (setq var1 (atof “234”)) - переменной var1 будет присвоено значение действительной переменной 234.0

(atoi строка)

Возвращает преобразование строковой константы строка в целое число.

Например: (setq var2 (atoi “243.856”)) - переменной var2 будет присвоено значение целой переменной 243. Округление при этом не выполняется.

(chr целое число)

Возвращает результат преобразования целого числа в символьный код ASCII, причем результатом является строковая константа.

Например: (chr 65) возвратит символ (строковую константу) "А".

(ascii строка)

Возвращает преобразование одного символа, указываемого в виде строковой константы, в код ASCII.

Например: (ascii “A”) возвратит ASCII код символа "А" , целое 65.

(angtos угол представление точность)

Преобразует аргумент угол в строковую константу. Аргумент точность - целое число, указывающее число цифр после запятой. Аргументы представление и точность обращаются к системным переменным Автокада AUNITS и AUPRЕC. Если представ-ление и точность опущены, будут использованы текущие значения этих параметров. Преобразование осуществляется в соответствии с заданными представлением и точностью:

Представление

Формат преобразования

0

Градусы

1

Градусы/мин/сек

2

Грады

3

Радианы

4

Топографические единицы

Например:

(setq p1 (angtos 3.14159 0 2)) - переменной p1 будет присвоено значение строковой переменной “180.00” .

(rtos число режим точность)

Преобразует аргумент число в строковую константу. Преобразование осуществляется в соответствии с заданными режимом и точностью:

Представление

Формат преобразования

0

Научный

1

Десятичный

2

Инженерный (десятичные части экранных единиц)

3

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

4

Произвольные дробные части

Аргумент режим - целое число, соответствующее системной переменной п. AutoCAD LUNITS: аргумент точность - целое число, соответствующее переменной LUPREC. Если режим и точность преобразования не указываются, то будут использованы текущие значения этих переменных.

Например: (setq p2 (rtos 3.14159 2 2)) - переменной p2 будет присвоено значение строковой константы “3.14” .

В любой момент можно преобразовать целое число в действительное и наоборот.

(fix число)

Возвращает результат преобразования действительного числа в целое. Преобразование осуществляется усечением (отбрасыванием) дробной части.

Например: (setq f0 (fix 3.99)) - переменной f0 будет присвоено значение целой переменной 3 .

(float число)

Возвращает результат преобразования целого числа в действительное.

Например: (setq f1 (float 3)) - переменной f1 будет присвоено значение действительной переменной 3.00 .

(type элемент)

Возвращает тип элемента

INT Целые величины

REAL Число с плавающей точкой

STR Строковые константы

FILE Дискрипторы файлов

SYM Символы

LIST Списки

SUBR Внутренние функции языка AutoLisp

ENAME Имена примитивов п. AutoCAD

PICSET Наборы примитивов п.AutoCAD

PAGETB Таблицы диспетчера страниц

Используя функцию TYPE (о ней уже говорилось выше), можно определить тип элемента. Функция TYPE удобна при работе с командной строки.

Например: (setq s “Enter sambol”) -

(setq type_s (type s)) - переменной type_s будет присвоено значение “STR” т.к. переменная s строковая константа.

При написании программы на AutoLISP удобно пользоваться специальными функциями NUMBERP, MINUSP, LISTP, BOUNDP и ZEROP.

(numberp переменная)

Если переменная - целое или действительное число, возвращается Т, в противном случае - nil.

(minusp число)

Если действительное или целое число отрицательное, возвращается Т (истина), если положительное - nil. Для других типов аргументов выдается сообщение об ошибке.

(listp переменная)

Возвращает Т (истина), если переменная является списком, в противном случае - nil.

(zerop переменная)

Возвращает Т (истина), если переменная является целым или действительным числом равным нулю, и nil если число не равно нулю. Для других типов переменных данная функция не определена.

Соседние файлы в папке Основы САПР