作品展作品延伸——代码

作品展作品延伸——代码

上一篇博客中,我介绍了基于作品展小组作品的修改版作品,这一作品是用VB语言编写的辩论赛计时器应用,具体介绍见这篇博客:link
接下来我将介绍本作品的代码等,和我在开发本软件时遇到的主要技术性问题及解决方案。

作品代码

首先介绍作品的窗体和功能。本作品用到了6个窗体:开始界面窗体、辩论赛流程介绍窗体、一般倒计时窗体(主要窗体)、自由辩论倒计时窗体、15秒倒计时窗体、结束界面窗体。
本作品的主要功能基本只有倒计时,用到了Timer控件来实现,代码如下(以一般倒计时为例,Interval=1000):

Dim sec As Integer
Dim minu As Integer
......
Private Sub Timer1_Timer()
sec = sec - 1
If sec < 0 Then
    minu = minu - 1
    sec = 59
End If
If minu < 0 Then
    ......
    Timer1.Enabled = False
    minu = 0
    sec = 0
End If
txtmin.Text = Str(minu)
txtsec.Text = Str(sec)
End Sub

以上代码只表明倒计时循环如何实现,不是完整实际代码。
我在开发这个软件的过程中,遇到的最大问题就是,如何在一个窗体内判断辩论赛进行到哪个步骤,并自动更换窗体名及倒计时时间等,尤其是还有自由辩论这一不在同一窗体实现的功能。经过尝试,我只找到了一种较为麻烦的办法,关于这一点,如有其它方法欢迎与我交流。我的解决方法具体为:
1.添加一个全局变量step

Dim step As Integer

2.每次倒计时结束时或点击“结束发言,开始下一环节”时,step+1

Private Sub Timer1_Timer()
......
If minu < 0 Then
    step = step + 1
    ......
End If
End Sub
Private Sub cmdnext_Click()
step = step + 1
......
End Sub

3.在每次倒计时结束时或点击“结束发言,开始下一环节”时,用Case语句判定一次step,并依据他改变一些参数:

Select Case step
    Case 0
    sec = 0
    minu = 3
    Form3.Caption = "正方一辩-3分钟"
    Case 1
    sec = 0
    minu = 3
    Form3.Caption = "反方一辩-3分钟"
    Case 2
    sec = 0
    minu = 2
    Form3.Caption = "反方二辩-2分钟"
    ......
    Case 8
    Form4.Show
    step = step + 1
    Form3.Caption = "反方四辩-3分钟"
    ......
   Case 11
    Form3.Hide
    Form6.Show
End Select

这样便解决了判断进行到哪一环节的问题,其他代码方面没有太大问题,多为细节调整,在此不做介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值