Временной график (тренд)

В научно-технических приложениях часто приходится выводить на экран временной график физической величины (измеряемой или вычисляемой). Привожу здесь небольшой примерчик, который может быть будет кому-нибудь интересным и полезным.

1. Создаем проект.

2. Помещаем на форме две кнопки Command1 и Command2.

3. Помещаем на форме Picture1.

4. Помещаем на форме Timer1.

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

Запускаем процесс кнопкой "Старт".

Dim x(10000), y(1000), it, dt, i As Integer
' x(10000), y(1000) -координаты графика
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
'Параметры формы, кнопок и картинки
Me.Caption = "Волна"
Me.Height = 10000
Me.Width = 15000
'Параметры кнопки Выход
Command1.Caption = "Выход"
Command1.Width = 1500
Command1.Height = 500
Command1.Left = Me.Width - Command1.Width - 300
Command1.Top = Me.Height - Command1.Height - 600
'Параметры кнопки Старт
Command2.Caption = "Старт"
Command2.Width = 1500
Command2.Height = 500
Command2.Left = Me.Width - Command2.Width - 2000
Command2.Top = Me.Height - Command2.Height - 600
'Параметры поля для вывода графика
Picture1.Width = 0.7 * Me.WidthPicture1.Height = 0.5 * Me.Height
Picture1.Left = 500
Picture1.Top = 500
Picture1.BackColor = vbBlack
x(0) = 0
y(0) = 0.5 * Picture1.Height
dt = 100
Picture1.DrawWidth = 2
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
If x(it) <= Picture1.Width Then
'Прорисовка волны до достижения крайней левой'границы рисунка
it = it + 1
x(it) = x(it - 1) + dt
y(it) = 0.5 * Picture1.Height * Rnd() + 0.25 * Picture1.Height
Picture1.Line (x(it - 1), y(it - 1))-(x(it), y(it)), vbWhite
Else
'Прорисовка волны после достижения крайней левой'границы рисунка
Picture1.Cls
'Смещение волны
For i = it To 1 Step -1
y(i) = y(i - 1)
Next
y(1) = 0.5 * Picture1.Height * Rnd() + 0.25 * Picture1.Height
'Прорисовка
For i = 1 To it
Picture1.Line (x(i - 1), y(i - 1))-(x(i), y(i)), vbWhiteNext
End If
End Sub



6 лет назад
6 лет назад отредактировал Илья Цитата
статья говно
Авторизируйтесь на сайте чтобы ответить.
Комментировать