Пункт меню Файл/Построение графика
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