b是一个滚动更新的变量,过10分钟就改变一次(比如为网上传来的某个数字),如何让后一次的b和前一次的b滚动对比大小?
比如06:00的b作为基准点,06:10的b和它比较大小,比较结束时要把06:10的b保存,作06:20的比较基准,如此往下滚动...
----------------------------------------
sub timer1() '通过timer,b2每10分钟从网上得到一个数据.dim b1, b2,a'b2是不断地从网络上得来新数据,正是这一点造成和一般的循环语句不同,一般的循环语句b是固定的,可以有b=b+1这种看起来很怪的东西b1=0 '???
'关键是这里,如果不给b1预先赋值,那首次执行比较时根本就没法比较.可是如果预先赋值,那下面末尾的b1=b2(把b1的内容更新为b2)又会毫无意义a=b2-b1if a>0 then msgbox"新数据大!"
else if a<0 then msgbox"旧数字大"
end if
endifb1=b2'比较结束时把前次的b保存,作为后次比较的基准end sub
-----------------------------------------谢谢!
不该摆在Timer事件
而且在Timer里面不能使用Msgbox 否则会被搞死
Dim MaxVal&,a&,b1&,b2&
sub timer1() '通过timer,b2每10分钟从网上得到一个数据
me.caption=iif(b2>b1,"新数据大!","旧数字大")
if b2>b1 then b1=b2
end sub
Private b1 As IntegerPrivate Sub Timer1_Timer()
b2 = 接收新数据
If b1 = 0 Then
b1 = b2
Else
if b2-b1>0 then
msgbox "新数据大!"
elseif b2-b1<0 then
msgbox "旧数字大"
elseif b2-b1=0 then
msgbox "相等"
endif
End If
End Sub
整型变量定以后默认值就是0,布尔型变量默认值是False
在语法上不要求显式地赋初始值。
Private b2 As Integer
Private b1 As IntegerPrivate Sub Timer1_Timer()
b2 = b+1
If b1 = 0 Then
b1 = b2
Else
if b2-b1>0 then
msgbox "新数据大!"
elseif b2-b1<0 then
msgbox "旧数字大"
elseif b2-b1=0 then
msgbox "相等"
endif
End If
End Sub
Private b1 As IntegerPrivate Sub Timer1_Timer()
b2 = b+1
If b1 = 0 Then
b1 = b2
Else
if b2-b1>0 then
msgbox "新数据大!"
elseif b2-b1<0 then
msgbox "旧数字大"
elseif b2-b1=0 then
msgbox "相等"
endif
b1=b2 '少了这一句
End If
End Sub