敲这部分的时候逻辑有点混乱,想了好几天才算基本实现,下面是我整理的思维过程。
上机过程:
下机过程分为两种:
一:正常下机
二:强制下机
当定时检查余额为 0 时,强制学生下机。
需要注意的问题:
一:时间格式。因为我用的是 SQL2005 ,所以正确的时间格式很重要。
二:不要忘记基本数据设定表,而且要用最新定制的收费标准。
三:时刻记着你是管理着而不是上机的学生。(所以定时检查余额是只需检查余额为 0 ,强制下机即可)。
四:定时检查余额的时间间隔,Timer控件的Interval属性可以设置为0到65535之间的任意直,所以用Timer触发事件的最大时间间隔只能有65秒。如果你想增大时间间隔,可以使用下面的代码。但是记着时间间隔最大不能超过你的收费递增时间。
Dim dtNextTime As Date
Private Sub Form_load()
Timer1.Interval = 500
Timer1.Enabled = True
dtNextTime = DateAdd("n", 2, Now)
End Sub
Private Sub Timer1_Timer()
If Now >= dtNextTime Then
Timer1.Enabled = False
'在此加入你的代码
dtNextTime = DateAdd("n", 2, Now)
Timer1.Enabled = True
End If
End Sub
DateAdd函数用于计算在将来的多长时间后的时间(本示例为当前时间后2分钟的时间)。
以上是我做上下机的思路,代码不是很复杂,这里就不写了!只要弄清楚逻辑,实现还是不困难的!