分享

VB编程中时间计算问题如何求解?

 昵称37581541 2019-04-14

提示:

从计算通话费用问题说起

程序功能描述:

在窗体界面上添加名称Label1的控件数组,含四个标签,标题分别是'开始时间'、'结束时间'、'通话时间' 和'您本次通话费用';再一个名称为Text1的控件数组,含四个初始内容为空的文本框;此外还有两个名称分别为Cmd1和Cmd2的命令按钮,标题分别是'通话开始'和'通话结束'。

该程序的功能是计算公用电话计时收费。计时收费的标准是:通话时间在3分钟以内时,收费0.5元;3分钟以上时,每1分钟收取0.15元费用,不足1分钟的按1分钟计算。

程序具体执行的操作如下: 

①如果单击'通话开始'按钮,则在'开始时间'右侧的文本框中显示开始时间,且'通话结束'命令按钮变为可用,'通话开始'命令按钮变为不可用; 

②如果单击'通话结束'按钮,则在'结束时间'右侧的文本框中显示结束时间,同时计算通话时间和费用,并将其显示在'通话时间'右侧的文本框中,'通话开始'命令按钮变为可用,'通话结束'命令按钮变为不可用。


--程序运行图1--

代码如下:


Private Sub Cmd1_Click()

  Text1(0).Text = Str(Time())  ’点击开始通话时时获取系统当前时间

  Text1(1).Text = '': Text1(2).Text = '' :Text1(2).Text = ''   ‘初始状态为空’

  Cmd1.Enabled = False

  Cmd2.Enabled = True

End Sub


Private Sub Cmd2_Click()

  Text1(1).Text = Str(Time())  ’点击停止通话时时获取系统当前时间

  t_start = Hour(Text1(0).Text) * 3600 Minute(Text1(0).Text) * 60 Second(Text1(0).Text)

  t_end = Hour(Text1(1).Text) * 3600 Minute(Text1(1).Text) * 60 Second(Text1(1).Text)

  t = t_end - t_start   ‘计算总通话时间

  m = t \ 60

  If m < t / 60 Then m = m 1  ‘对时间进行判断’

  s = 0.5

  If m - 3 > 0 Then

    s = s (m - 3) * 0.15

  End If

   Text1(3).Text = '本次通话' & t & '秒'

   Text1(2).Text = Format(Str(s), '0.00') '元'   ‘格式化输出

  Cmd1.Enabled = True

  Cmd2.Enabled = False

End Sub


本程序知识点梳理

控件数组的添加方法及如何使用。

如何得到开始的时间和结束的时间,并且对时间进行相减操作,得到通话时间后,从而利用if判断语句进行分条件执行费用计算方法

Format函数的使用及VB内部函数中日期函数的使用

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多