首页 > 范文大全 > 正文

下课倒计时软件的设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇下课倒计时软件的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在计算机屏幕上显示出下课剩余时间,时间到时弹出对话框,随之播放选择的音乐。

关键词:倒计时;播放音乐;对话框

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)20-4618-02

对于一名老师来说,把握下课的时间很重要,上课过程中需要了解一下时间,从而掌握教学进度。那么如何在电脑桌面上显示上课剩余时间呢?我利用VB编写了一个倒计时的程序。功能主要有:1)能实时显示上课剩余时间;2)在结束时能够弹出对话框来提醒;3)能选择音乐文件,在时间结束时播放。4)窗口较小,不会影响其它软件的使用和显示。

需解决的难题是:如何使程序运行窗口和结束时的弹出窗口总是在最前面。

1 程序的编写

程序中涉及到如下几个控件:一个标签(用于显示倒计时的数字),一个下拉列表框(用于选择从倒计时的初始值,默认值是45分钟),两个按钮(一个用于开始计时和取消计时,另一个用于选择打开音乐文件),一个定时器(产生timer事件),一个通用对话框(当action属性为1或用showopen方法时产生“打开”对话框,选择所需要的音乐文件),一个媒体播放控件windowsmediaplayer(用于播放音乐)。

通用对话框不是标准控件,只是一种ActiveX控件,在VB编程中需要通过选择“工程”“部件”命令加载Microsoft Common Dialog Control 6.0部件,工具箱上会出现通用对话框图标。

如下是这个程序所涉及的代码:

先建立一个通用模块,用于设置运行时的程序窗口在最前面的函数。

Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

‘下面是各个控件的代码

Dim t As Date ‘定义一个全局变量t

Private Sub Form_Load()

SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3 ‘设置窗口总在最前面

For i = 1 To 99

Combo1.AddItem i

Next i

End Sub

Private Sub Command1_Click() ‘用于设置和取消计时的按钮

If Command1.Caption = "设置" Then

t = Time ‘记录点击设置时的时间

Timer1.Interval = 1000 ‘计时器开始运行

WindowsMediaPlayer1.Controls.stop ‘媒体播放器停止播放

Combo1.Enabled = False

Command1.Caption = "取消"

Else

Combo1.Enabled = True

Command1.Caption = "设置"

End If

End Sub

Private Sub Command2_Click() ‘选择音乐的按钮

CommonDialog1.Action = 1

WindowsMediaPlayer1.URL = CommonDialog1.FileName ‘播放音乐的文件就是通过通用对话框选择的文件。

End Sub

Private Sub Timer1_Timer() ‘计时器控件的代码

If Command1.Caption = "取消" Then

Label1.Caption = Format(Val(Combo1.Text) - DateDiff("n", t, Time), "##")

End If

If Val(Combo1.Text) = DateDiff("n", t, Time) Then

Combo1.Enabled = True

Command1.Caption = "设置"

WindowsMediaPlayer1.Controls.play

MsgBox "休息一会儿!", vbMsgBoxSetForeground‘时间到时弹出对话框,并在最前面

Timer1.Interval = 0

End If

End Sub

Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)

WindowsMediaPlayer1.Controls.pause

End Sub

2 程序的运行

通过编译生成可执行文件后,如果别的计算机上没安装VB,则会提示“Componet ‘COMDLG32.OCX’ or one of its dependencies not correctly registered: a file is missing or invalid”,这是因为用于通用对话框控制的ActiveX控制模块comdlg32.ocx没有注册。这就需要下载comdlg32.ocx这个文件,然后将它拷贝到C:\windows\system32\文件夹下,接着运行注册命令“regsvr32 C:\WINDOWS\system32\COMDLG32.OCX”,就可正常运行倒计时软件了。

3 结束语

程序的编写都有一个循序渐进的过程,刚开始只是编写了一个小窗口的倒计时程序,后来逐步增加弹出窗口和加入音乐文件,音乐播放从开始固定音乐文件播放,到后来可以自由选择音乐文件的播放。这一路编写下来,确实充满了乐趣。

参考文献:

[1] 龚沛曾,杨志强,陆慰民.Visual Basic程序设计教程[M].北京:高等教育出版社,2009.