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

Литература к самостоятельной работе 4

Ломтадзе В.В. Программное и информационное обеспечение геофизических исследований. М.: Недра, 1993. –268 с.

Справочник геодезиста (в двух книгах). Книга 1. М.: Недра, 1975. –544 с.

11.5. Разработка приложения “Графические построения в плоскости xoy”

Различные графические построения часто необходимы в любой практической деятельности. В литературе по VBA этот вопрос практически не освещен, но в Excel и в Word всегда можно вызвать на экран панель инструментов Рисование и конструировать рисунок, включая в него линии, надписи и другие фигуры, образцы которых (Shapes) представлены на панели инструментов Рисование. Если перед созданием рисунка включить запись макроса (кнопка Записать макрос на панели инструментов Visual Basic), а затем в окне Visual Basic посмотреть его текст и, кроме того, обратиться к встроенной справке, то становится ясно, как программировать векторную графику в VBA. Именно так мы и поступили. Далее приводится начало модуля, содержащего базовые процедуры, с помощью которых можно программировать графические построения на плоскости XOY.

' Глобальные переменные и константы

Dim cx As Single, cy As Single

' cx,cy - масштабные коэффициенты: пиксели/сантиметры

Dim nx1 As Integer, ny1 As Integer, nx2 As Integer, ny2 As Integer

Dim RedClr As Integer, GreenClr As Integer, BlueClr As Integer

Dim FntName As String, FntSize As Integer, FntColor As Integer

Const nx0 As Integer = 25.5: Const ny0 As Integer = 25.5:

' Инициализация графического окна размером Lx ∙ Ly (в сантиметрах)

' Начало координат в левом верхнем углу окна, ось X направлена вправо, Y- вниз

Sub GrIni()

SP 0, 0, 0

cx = TextBoxCX.Value: cy = TextBoxCY.Value

Lx = TextBoxLX.Value: Ly = TextBoxLY.Value

Лист2.Activate: Лист2.Shapes.SelectAll

Selection.Delete ' Удаление графических элементов с листа 2

Лист2.Shapes.AddShape(msoShapeRectangle, nx0, ny0, Lx * cx, Ly * cy).Select

End Sub

' Пересчет координат из сантиметров чертежа в пиксели (точки)

Function GETnx(xcm As Single) As Integer

GETnx = nx0 + xcm * cx

End Function

Function GETny(ycm As Single) As Integer

GETny = ny0 + ycm * cy

End Function

' Перемещение в точку xcm, ycm (Move Absolute, координаты точки - в см)

Sub MA(xcm As Single, ycm As Single)

nx1 = GETnx(xcm): ny1 = GETny(ycm)

End Sub

' Вычерчивание линии из текущей точки в точку xcm, ycm (Plot Absolute)

Sub PA(xcm As Single, ycm As Single)

nx2 = GETnx(xcm): ny2 = GETny(ycm)

With Лист2.Shapes.AddLine(nx1, ny1, nx2, ny2).Line

.ForeColor.RGB = RGB(RedClr, GreenClr, BlueClr)

End With

nx1 = nx2: ny1 = ny2

End Sub

' Установка цвета линий (Set Pen)

Sub SP(Red As Integer, Green As Integer, Blue As Integer)

RedClr = Red: GreenClr = Green: BlueClr = Blue

End Sub

' Установка шрифта, его размера и цвета (Set Font)

' Цвет: 1-черный, 2-пусто, 3-красный, 4- ярко-зеленый, 5-синий,

' 6-желтый, 7-светло-фиол., 8-голубой, 9-коричн., 10-зеленый, 11-темно-синий

Sub SF(Name As String, Size As Integer, Color As Integer)

FntName = Name: FntSize = Size: FntColor = Color

End Sub

' Надпись (Write String) – указываются размеры текстового окна и сам текст

Sub WS(xcm As Single, ycm As Single, Lxcm As Single, Lycm As Single, _

Txt As String)

Лист2.Shapes.AddTextbox(msoTextOrientationHorizontal, _

GETnx(xcm), GETny(ycm), Lxcm * cx, Lycm * cy).Select

Selection.ShapeRange.Line.Visible = msoFalse

Selection.Characters.Text = Txt

With Selection.Characters(Start:=1, Length:=Len(Txt)).Font

.Name = FntName

.Size = FntSize

.ColorIndex = FntColor

End With

End Sub

Private Sub Btn1_Click() ' Событийная процедура

GrIni

MA 5, 5

PA 10, 5

SP 200, 0, 0

PA 10, 10

