Пункт меню Файл/Построение графика

Private Sub Grafic_Click()

Dim i As Integer, c2 As Integer

Dim c As ColorConstants

Dim dx As Double, dy As Double

Dim xmax As Double, xmin As Double

Dim ymax As Double, ymin As Double

'Вычисляем min и max по X и Y

xmin = fmin(x())

ymin = fmin(y())

Print "xmin="; xmin; " ymin="; ymin

xmax = fmax(x())

ymax = fmax(y())

Print "xmax="; xmax; " ymax="; ymax

dx = (xmax - xmin) / 20

dy = (ymax - ymin) / 20

'Масштабирование

Picture1.Scale(xmin-dx, ymax+dy)-(xmax+dx, ymin-dy)

Picture1.Line (xmin, 0)-(xmax, 0)

Picture1.Line (0, ymin)-(0, ymax)

c = Picture1.ForeColor

c2 = Picture1.DrawWidth

Picture1.ForeColor = RGB(255, 0, 0)

Picture1.DrawWidth = 3

Picture1.PSet (x(0), y(0))

For i = 1 To UBound(x)

Picture1.Line -(x(i), y(i))

Next i

Picture1.ForeColor = c

Picture1.DrawWidth = c2

End Sub

Вспомогательные функции:

Public Function fmin(t() As Double) As Double

'Поиск минимального числа в массиве

Dim min As Double

Dim i0 As Integer, i2 As Integer, i As Integer

i0 = LBound(t)

min = t(i0)

i2 = UBound(t)

For i = i0 + 1 To i2

If t(i) < min Then min = t(i)

Next i

Print "--min="; min

fmin = min

End Function

Public Function fmax(t() As Double) As Double

'Поиск максимального числа в массиве

Dim max As Double

Dim i0 As Integer, i2 As Integer, i As Integer

i0 = LBound(t)

max = t(i0)

i2 = UBound(t)

For i = i0 + 1 To i2

If t(i) > max Then max = t(i)

Next i

Print "--max="; max

fmax = max

End Function

Пункт меню Файл/Сохранить

Private Sub Save_Click()

'Открыть файл для записи

Dim n As Integer, i As Integer

'Открываем файл для записи

Open "C:\Stud\5102\Menu_graf\data.txt" For Output As #1

n = UBound(x)

For i = 0 To n

Write #1, x(i), y(i)

Next i

'Закрытие файла

Close #1

End Sub