近期,终于实现了上下机的功能。不过这一次的实践不同于第一次的机房收费系统,第一次的时候这一块都没有好好弄,草草收场。追其原因,是自己当时没有理清楚上下机的思路。
通过上面的两张图接下来我们就可以大胆放心的往下实现上下机的功能了。
难点分析:在计算上机金额的时候我们要根据上机的时间来确定。不知道你们是如何实现的。我是借用了一个DateDiff函数。在这里我想跟大家分享一下自己的使用心得。
DateDiff(timeinterval,date1,date2 )
允许数据类型: timeinterval 表示相隔时间的类型,代码为:
年份 yy、yyyy 季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小时 hh
分钟 mi、n
秒 ss、s
毫秒 ms
估计博友们看到这里还是不太满意,因为上面的这个还不够直观、透彻。接下来我就拿我自己的机房收费系统来举个例子。我是以分钟显示最后的上下机时间差的。所以可以直接写datediff("n",上机时间,下机时间)。在这里顺便附上我的代码。
'同一天()
If txtLoginDate.Text = txtOutLineDate.Text Then
txtCostTime.Text = DateDiff("n", txtOutLineTime.Text, txtLoginTime.Text)
End If
'不是同一天
If txtOutLineTime.Text > txtLoginTime.Text Then
txtCostTime.Text = DateDiff("n", txtLoginDate.Text, txtOutLineDate.Text) + DateDiff("n", txtLoginTime.Text, txtOutLineTime.Text)
End If
这一块的功能虽然是实现了,但是我发现自己在强制选人下机还有所有人下机那块又有点无语了,因为同样是这些东西,我在想能否抽象一个结账的方法直接调用就好。但是我自己目前还没有实现,望过路的高人可以指点指点我这个菜鸟呢。万分感谢!