首页 > 电脑

VB的这题有人会嘛帮忙下谢谢,最好有步骤,好的就直接采纳,急求!!

更新时间2019-02-19 05:27:15

VB的这题有人会嘛帮忙下谢谢,最好有步骤,好的就直接采纳,急求!!

'窗体添加 Timer1、Timer2、Label1、Text1控件,并将Form1 属性 BorderStyle 设为 3
Dim Seconds  As Long        '计时器总秒数
Dim AlarmTime As Long       '设定闹钟时间的秒数
Dim B_BackColor As Boolean  '判断计时器总秒数是否超过闹钟设置的秒数
Private Sub Form_Load()
   With Label1
       .Caption = ""
       .Alignment = 2
       .BackStyle = 1
       .BorderStyle = 1
       .BackColor = &H80000005
       .Font.Name = "宋体"
       .Font.Size = 22
       .Font.Bold = True
   End With
   With Label2
       .Alignment = 1
       .Caption = "闹钟时间:"
   End With
   Text1.Text = ""
   Timer2.Enabled = False
   Timer2.Interval = 500
   
   Timer1.Interval = 1000
   Timer1.Enabled = True
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
   Dim tmp, i, j, k
   If KeyAscii = 8 Or (KeyAscii >= &H30 And KeyAscii <= &H3A) Then
       Exit Sub    '过滤保留“0~9”、“:”和反向擦除键(Backspace)的Ascii值
   ElseIf KeyAscii = 13 Then   '如果按回车键,则启动定时器
       If Text1.Text <> "" Then
           tmp = Split(Text1.Text, ":")
           j = IIf(UBound(tmp) > 2, 2, UBound(tmp)) '不规范的时间,只取数组前三个单元数据
           AlarmTime = 0: k = 0
           For i = j To 0 Step -1  '将时、分、秒转为秒
               AlarmTime = AlarmTime + (60 ^ k) * tmp(i)
               k = k + 1
           Next
           If Seconds > AlarmTime Then
               AlarmTime = AlarmTime + 43200   '如果设置的时间值小于定时器的值,则加上12小时的秒数(或24小时秒数 86400),此里选择按12小时计算
               B_BackColor = True      'Label1 背景颜色红白交替为真
           Else
               B_BackColor = False     'Label1 背景颜色红白交替为假
           End If
       End If
   Else
       KeyAscii = 0
   End If
End Sub
Private Sub Timer1_Timer()
   Seconds = Seconds + 1
   If AlarmTime > 0 Then
       If Seconds >= AlarmTime Then
           Timer2.Enabled = True
       End If
   End If
   If B_BackColor = True Then  'Label1 背景颜色红白交替
       If Seconds Mod 2 = 0 Then
           Label1.BackColor = &HFF&        '红色
       Else
           Label1.BackColor = &H80000005   '白色
       End If
   End If
   Label1.Caption = DateAdd("s", Seconds, "00:00:00")
End Sub
Private Sub Timer2_Timer()
   Beep
   '可以将Beep换成如下的语音朗读(精减版系统上可能无法朗读)。
   'Dim objVoice
   'Set objVoice = CreateObject("SAPI.SpVoice")
   'objVoice.Rate = 10       '速度:1 - 10
   'objVoice.Speak "快快"
   'Set objVoice = Nothing
   '另外,也可以通过WinAPI: sndPlaySound - 播放 wav 文件来实现自定义音频文件播放。具体略。
End Sub


窗体布局

VB的这题有人会嘛帮忙下谢谢,最好有步骤,好的就直接采纳,急求!!


闹钟设置

VB的这题有人会嘛帮忙下谢谢,最好有步骤,好的就直接采纳,急求!!


计时器秒数超过闹钟设置的总秒数时

VB的这题有人会嘛帮忙下谢谢,最好有步骤,好的就直接采纳,急求!!


相关标签:谢谢

上一篇:为什么Uplay一登陆就重启,一直循环,账号密码都正确,关机重启挂加速器都试过不行

下一篇:请问你有sysweld的教程是吗?能不能给我发一个,感激万分