作业帮 > 综合 > 作业

做个简单的计时器左边两个TEXT用于分别显示分和秒,要动态的.右边两个Label内容可不写 还有两个text,一个用于输

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 04:15:07
做个简单的计时器
左边两个TEXT用于分别显示分和秒,要动态的.右边两个Label内容可不写 还有两个text,一个用于输入计时的最大时间,另一个用于输入响铃时间距结束时间的时差,例如输入30则在距总时间30秒时响铃.当然还有四个command用于开始计时,暂停,清空四个text,以及结束.要求清空时左侧两个text显示四个零.
左边两个Text分别是Text1、Text2
右边两个Text分别是Text3、Text4
四个Command分别是Command1、Command2、Command3、Command4
还有一个Label1、一个Timer1
以下是代码:
Dim s As Long
Private Sub Command1_Click() '开始计时
s = Val(Text3.Text)
Timer1.Interval = 1000
Timer1.Enabled = True
Label1.Caption = "开始!"
End Sub
Private Sub Command2_Click() '暂停和继续
If Timer1.Enabled Then
Label1.Caption = "暂停!"
Command2.Caption = "继续"
Timer1.Enabled = False
Else
Label1.Caption = "继续!"
Command2.Caption = "暂停"
Timer1.Enabled = True
End If
End Sub
Private Sub Command3_Click() '清空和停止
Timer1.Enabled = False
s = 0
Text1.Text = "00"
Text2.Text = "00"
Label1.Caption = "停止!"
End Sub
Private Sub Command4_Click() '退出程序
End
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer() '倒计时及响铃
s = s - 1
If s >= 0 Then
Text1.Text = Format(s \ 60,"00")
Text2.Text = Format(s Mod 60,"00")
End If
If s = Val(Text4) Then Label1.Caption = "响铃!"
If s
再问: 大部分都很好,符合要求,但是响铃的处理不好,结束也不好。 我需要的是当距离结束时间等于设定的时间差的时候,响铃,需要发出声音的,而不是显示文字。可以写一个播放指定路径的音频文件的东西但是不应需要再有别的操作(如单击)。当时间到了的时候也是需要播放相关声音文件的。
再答: 你可以用Beep命令让电脑的机箱小喇叭发出“哔”声,比如: If s = Val(Text4) Then Label1.Caption = "响铃!" Beep End If 不过现在的电脑多数都没有小喇叭了,所以这种方法不是很好。要播放其他音频文件,必须借助其他第三方控件或API函数才行,比如Windows Media Player 我之所以用文字显示来表示响铃,是因为你题目中说“简单的计时器”,而如果要播放声音文件,那就不能说是“简单的”了。要想做出一个实用性的计时器,代码量起码要多好几倍。 简单的实现方法还是有的,那就是用API函数播放Wav文件。下面的代码应该说是最简单的了: Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVallpszName As String, ByValhModule As Long, ByValdwFlags As Long) As Long Dim s As Long Private Sub Command1_Click() '开始计时 s = Val(Text3.Text) Timer1.Interval = 1000 Timer1.Enabled = True Label1.Caption = "开始!" End Sub Private Sub Command2_Click() '暂停和继续 If Timer1.Enabled Then Label1.Caption = "暂停!" Command2.Caption = "继续" Timer1.Enabled = False Else Label1.Caption = "继续!" Command2.Caption = "暂停" Timer1.Enabled = True End If End Sub Private Sub Command3_Click() '清空和停止 Timer1.Enabled = False s = 0 Text1.Text = "00" Text2.Text = "00" Label1.Caption = "停止!" PlaySound "d:\tmp\ting.wav", 0&, &H20001 'wav文件自己改 End Sub Private Sub Command4_Click() '退出程序 End End Sub Private Sub Form_Load() Timer1.Enabled = False End Sub Private Sub Timer1_Timer() '倒计时及响铃 s = s - 1 If s >= 0 Then Text1.Text = Format(s \ 60, "00") Text2.Text = Format(s Mod 60, "00") End If If s = Val(Text4) Then Label1.Caption = "响铃!" PlaySound "d:\tmp\ling.wav", 0&, &H20001 'wav文件自己改 End If If s