ryData.dat" For Random As #1 Len = 4
`打开历史数据库,
每个记录存放一 个单精度数
S = 400 `设置量程
End Sub
5、Private Sub Command1_Click( )
`曲线右移4个小时
Dim w As Long. H As Long, I As Long, j As Long
Dim y1 As Long, y2 As Long, y As Single
Picture2.Picture = LoadPicture("") `清曲线
w = Picture2.Width
h = Picture2.Height
Picture2.Line (0,0) - (w-1,h -20 -1) ,RGB(127,127,127),B `用灰色在
图片上
画网格
For I = 1 To 4
Picture2.Line(0,I*20) - (w-1,I*20),RGB(127,127,127)
Next I
For I = 1 To 7
Picture2.Line(I*60,0) - (I*60,h-20-1),RGB(127,127,127)
Next I
y1= -1
I = 0
j=0
Do While Not EOF(#1 ) AND I < w
Get #1,y
y2 = (S -y)/S*h `根据量程转换为具体坐标值
If y1 < > -1 Then
Picture2.Line (I , y1) - (I+2, y2) , RGB(0,255,0) `用绿色画曲线
I = I+2
y1 = y2
End IF
j = j+1
If j = 60 Then 注释:显示时间(用小时显示)
Htime = TimeValue(Htime)+TimeValue("01:00:00")
j = 0
Picture2.CurrentX= I -10
Picture2.CurrentY= h -20
Picture2.Print Hour(Htime)
End If
End Do
FileNo = Seek(#1) `获得历史数据库的记录号
End Sub
6、Private Sub Command3_Click( )
`曲线左移4个小时
Dim w As Long. H As Long, I As Long, j As Long
Dim y1 As Long, y2 As Long, y As Single
Picture2.Picture = LoadPicture("") `清曲线
w = Picture2.Width
h = Picture2.Height
Picture2.Line (0,0) - (w-1,h -20 -1) ,RGB(127,127,127),B `用灰色在
图片上
画网格
For I = 1 To 4
Picture2.Line(0,I*20) - (w-1,I*20),RGB(127,127,127)
Next I
For I = 1 To 7
Picture2.Line(I*60,0) - (I*60,h-20-1),RGB(127,127,127)
Next I
y1= -1
I = 0
j=0
If FileNo >240 Then `记录指针往前移240个记录
FileNo = FileNo - 240
Seek #1,FileNo
Htime = TimeValue(Htime) - TimeValue("04:00:00") `时间左移4个小时
End If
Do While Not EOF( #1) AND I < w
Get #1,y
y2 = (S -y)/S*h
If y1 < > -1 Then
Picture2.Line (I , y1) - (I+2, y2) , RGB(0,255,0) `用绿色画曲线
I = I+2
y1 = y2
End IF
j = j+1
If j = 60 Then 注释:显示时间(用小时显示)
Htime = TimeValue(Htime)+TimeValue("01:00:00")
j = 0
Picture2.CurrentX= I -10
Picture2.CurrentY= h -20
Picture2.Print Hour(Htime)
End If
End Do
FileNo = Seek(#1) `获得历史数据库的记录号
End Sub
至于曲线左移8小时和右移8小时,可以参考上述的方法,在画两点之间的直线时,以一个像素点为一小段直线,这里不一一举例。