当前位置:编程学习 > VB >>

做一个实时曲线显示

我现在要做一个温度实时曲线的显示,X轴上时间,Y轴是温度,由于小弟从没做过关于曲线的程序,希望高手能写出详细的代码,我慢慢研究,希望大家能不吝赐教!! --------------------编程问答-------------------- http://zhidao.baidu.com/question/19898165.html
参阅上述网址我的答复,有详细代码. --------------------编程问答-------------------- Option Explicit

Dim bln As Boolean

Const MAX_VALUE As Long = 100           '检测的最大值
Const MIN_VALUE As Long = -100          '检测的最小值
Const DeviceHeight As Long = MAX_VALUE - MIN_VALUE
Private DeviceWidth As Long             '显示宽度由   PictureBox1   决定
Private xLast As Long
Private yLast As Long
    
Function GetNewValue() As Long
    Static v As Long
    v = v + Rnd() * 10 - 5
    If v > MAX_VALUE Then
        v = MAX_VALUE - (v - MAX_VALUE)
    ElseIf v < MIN_VALUE Then
        v = MIN_VALUE + (MIN_VALUE - v)
    End If
    GetNewValue = v
  End Function
    
Private Sub Form_Load()
    With Picture1
        .BorderStyle = vbBSNone
        DeviceWidth = .Width / Screen.TwipsPerPixelX
        .Height = DeviceHeight * Screen.TwipsPerPixelY
        .ScaleMode = vbPixels
        .BackColor = vbBlack
        .ForeColor = vbGreen
        .AutoRedraw = True
        Picture1.Line (0, MAX_VALUE)-(DeviceWidth, MAX_VALUE), vbYellow
    End With
    Timer1.Interval = 100
End Sub

Private Sub Command1_Click()
    Me.Cls
End Sub
 
Private Sub Timer1_Timer()
    Dim x As Long
    Dim y As Long
            
    x = xLast + 1
    y = MAX_VALUE - GetNewValue()
    If x >= DeviceWidth Then           '到达右边界,折回
        x = 0
        xLast = -1
        yLast = y
    End If
    Picture1.Line (x, 0)-(x, DeviceHeight), vbBlack         '前一根移动线为黑色
    Picture1.PSet (x, MAX_VALUE), vbYellow                  '中黄线
    Picture1.Line (x + 1, 0)-(x + 1, DeviceHeight), &H8000& '移动线
    Picture1.Line (xLast, yLast)-(x, y)                     '曲线
    xLast = x
    yLast = y
End Sub

--------------------编程问答-------------------- Command1_Click()要改一下:
Private Sub Command1_Click()
    Me.Picture1.Cls
    xLast = 0
    yLast = 0
End Sub

--------------------编程问答-------------------- http://www.wave12.com/web/SigCon.asp?bCate=41&sCateName=曲线图&ID=151&CateName=wsChart4.6(DLL)
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,