Студопедия — Взаимодействие с пользователем
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Взаимодействие с пользователем






Взаимодействие с пользователем заключается в запросах различных данных, объектов, выводе сообщений. Эти действия реализуются объектом AcadUtility, коллекцией AcadSelectionSets и ее объектом AcadSelectionSet.

Инициализация ограничений ввода

procedure InitializeUserInput(Bits: Byte; KeyWordList: OleVariant);

Вызов метода InitializeUserInput задает ограничения по вводу данных для методов: GetKeyword, GetInteger, GetReal, GetDistance, GetAngle, GetOrientation, GetPoint, и GetCorner.

Параметры:

  • Bits— битовый флаг, являющийся суммой бит в соответствии с их весами; обязательный
Бит Описание
  Запрещает NULL ввод, т.е. предотвращает ввод пользователем только Enter или пробела
  Запрещает ввод нуля
  Запрещает ввод отрицательных чисел
  Разрешает ввод координат точек за пределами чертежных лимитов даже если системная переменная LIMCHECK установлена в 1.
  Не используется
  Использовать для " резиновой нити" штриховую линию вместо сплошной
  Игнорировать Z-координату точек для метода GetDistance
  Разрешает ввод любых данных
  • KeyWordList — строка, которая задает допустимые ключевые слова; необязательный. Ключевые слова разделяются пробелом. Если при вводе ключевого слова разрешен сокращенный вариант — обязательная часть вводится в верхнем регистре.

Примеры использования:

// не разрешен NULL ввод Acad.ActiveDocument.Utility.InitializeUserInput(1); // не разрешен NULL ввод и использовать для " резиновой нити" штриховую линию (33 = 32 + 1) Acad.ActiveDocument.Utility.InitializeUserInput(33); // не разрешен NULL ввод, заданы ключевые слова Acad.ActiveDocument.Utility.InitializeUserInput(1, 'Yes No');

Вывод сообщений в командную строку

procedure Prompt(const Message: WideString); — функция выводит в командную строку текст Message

Параметры:

  • Message — текст сообщения; необязательный

Пример использования:

Acad.ActiveDocument.Utility.Prompt('Press any key...');

Запрос координат точки

function GetPoint(Point: OleVariant; Prompt: OleVariant): OleVariant;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; необязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — 3-х элементный массив координат точки.

Пример использования:

var Pnt1, Pnt2: OleVariant; begin // Запрос у пользователя координат первой точки Pnt1: = Acad.ActiveDocument.Utility.GetPoint(, 'Укажите первую точку: '); // Запрос у пользователя координат второй точки с отображением " резиновой нити" от первой точки Pnt2: = Acad.ActiveDocument.Utility.GetPoint(Pnt1, 'Укажите вторую точку: '); // Построение отрезка из первой во вторую точку Acad.ActiveDocument.ModelSpace.AddLine(Pnt1, Pnt2); end;

Запрос угла прямоугольника

function GetCorner (Point: OleVariant; Prompt: OleVariant): OleVariant;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; обязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — 3-х элементный массив координат точки.

Пример использования:

var Pnt1, Pnt2, Pnt3, Pnt4: OleVariant; begin // Запрос у пользователя координат первой точки Pnt1: = Acad.ActiveDocument.Utility.GetPoint(, 'Укажите первый угол: '); // Запрос у пользователя координат второй точки с // отображением " резинового прямоугольника" от первой точки Pnt2: = Acad.ActiveDocument.Utility.GetCorner(Pnt1, 'Укажите второй угол: '); // Вычисление остальных координат прямоугольника Pnt3: = AcadPoint(Pnt1[0], Pnt2[1]); Pnt4: = AcadPoint(Pnt2[0], Pnt1[1]); // Построение прямоугольника Acad.ActiveDocument.ModelSpace.AddLine(Pnt1, Pnt3); Acad.ActiveDocument.ModelSpace.AddLine(Pnt3, Pnt2); Acad.ActiveDocument.ModelSpace.AddLine(Pnt2, Pnt4); Acad.ActiveDocument.ModelSpace.AddLine(Pnt4, Pnt1); end;

Запрос угла

function GetAngle(Point: OleVariant; Prompt: OleVariant): Double;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; необязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — угол в радианах против часовой стрелки (т.е. игнорирует значение ANGDIR).

Функция выводит в командную строку подсказку Prompt и ожидает от пользователя ввода либо значения угла (в текущем формате угловых единиц), либо ввода 2-х точек прямой с отображением " резиновой нити". При получении угла учитываются переменные ANGBASE и ANGDIR.

Пример использования:

var Ang: Double; begin // Запрос у пользователя угла Ang: = Acad.ActiveDocument.Utility.GetAngle(, 'Укажите значение угла: '); ShowMessage(Format('Задан угол %f градусов', [RadToDeg(Ang)])); end;

Запрос расстояния

function GetDistance(Point: OleVariant; Prompt: OleVariant): Double;

Параметры:

  • Point — 3-х элементный массив координат начальной точки; необязательный
  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — расстояние.

Функция выводит в командную строку подсказку Prompt и ожидает от пользователя ввода либо одной точки (если параметр Point опущен) либо 2-х точек с отображением " резиновой нити"

Пример использования:

var Dist: Double; begin // Запрос у пользователя точек для расчета расстояния Dist: = Acad.ActiveDocument.Utility.GetDistance(, 'Select first point: '); // Вывод значения расстояния в командную строку Acad.ActiveDocument.Utility.Prompt(Format('Distance = %f', [Dist])); end;

Запрос целого числа

function GetInteger(Prompt: OleVariant): Smallint;

Параметры:

  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — введенное пользователем целое число.

Пример использования:

var Int: Smallint; begin // Запрос у пользователя целого числа Int: = Acad.ActiveDocument.Utility.GetInteger('Введите целое число < -32768...32767>: '); // Вывод значения в командную строку Acad.ActiveDocument.Utility.Prompt(Format('Число = %d', [Int])); end;

Запрос вещественного числа

function GetReal(Prompt: OleVariant): Double;

Параметры:

  • Prompt — текст подсказки, выводимой в командную строку; необязательный

Возвращаемое значение — введенное пользователем вещественное число.

Пример использования:

var Dbl: Double; begin // Запрос у пользователя целого числа Dbl: = Acad.ActiveDocument.Utility.GetReal('Введите вещественное число: '); // Вывод значения в командную строку Acad.ActiveDocument.Utility.Prompt(Format('Число = %f', [Dbl])); end; Создание штриховки

Чтобы создавать штриховку, сначала создайте объект Hatch, используя метод AddHatch. После того, как объект Hatch был создан, добавьте внешний цикл, используя метод AppendOuterLoop. Внешний цикл должен быть закрыт и должен быть создан прежде, чем можно добавить любые внутренние циклы. После того, как был создан допустимый внешний цикл, добавляют внутренние циклы, по одному, используя метод AppendInnerLoop.

ПРЕДУПРЕЖДЕНИЕ! Как только объект Hatch был создан, Вы должны добавить внешний цикл к объекту Hatch для того, чтобы он стал допустимым объектом AutoCAD. Если Вы делаете любой другой запрос операции кроме метода AppendOuterLoop, AutoCAD введет непредсказуемое состояние.

 







Дата добавления: 2014-12-06; просмотров: 734. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия