机房收费系统——计算消费金额

      机房收费系统主窗体的上下机功能,需要得出你这段时间的消费时间,从而求出消费金额。起初,我感觉很简单,可是做着做着老是出错,有点按耐不住,直到最后实现了,回头看看,还是挺简单的。下面我跟大家说一下的的思路,仅供参考。

      消费时间:

      起初,我简单的认为把上下机的时间一减,问题就解决了,可是老是提示数据类型错误或者缺少**。查了一下才知道直接用一个 DateDiff 函数,问题就简单解决。

       DateDiff 函数返回两个日期或时间的差值,表达式

       DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])

objrs!consumetime = DateDiff("n", objrs!uptime, objrs!downtime)      '计算出上机时长
允许数据类型: timeinterval 表示相隔时间的类型,代码为:
年份 yy、yyyy 季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小时 hh
分钟 mi、n
秒 ss、s
毫秒 ms

      但是大家要注意了,这些时间类型的代码在VB中并不是都能用,大家可以发掘一下。

      

      消费金额:

      消费金额=消费时间*单位时间消费额

      消费时间需要取整,这个去过网吧的人应该都比较清楚。用 if函数和整除来解决。   

Dim consumetime As String         '声明consumetime为消费时间段的变量,
Dim rate As String                 '声明rate为单位时间的价格
Dim cash As String                  '声明cash 为消费金额
Dim unittime As String                '声明单位时间
    '判断是否超过了准备时间,否则不予扣钱
If consumetime < mrc!preparetime Then
    cash = 0
Else
    '判断消费时间是否为整(整个小时或整半个小时),不为整则向上补充至整
    If consumetime Mod unittime = 0 Then
        cash = (consumetime \ unittime) * rate
    Else
        cash = (consumetime \ unittime + 1) * rate
    End If
End If

     

        做机房收费的时候,最好能联系生活,然后根据你的思路一步一步写出了就好了,是不是感觉so easy !

     

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 45
    评论
实现功能:(1)客户端开机自动琐定,输入帐号、密码后进行验证登陆并开始计费。或控制端远程解锁上机。 (2).控制端能够对上网的客户端进行远程控制,比如:远程关机、注销、锁定、远程结帐后又自动锁定计算机等功能。 (3)能对客户端发送消息。 (4)客户端在上机过程中能够随时查看消费状态,比如:预缴金额、上机时间、上机金额等。 MySql表结构: desc user; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | uid | varchar(30) | NO | PRI | 0 | | | password | varchar(30) | NO | | 0 | | | balance | double | NO | | 0 | | | isvip | int(2) | NO | | 0 | | +----------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) desc userhistory; +-----------+-------------+------+-----+-------------------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+-------------------+-------+ | cid | varchar(30) | NO | | 0 | | | uid | varchar(30) | NO | MUL | 0 | | | isvip | int(2) | NO | | 0 | | | logintime | timestamp | NO | | CURRENT_TIMESTAMP | | | usetime | varchar(30) | NO | | 00:00:00 | | | cost | double | NO | | 0 | | +-----------+-------------+------+-----+-------------------+-------+ 6 rows in set (0.00 sec) 涉及知识点:swing,socket和serverSocket,jdbc,多线程,心跳包建立长连接,通信消息封装为xml。。。。
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值