Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика как наука.doc
Скачиваний:
2
Добавлен:
23.09.2019
Размер:
320 Кб
Скачать

(A)с чего начать?

Откроем VBA IDE выбрав select Tools | Macro | Visual Basic Editor. В VB редакторе, выберите Insert | User Form чтобы вставить пустую форму. Переименуйте заголовок формы в окне Properties на Line1 ProgramСоздадим диалоговое окно для ввода данных для создания линии. Мы будем использовать средства управление TextBox, чтобы получить длину и угол линмм. Средства управленя TextBox позволяет Вам редактировать или вводить одиночную строку текста. Создание пользовательского интерфейсаКликните по средству управления Textbox в панели инструментов и переместите поверх формы чтобы разместить окно для ввода текста (длины линии). Измените имя средства управления на Distance. Кликните по средству управления Textbox еще раз, что бы разместить окно для ввода угла измените его имя на Angle.Добавьте средство управления Label как для Distance так и для Angle Textbox.Кликните на средстве управления CommandButton чтобы добавить кнопки OK и Cancel как показано. Измените имена средств управления командных кнопокна OK и Cancel и измените надписи на кнопках, чтобы отразить использование каждой из них.

(B)Написание кода

Теперь, когда Вы создали диалоговое окно, Вы готовы написать код для программы Line1. TextBox получает информацию от пользователя программы. Текстовая метка отображает тип требуемой информации. Кнопки выполняют программу или отменяют и закрывают диалоговое окно.

Двойным кликом по командной кнопке Cancel откройте окно кода

Окно кода отображает все события для всех средств управления в форме. Наберем End в событии Cancel_Click для кнопки Cancel.

Private Sub Cancel_Click()

End

End Sub

Два раза кликнем по UserForm1 в окне Project чтобы вернуться в форму. Два раза кликнем по командной кнопке OK и добавим следующий код к событию "OK_Click" в окне кода:

Private Sub OK_Click()

'Hide the dialog for user input

Me.Hide

'Define the variables

Dim StartPoint As Variant

Dim EndPoint As Variant

Dim myLine As AcadLine

Dim dblAngle As Double

'convert Angle string from textBox into radians

dblAngle = ThisDrawing.Utility.AngleToReal(Angle,

acDegreeMinuteSeconds)

'Prompt user for line starting point

StartPoint = ThisDrawing.Utility.GetPoint(, vbCr

& "Line Start Point: ")

'Find the end point of the line based on Distance

and Angle

EndPoint = ThisDrawing.Utility.PolarPoint

(StartPoint, dblAngle, Distance)

'Create the line object

Set myLine = ThisDrawing.ModelSpace.AddLine

(StartPoint, EndPoint)

'Update the drawing display

myLine.Update

'Display the dialog again

Me.Show

End Sub

(c)Программа LINE1Программа LINE1 демонстрирует использование двух Textboxes для получения данных и две командные кнопки для управления диалоговым окном и выполнением программ.Так как объем статьи ограничен, в нашей программе мы не рассматриваем проверку введенных значений. Это проверку мы добавим в финальную программу. Если введенные данные неверны, происходит возврат к TextBox с неправильным вводом. Прежде всего TextBox запрашивает длину линии. А затем угол наклона линии. Когда вы кликаете на OK, отображается приглашение ввсести стартовую точку линии. После того как вы введете стартовую точку, программа создает линию, используя указанные длину и угол. Диалоговое окно отображается еще раз для создания другой линии до тех пор, пока вы не кликните на Cancel.

(d)Сохранение и запуск программы

После того как вы сохраните программу, кликните на иконке Run в панели инструментов. Пользовательский интерфейс отобразится в окне AutoCAD.В текстовом окне Distance наберите значение 48. Переместитесь в текстовое окно Angle и наберите 45. Это будет представлять линию длиной 48" под углом 45°.Кликните на кнопке OK button. Диалогоове окно будет временно скрыто, и отобразится подсказка:

Line Start Point: Выберите начальную точку для линии. Программа создаст линий, затем диалоговое окно отобразится вновь для ввода следующей линии.Когда отображается диалоговое окно LINE1, начальный центр установлен в Distance: text box. Когда диалоговое окно отображается в первый раз, текстовые окна distance и angle пустые. Мы, в принципе можем добавить дополнительный код, чтобы показать значения по умолчанию. Простым кликом на OK мы можем просто их подтверждать. Первые введенные вами значения расстояния и угла будут оставаться как значения по умолчанию когда диалоговое окно отобразится впоследствии.Кликните на кнопке Cancel, чтобы закрыть диалоговое окно и вернуться в VBA IDE.