Среда, 09.07.2025, 08:43
Системы автоматизированного проектирования в радиоэлектронике
В начало | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Используются функции семейства GET. дают возможность пользователю вводить данные в интерактивном режиме.
(getint [запрос]) — ввод целого числа в диапазоне от -32768 до +32767;
(setq num (getint))
(setq num (getint "Enter a number: ")) /"Введите число: "/

(getreal [запрос]) — ввод вещественного числа;
(setq val (getreal "Scale factor: "))

(getangle [точка] [подсказка]) – ввод угла (функция возвращает его в радианах). Начальная точка м.б. задана [точкой]. Если аргумент [точка] отсутствует, нужно вводить две точки (ANGBASE и ANGDIR).
(setq ang (getangle '(1.0 3.5) "Which way? ")) /"В какую сторону? "/

(getpoint [точка1][подсказка]) – ввод точки с помощью клавиатуры или мыши; если задан аргумент <точка1>, то при вводе точки с помощью мыши рисуется резиновая нить, начинающаяся в <точка1>;
setq p2 (getpoint '(1.5 2.0) "Second point:"))

(getdist [<точка1>] [запрос]) - получение расстояния (как вещественного числа) с помощью ввода числа или указания двух точек (мышью или в координатах на клавиатуре), если не задан аргумент <точка1>;
(setq dist (getdist '(1.0 3.5) "How far? ")) /"Kак далеко? "/

(getorient [<точка1>] [запрос]) — получение угла как в функции getangle, однако возвращаемое значение не учитывает значений ANGBASE и ANGDIR (т. е. как будто ANGBASE=0, ANGDIR=0);

(getcorner <точка1> [запрос]) — ввод точки; при вводе точки с помощью мыши рисуется резиновая рамка, начинающаяся в точке, заданной аргументом <точка1>;
 (getcorner '(1.0 2.5) "...")

(initget биты строка) - задание ограничений ввода и ключевых слов;
Таблица 12.3. Значения битов функции initget 
Бит Назначение 
1 Не разрешает пустой ввод (пустой ввод— это нажатие только клавиши <Enter>) 
2 Не разрешает ввод нуля 
4 Не разрешает ввод отрицательных чисел 
8 Разрешает указание точек за пределами лимитов, несмотря на значение системной переменной LIMCHECK 
16 Данный бит не задействован 
32 Заставляет AutoCAD использовать штриховую линию вместо сплошной для резиновой нити и резиновой рамки; если значение системной переменной POPUPS равно нулю, то AutoCAD игнорирует данный бит 
64 Запрещает ввод третьей координаты для точки в функции getdist 
128 Разрешает произвольный ввод в качестве ключевого слова; преобладает над другими битами и ключевыми словами; в частности, данный бит позволяет игнорировать значение бита 1 

 (initget 1) — не разрешен пустой ввод; 
(initget 3) — не разрешены пустой ввод и ввод нуля (3=1+2); 
(initget 7) — не разрешены пустой ввод, ввод нуля и ввод отрицательных чисел (7=1+2+4); 
(initget 6) — разрешен пустой ввод, но не разрешены ввод нуля и ввод отрицательных чисел (6=2+4). 
Аргумент <строка> функции initget — это строка, ограниченная двойными кавычками с двух сторон, которая задает ключевые слова, являющиеся допустимыми вариантами ввода. Варианты ключевых слов разделяются пробелом, например: "А Б В Г Д". 
Если пользователю при выборе ключевого слова разрешаются сокращенные варианты, тогда обязательная часть ключевого слова и аргументе <строка> должна быть указана в верхнем регистре, например: "ПЕРесечение". В этом случае допустимыми вариантами ввода являются "ПЕР", "пер", "ПЕРЕ", "пере", "перес", "ПЕРЕСЕЧЕН", "ПЕРЕСЕЧЕНИЕ" (после трех обязательных букв может идти любое количество необязательных букв, вплоть до набора полного ключевого слова; при вводе букв верхний и нижний регистры равноправны); недопустимыми вариантами будут "П", "ПЕ", "п", "пе". 
Возможны случаи, когда вариант сокращенного ввода начинается не с первой буквы ключевого слова, например: 
(initget "выход") — здесь допустимыми вариантами ввода будут "х", "хо", "ход" или "выход", "вых", "выхо". 
Если ключевое слово в аргументе <строка> указано только в верхнем или только в нижнем регистре, то рядом через запятую можно указать сокращенный вариант: "КРАСНЫЙ, КР" — равносильно записи "красный". 
! Про локализ. Версии – в файлах
 (initget 6) (setq numb (getint "Введите номер участка (<1>): ")) 
В этом примере сначала устанавливаются ограничения на будущий ввод целого числа (не допускаются ноль и отрицательные числа). Допускается пустой ввод. Функция getint выводит на экран запрос "Введите номер участка (<1>) : ". Ее возвращаемым значением будет nil, если пользователь ответит простым нажатием клавиши <Enter>, или введенное пользователем допустимое целое число (например, 17). В случае ввода пользователем недопустимого целого числа (например, 0 или -2) функция getint выведет сообщение об ошибочном значении и будет ожидать допустимого варианта ввода. 
Далее предусмотрена обработка пустого ввода, чтобы в этом случае присвоить переменной numb значение по умолчанию (1): 
(if (not numb) (setq numb 1)) 
Пример использования функции getint 
(initget 6 "Левый Правый Нижний Верхний") 
(setq numb (getint "Введите номер участка (<1>) или [Левый/Правый/Нижний/Верхний]: ")) 
В этом примере устанавливаются ограничения на будущий ввод целого числа (не допускаются ноль и отрицательные числа), однако допускаются пустой ввод и ввод одного из четырех ключевых слов. 

 (getkword [запрос]) — запрос на ввод ключевого слова (из определенных функцией initget;
(initget 1 "Да Нет") 
(setq reply (getkword "Продолжить цикл [Да/Нет]: ")) 
В этом примере переменной reply присваивается значение "да" или "нет", пустой ввод не допускается. 

(getstring [<флаг>] [<запрос>]) - ввод строки; если задан аргумент <флаг> и он отличен от nil, то в строке допускаются пробелы (признаком конца является <Enter>); если аргумент <флаг> отсутствует или задан равным nil, то признаком конца строки является пробел или <Enter>;
 (setq s (getstring T "...."))
(setq s (getstring T "What's your first name? ")) /"Ваше имя? "/

getvar - чтение текущего значения системной переменной
 (getvar "FILLETRAD") – 0.25

Поиск
Друзья сайта
Copyright MyCorp © 2025
Конструктор сайтовuCoz