Программирование
Веб программирование

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

 
 

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

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


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.