SF "Times New Roman Cyr", 9, 11

WS -0.8, -0.2, 0.8, 0.4, "0.0"

End Sub

П

Lx

16

Ly

16

27

29

cx

cy

Построить график

редлагаемые процедуры разработаны нами, чтобы избежать непосредственного использования конструкций VBA, позволяющих размещать на листе книги Excel линии и надписи, поскольку синтаксис этих конструкций довольно сложен. Приведенный в конце модуля пример простейшей событийной процедуры показывает, как используя процедуры GrIni, MA, PA, SP, SF, WS, программировать построение графиков, схем, чертежей и т.п. Набор п еречисленных процедур расчитан на то, что на листе 1 книги Excel размещены поля TextBoxLX, TextBoxLY, TextBoxCX, TextBoxCY и командная кнопка Btn1.

В полях редактирования (TextBox) задаются размеры чертежа в см и масштабные коэффициенты для перехода от см к точкам (пикселям). Коэффициенты cx, cy можно скорректировать после вывода чертежа на принтер. Процедура GrIni должна использоваться первой – она вычерчивает прямоугольное окно размером Lx∙Ly на листе 2 книги Excel. В этом окне затем проводятся дальнейшие построения. Остальные процедуры легко понять по распечатке. Теперь сформулируем варианты самостоятельной работы.

Вариант 1. На листе 1 разместить элементы управления и в двух столбцах - значения X, Y. На листе 2 построить график Y(X). При построении координатных осей найти диапазоны изменения X, Y; оси оцифровать «круглыми» значениями.

Вариант 2. Аналогичен варианту 1, но надо строить график X(Y).

Вариант 3. Построить разными цветами графики F1(X), F2(X), разместив на листе 1 три ряда (столбца) чисел: X, F1, F2. Возможно построение обоих графиков в разных масштабах или в одном и том же масштабе.

ЛИТЕРАТУРА

  1. Т.П. Бояринцева, Е.Ф. Воропаева, Т.А. Дмитриенко, Л.П. Шишкина. Лабораторный практикум по информатике. Расширенные возможности Excel.-Иркутск: Изд-во ИрГТУ.-2003.-71с.

  2. Гончаров А. Excel 97 в примерах. –СПб.: Питер, 1997. –336 с.

  3. Громов Г.Г. Национальные информационные ресурсы: проблемы промышленной эксплуатации. –М.: Наука, 1984.

  4. Информатика: Учебник /Под ред. проф. Н.В.Макаровой. -М.: Финансы и статистика, 1997. -768 с.

  5. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. –М.: Наука, 1968. –720 с.

  6. Ломтадзе В.В., Агафонов Ю.А., Бояринцева Т.П. и др. Лабораторный практикум по информатике. Часть I. Windows, Word, Excel, Access. – Иркутск: Изд-во Иркутского госуд. техн. ун-та, 2003. - 69 с.

  7. Мэнсфилд Р. Windows 95 для занятых /Перев. с англ. - СПб: Питер, 1996. -304 с. Также другие книги по Windows.

  8. Нельсон С. Office 97 для занятых/Перев. с англ. - СПб: Питер, 1997. -288 с. Также другие книги по Microsoft Office, Word, Excel, Access, PowerPoint, OutLook.

  9. Очков В.Ф. Mathcad 7 Pro для студентов и инженеров. -М.: КомпьютерПресс, 1998. -384 с.

  10. Петров А.В. Windows-информатика. Учебное пособие. -Иркутск: Изд-во Иркутского госуд. техн. ун-та, 1998. -135 с.

  11. Санна П. и др. Visual Basic для приложений (версия 5) в подлиннике: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1998. – 704 с.

  12. Симонович С.В., Евсеев Г.А., Алексеев А.Г. Специальная информатика: Учебное пособие. – М.: АСТ-ПРЕСС: Инфорком-Пресс, 1999. – 480 с.

  13. Microsoft Visual Basic 5. Шаг за шагом: Практ.пособ./Пер. с англ. кн. Микаэла Хальворсона. -М.: Изд-во ЭКОМ, 1998. -432 с.

  14. Oracle 7 и вычисления клиент.сервер /Пер.с англ. кн. Стивена Бобровски. -М.: Изд-во ЛОРИ, 1996. -651 с.

  15. Л.П.Шишкина, Т.П.Бояринцева, Т.Н.Сержант. Лабораторный практикум по информатике. Часть II. Visual Basic for Applications. – Иркутск: Изд-во Иркутского госуд. техн. ун-та, 2002. - 52 с.

150