,VB   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,VB
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VB > 正文
VB设计有语音报时和报警功能的闹钟
[文章信息]
作者:潇潇
时间:2004-05-18
出处:Yesky开发者网络
责任编辑:方舟
[文章导读]
经常在论坛上看到很多刚刚想要步入编码领域的爱好者问道:我数学学的不好,能学好编程吗?
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

上一页  1 2 3 4 5 6 7 8 9 10 11 12  

  三、实现定时关机和定时报警

  对于这两个内容,其实原理是相同的,只是功能不同罢了.下面我们来分析一下它的实现方法.这两个功能都是时时比较设定的时间和当前时间,如果相同,则触发事件,对于定时关机来说就是调用ExitWindowsEx ( ) 函数.而定时报警可以用任何方式 ( 如声音,或形象) 来引起使用者注意.

  我们先来看看ExitWindowsEx ( ) 函数的相关知识.

  ExitWindowsEx ( )

  Vb声明: Declare Function ExitWindowsEx Lib " user32 " Alias " ExitWindowsEx " ( ByVal uFlags As Long , ByVal dwReserved As Long ) As Long

  说明: 退出windows,并用特定的选项重新启动, 返回值为 Long 型,非零表示成功,零表示失败。会设置GetLastError

参数表
参数 类型及说明
uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起)
EWX_FORCE 强迫中止没有响应的进程
EWX_LOGOFF 中止进程,然后注销
EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)
EWX_REBOOT 重新引导系统
EWX_SHUTDOWN 关闭系统
dwReserved Long,保留,设为零

  这个函数调用后会立刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作.

  下图为我们对程序界面的修改.其中我们主要添加了一个frame1 ,两个单选框( Option1和Option2 ) , 三个文本框( text1 , text2 , text3 ) , 三个标签( label1 , label2 , label3 ) 以及一个按钮Command1.其中两个单选框( Option1和Option2 ) ,可以通过选择其中的一个,来确定究竟要使用那种功能. 三个文本框( text1 , text2 , text3 )来接受设定的时间,之后点击按钮Command1来应用。



  下面是添加和修改的代码:


‘ = = = = = = = = = = = = = = = = = = = =

‘下面的为新添加的

‘ = = = = = = = = = = = = = = = = = = = =

Dim guanji As Boolean
Dim sheshi As Integer
Dim shefen As Integer
Dim shemiao As Integer

Private Sub Command1 _ Click ( )
 If Text1.Text = "" Or Text2.Text = "" Or Text3.Text Then
  MsgBox "请填完整"
 End If
 If Option1.Value = True Then
  guanji = True
 end if

 sheshi = Text1.Text
 shefen = Text2.Text
 shemiao = Text3.Text

End Sub

‘ = = = = = = = = = = = = = = = = = = = = = =
‘ 下面语句中,添加了一部分,有标示
‘ = = = = = = = = = = = = = = = = = = = = = =

Private Sub Timer1 _ Timer ( )

 miao = Second (time)
 miao = 60 – miao
 fen = Minute (time)
 fen = 60 - fen
 shi = Hour (time)

 If shi > = 12 Then ‘因为一天之内时针要走二十四个钟头,也就是要走两圈,所以将下午和晚上的时间减去十二,就可以确定时针准确的位置
  shi = shi - 12
 End If

 shi = 12 - shi
 miao = xianshimiao ( maio )
 fen = xianshifen ( fen )
 shi = xianshishi ( shi )

 ‘ = = = = = = = = = = = = = = = = = = = =
 ‘ 下面几句为新添加的
 ‘ = = = = = = = = = = = = = = = = = = = =

 if sheshi = shi and shefen = fen and shemiao = miao then

  if guanji = true then
    call ExitWindowsEx ( EWX_SHUTDOWN , 0 )
  else
    Msgbox “ 您设定的时间已到 ”
  End if

 If fen = 0 and miao = 0 then ‘如果分针和秒针都为零,这位整点,根据时针的数报时
  Select case shi
   MMControl1.FileName = App . Path & “ 0.wav ” ‘选择要打开的文件
   MMControl1.Commond = “ Open ” ‘打开所选择的文件
   MMControl1.Commond = “ Play ” ‘播放所选择的文件
  Case 1 ‘ 一点,1.wav报时一点,以下依次类推
   MMControl1.FileName = App . Path & “ 1.wav ” ‘选择要打开的文件
   MMControl1.Commond = “ Open ” ‘打开所选择的文件
   MMControl1.Commond = “ Play ” ‘播放所选择的文件
  Case 2
   MMControl1.FileName = App . Path & “ 2.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 3
   MMControl1.FileName = App . Path & “ 3.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 4
   MMControl1.FileName = App . Path & “ 4.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 5
   MMControl1.FileName = App . Path & “ 5.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 6
   MMControl1.FileName = App . Path & “ 6.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 7
   MMControl1.FileName = App . Path & “ 7.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 8
   MMControl1.FileName = App . Path & “ 8.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 9
   MMControl1.FileName = App . Path & “ 9.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 10
   MMControl1.FileName = App . Path & “ 10.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  Case 11
   MMControl1.FileName = App . Path & “ 11.wav ”
   MMControl1.Commond = “ Open ”
   MMControl1.Commond = “ Play ”
  End Select
 MMControl1.Commond = “ Close ”
End Sub

  我们终于写出了一个完整的钟表程序,其中很多内容,大家都是熟悉的,但怎样将这些知识应用到实际的开发中呢?希望本文能让你重新思考,进而深入理解。


上一页  1 2 3 4 5 6 7 8 9 10 11 12  

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
,VB相关内容,VB焦点新闻
  • 用VB6.0编程禁止网上下载文件
  • VB6.0应用程序界面设计探讨
  • VB中控件大小随窗体大小变化而变化
  • Visual Basic实现对I/O端口操作
  • 利用API函数实现图像淡入淡出
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,VBAdvertisement