2007-06-10 17:27:41 Kenny

鬧鈴程式

 

 

Rem 表單佈局:
Rem image*1,command_button*3,frame*3,Timer*2,OLE*1
Rem frame各放置text *3 及確定按鈕, 可分別設定鬧鐘時間,調整系統時間、顯示鬧鈴時間,確定後儲存至變數等待時間比對。

執行之初,隱藏設定等介面

執行階段:Image1上點一下,顯示3控制鈕。

執行階段:設定鬧鈴時間,抓取系統時間為初值。

鬧鈴效果:以OLE控制項,控制聲音檔(wav)之播放,當系統時間=鬧鈴時間時觸動,

程式碼:

Dim frm_show As Boolean
Dim alarm As Boolean
Dim alarm_hh, alarm_mm, alarm_ss As Integer

Private Sub cmd_end_display_Click()
Call disable_frame
End Sub

Private Sub cmd_end_modify_Click()
hh = Text4
mm = Text5
ss = Text6
set_time = hh & ":" & mm & ":" & ss
Time = set_time '設定系統時間

Call disable_frame
End Sub

Private Sub cmd_end_set_Click() '設定鬧鈴時間
alarm_hh = Val(Text1)
alarm_mm = Val(Text2)
alarm_ss = Val(Text3)

Call disable_frame
End Sub

Private Sub Command_display_Click() '鬧鈴顯示
Frame_modify.Visible = False
Frame_set.Visible = False
Frame_display.Visible = True

Text7 = alarm_hh
Text8 = alarm_mm
Text9 = alarm_ss
End Sub

Private Sub Command_modify_Click() '時鐘調整

    Frame_modify.Visible = True
    Frame_set.Visible = False

   Text4 = Hour(Time) '截取現在系統時間
   Text5 = Minute(Time)
   Text6 = Second(Time)

End Sub

Private Sub Command_set_Click() '鬧鈴設定
Frame_modify.Visible = False
Frame_display.Visible = False
Frame_set.Visible = True

hh = Hour(Time) '預設值為現在系統時間
mm = Minute(Time)
ss = Second(Time)
Text1 = hh
Text2 = mm
Text3 = ss

End Sub

Rem image1上方製作2個command_button,下方為button1,上方為button2,如附圖
Private Sub Command1_Click() '當作鬧鐘上方的控制鍵,按一下,則command2顯示
Command2.Visible = Not Command2.Visible  
If Command2.Visible = True Then
  alarm = True
 Else
  alarm = False
  OLE1.Close
End If
End Sub

Private Sub Command2_Click() '當作鬧鐘上方的控制鍵,按下時停止鬧鈴
Command2.Visible = Not Command2.Visible
If Command2.Visible = True Then
  alarm = True
 Else
  alarm = False
  OLE1.Close
End If

End Sub

Private Sub Form_Load()
Call disable_frame '關閉設定,調整,顯示等介面
yy = Year(Date) - 1911
mm = Month(Date)
dd = Day(Date)
n = Weekday(Date)
Select Case n
    Case 1
        Week = "星期日"
    Case 2
        Week = "星期一"
    Case 3
        Week = "星期二"
    Case 4
        Week = "星期三"
    Case 5
        Week = "星期四"
    Case 6
        Week = "星期五"
    Case 7
        Week = "星期六"
End Select

Label1 = "民國" & yy & " 年" & mm & "月" & dd & "日" & "  " & Week
hh = Hour(Time)
mm = Minute(Time)
ss = Second(Time)
Label2 = "現在時間:" & hh & "點" & mm & "分" & ss & "秒"
alarm = False
Timer2.Enabled = False '關閉timer2
End Sub

Private Sub Image1_Click() '可以用繪圖軟體畫個鬧鐘
frm_show = Not frm_show
If frm_show = True Then
    Command_set.Visible = True
    Command_modify.Visible = True
    Command_display.Visible = True
Else
    Call disable_frame
End If
End Sub

Private Sub Timer1_Timer()  '系統時間
hh = Hour(Time)
mm = Minute(Time)
ss = Second(Time)
Label2 = "現在時間:" & hh & "點" & mm & "分" & ss & "秒"
'---------------------------------------------------------
If alarm_hh = hh And alarm_mm = mm And alarm_ss = ss Then
    alarm = True
    Timer2.Enabled = True
End If
If alarm_mm = mm Then     '1分鐘內鬧鈴仍致能中
    Timer2.Enabled = True
Else
    Timer2.Enabled = False
End If
End Sub

Sub disable_frame()                     '關閉3個按鈕及3個frame
    Command_set.Visible = False
    Command_modify.Visible = False
    Command_display.Visible = False
    '--------------------------------
    Frame_modify.Visible = False
    Frame_display.Visible = False
    Frame_set.Visible = False
End Sub

Private Sub Timer2_Timer()              '控制鬧鈴音樂動作
If alarm Then
    OLE1.DoVerb                         'ole1控制項,負責播放音樂(wav)
End If
End Sub