基于VB6.0的定時任務隨機鈴聲鬧鐘_第1頁
基于VB6.0的定時任務隨機鈴聲鬧鐘_第2頁
基于VB6.0的定時任務隨機鈴聲鬧鐘_第3頁
基于VB6.0的定時任務隨機鈴聲鬧鐘_第4頁
基于VB6.0的定時任務隨機鈴聲鬧鐘_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、重慶理工大學專業(yè)綜合設計基于vb6.0的定時任務隨機鈴聲鬧鐘學生學號: 學生姓名: 專業(yè)班級: 指導教師: 起止日期: 2012.12 2013.1 重慶理工大學chongqing university of technology重慶理工大學專業(yè)綜合設計專業(yè)綜合設計任務書一、設計題目:基于bv6.0的隨機鈴聲定時任務鬧鐘二、設計目的:1、掌握microsoft visual basic 6.0的基本操作;2、掌握microsoft visual basic 6.0中基本和部分進階控件的使用;3、熟練掌握面向?qū)ο蟮某绦蛟O計方法;4、掌握利用setup factory 9.0打包成安裝包的方法。三

2、、設計任務及要求: 設計并實現(xiàn)定時任務的鬧鐘。下載microsoft visual basic 6.0。鬧鐘具有以下基本功能:1、具有日期、星期、時、分、秒顯示;2、具有定時執(zhí)行程序和關機、重啟的功能;3、具有隨機調(diào)用鈴聲的功能。四、設計時間及進度安排:設計時間共三周(2012.12.192013.1.7),具體安排如下表:周安排設 計 內(nèi) 容設計時間第一周查閱相關資料,掌握一些程序的設計方法。2012.12.192012.12.26第二周進行主程序的設計。2012.12.272013.1.2第三周調(diào)試、完善、測試程序。2013.1.32013.1.7五、指導教師評語及學生成績指導教師評語:年

3、 月 日成績指導教師(簽字):- i -目 錄專業(yè)綜合設計任務書i第1章 任務的提出1第2章 方案論證22.1 已有鬧鐘軟件的參考22.2 軟件隨機函數(shù)22.2.1 rnd函數(shù)22.2.2 randomize32.3 數(shù)組的使用3第3章 程序設計43.1 主窗口43.1.1 主窗口mainform.frm43.1.2 主窗口編程界面43.2 設置窗口63.2.1 設置窗口setform.frm63.2.2 設置窗口編程界面7第4章 程序調(diào)試運行安裝94.1 調(diào)試錯誤94.1.1 實時錯誤 7694.1.2 實時錯誤 994.1.3 實時錯誤 13104.1.4 “確定”按鈕無用104.1.5

4、程序退出不完全104.2 程序運行114.2.1 鬧鐘的設置114.2.2 鬧鐘的運行124.3 程序打包134.4 結(jié)束語14參考文獻15附錄16附錄一 程序完整代碼16主窗口(mainform.frm)16設置窗口(setform.frm)18附錄二 參考程序代碼19附錄三 程序流程圖23- 21 -第1章 任務的提出專業(yè)綜合設計是學生理論聯(lián)系實際的重要實踐教學環(huán)節(jié),是對學生進行的一次綜合性專業(yè)設計訓練。通過專業(yè)綜合設計使學生獲得以下幾方面能力,為畢業(yè)設計(論文)奠定基礎?,F(xiàn)代人的生活節(jié)奏越來越快,電腦也已經(jīng)成為了人們不可缺少的一個可以說是日常生活用品的東西,它已經(jīng)完全融入了我們的生活。于

5、是,在電腦上掌控時間的想法便應運而生。這個鬧鐘小軟件的設計想法就由此而來。第2章 方案論證全國進行軟件設計的學生很多都進行過鬧鐘的設計,將變量進行隨機取值的語句也很常見,所以這個方案具體實施起來難度不會太大。2.1 已有鬧鐘軟件的參考圖 2-1 已有鬧鐘主界面 圖2-1是華東理工大學長江學院計算機科學與技術(shù)專業(yè)甘文俊學生的鬧鐘程序主界面。基于小組三人能力所限,本組所完成的鬧鐘軟件是以甘文俊同學的作品作為主要參考對象的,所以不可避免地在程序代碼或界面設計上有一定的雷同,但絕大部分是小組成員獨立完成的。經(jīng)一段時間的學習,總結(jié)本次設計所用到的隨機過程的基本原理為2.22.3章節(jié)。2.2 軟件隨機函數(shù)

6、2.2.1 rnd函數(shù)在microsoft visual basic 6.0 sp6編寫環(huán)境中,隨機過程的實現(xiàn)是調(diào)用程序中的rnd函數(shù)。它是通過計算機通過計算得到的偽隨機方法,不過這不影響本軟件的編寫。使用rnd函數(shù)后,程序返回一個包含隨機數(shù)值的single。要實現(xiàn)一個整數(shù)的隨機具體的代碼如下:int (upperbound - lowerbound + 1) * rnd + lowerbound) (2-1)上段代碼中,upperbound是隨機數(shù)范圍的上限,lowerbound是隨機數(shù)范圍的下限。例如要實現(xiàn)隨機生成1到5之間的整數(shù)的代碼如下:dim tt = int(5 * rnd) +

7、1) (2-2)2.2.2 randomize在microsoft visual basic 6.0環(huán)境下,僅使用代碼2-2會得到一些重復的隨機數(shù)序列。假如使用代碼2-2得到的隨機數(shù)序列為3-1-2-5-1,那么在下個隨機過程后得到的序列也為3-1-2-5-1。要想得到不重復的隨機數(shù)序列,則需要在調(diào)用rnd函數(shù)前使用randomize。如果這樣,那么第二次隨機過程后得到的隨機數(shù)序列則可能為2-2-5-3-4。代碼2-2則變?yōu)椋篸im trandomizet = int(5* rnd) + 1) (2-3)2.3 數(shù)組的使用數(shù)組是在程序設計中為了處理方便把具有相同類型的若干變量按有序的形式組織起

8、來的一種形式,這些按序排列的同類數(shù)據(jù)元素的集合成為數(shù)組。在本軟件中,在sound文件夾下的所有*.mp3和*.wma音頻文件即為“相同類型的若干變量”,要在程序中方便地使用這些音頻文件就要用到數(shù)組。若把a定義為數(shù)組的名稱,數(shù)組的元素為每個音頻的地址,則數(shù)組的定義為:dim a() as string (2-4)代碼2-4中,括號中是用來設定數(shù)組a的范圍的,若沒有特殊要求,在定義數(shù)組的時候一般不寫,避免出現(xiàn)“下標越界”的錯誤。本次設計中所涉及到的均為一維數(shù)組,二維數(shù)組不予說明。第3章 程序設計3.1 主窗口3.1.1 主窗口mainform.frm圖 3-1 程序主窗口如圖3-1所示,為本軟件的

9、打開后的主窗口。提示有日期、星期、時間、設定時間,用戶可交互的有設定鬧鐘提示信息文本框、鬧鐘開始按鈕、鬧鐘停止按鈕、設定按鈕和退出按鈕。在輸入鬧鐘提示信息的文本框內(nèi),用戶可輸入設定時間到后,鬧鐘所彈出的提示信息。出于界面簡潔的考慮,作有30個字的字數(shù)限制。用戶在設定好鬧鐘后,須點擊“開始”按鈕,鬧鐘才會開始工作。同樣,不希望鬧鐘工作時,只需點擊“停止”按鈕即可。(圖中鬧鐘尚未點擊“開始”按鈕,“停止”按鈕處于不可用狀態(tài)。)3.1.2 主窗口編程界面圖 3-2 主窗口vb界面vb編程中主窗口的控件擺放如圖3-2.。其中含有l(wèi)abel標簽5個,commandbutton按鈕4個,timer時間控件

10、2個,textbox文本框2個,filelistbox文件表1個,windowsmediaplayer多媒體播放控件1個。其中l(wèi)abel1顯示的是日期和星期提示,label2顯示的是時間;label3和label4是固定文字提示;label5是鬧鐘設定時間提示。textbox1是輸入鬧鐘提示信息的,textbox3是作保存用戶指定定時啟動程序路徑之用。filelistbox讀取的sound文件夾下文件。windowsmediaplayer控件用來進行鈴聲的播放。timer時鐘控件是vb中與時間有關的一個控件,在這次設計中,應用到了兩個timer,他們起到軟件“啟動鬧鐘”的功能。兩個timer的

11、interval屬性都設置為1000,其意義是“返回/設置兩次調(diào)用timer控件的timer事件間隔的毫秒數(shù)”為1000,即每秒觸發(fā)一次timer事件。timer2是啟動程序時其enable值 = true的控件,他的作用是在啟動時顯示日期、星期、時間以及判斷安裝路徑下是否有“sound”文件夾,若沒有則創(chuàng)建該創(chuàng)建該文件夾,以免程序運行后出現(xiàn)“找不到路徑”錯誤。判斷語句采用“dir”語句。其代碼如下:if dir(app.path + sound, vbdirectory) = thenmkdir (app.path + sound) (3-1)在點擊“開始”按鈕后,timer1的enable

12、 = true,timer2的enable = false,timer1和timer2交換工作。timer1是本軟件的核心控件,它是鬧鐘功能得以實現(xiàn)的基礎。它共有以下幾個功能代碼:1. 讀入安裝路徑下“sound”文件夾下的mp3和wma音頻文件file1.path = app.path + sound file1.pattern = *.mp3;*.wmaredim a(0 to file1.listcount + 1) as string for i = 0 to file1.listcounta(i) = file1.path & & file1.list(i)next (3-2)代碼3

13、-2中,redim語句下數(shù)組a的上限為file.listcount + 1的原因是后面的數(shù)組a(i)的下標為i,本段代碼運行后的i值變?yōu)槲募A中音頻文件的數(shù)量+1,為避免出現(xiàn)“下標越界”的錯誤,故要修改上限。這樣,音頻文件的路徑就存入了數(shù)組a(i)中。2. 鬧鐘響鈴功能首先判定用戶設置的是否為鬧鐘,如果是,那么當設定時間到后,啟動鈴聲并彈出對話框提醒用戶。在啟動鈴聲之前,還要進行指定文件夾下是否有文件的判斷,若有則進行鈴聲隨機,若沒有則播放默認鈴聲。其具體代碼為:if dir(file1.path & *.*) = thenwindowsmediaplayer1.url = app.path

14、+ alarm.mp3windowsmediaplayer1.controls.playelse: randomizerd = int(i - 1) * rnd + 0) windowsmediaplayer1.url = a(rd)windowsmediaplayer1.controls.playend if (3-3)在代碼3-3中,由于i值比讀取文件數(shù)量多1,故在隨機過程中需 -1,使隨機數(shù)的上限正確;而程序默認每個文件的編號從0開始,所以隨機過程的下限設置為0。3. 重啟功能若用戶設置的定時任務為重啟,則執(zhí)行如下代碼:shell shutdown -r -t 30 (3-4)4. 關機

15、功能若用戶設置的定時任務為關機,則執(zhí)行如下代碼:shell shutdown -s -t 30 (3-5)5. 定時執(zhí)行程序功能若用戶設置的定時任務為啟動程序,則執(zhí)行如下代碼:shell text3.texttimer1.enabled = falsetimer2.enabled = true (3-6)在上面的3條語句中,shell的功能同在“運行”中輸入相應語句。3.2 設置窗口3.2.1 設置窗口setform.frm通過點擊主窗口中的“設定”按鈕進入鬧鐘的設定程序,其運行界面為:圖 3-3 設定窗口設定窗口分為上下兩個框架。上框架為時間設定框架,包含有設定的提示時間,默認是00:00:

16、00,設定的動作,默認為鬧鐘。還有選擇設定時間和動作的下拉菜單,以及確認添加/修改提醒時間的按鈕。下框架為啟動程序設定框架。當用戶選擇的動作為“啟動程序時”下方的“瀏覽”可用,用戶可以選擇一個可執(zhí)行文件(*.exe)來作為定時啟動目標??蚣苤杏谐绦蛎奶崾疽约俺绦蚵窂降奶崾?輸入框。3.2.2 設置窗口編程界面vb中設置窗口的控件擺放如圖3-4。上下兩個frame框架包含有兩個不同的部分。上部分frame的caption為時間設定。其中有固定文字提示的label1和label3,提示設定時間的label2,提示設定動作的label4。有combobox4個:combo1、combo2、comb

17、o3、combo4,分別設置時間“時”“分”“秒”和設置“動作”。以及一個確認commandbutton按鈕。下部分frame的caption為啟動程序設定。其中有一個固定文字提示label5,提示啟動程序名的label6,和鍵入/提示啟動路徑的textbox,以及瀏覽路徑command按鈕。在框架之外是設置窗口的確定和取消commandbutton按鈕,以及一個文件選擇控件commondialog。當點擊“瀏覽”按鈕選擇執(zhí)行程序路徑時,顯示commondialog1,控件只可讀*.exe文件。當用戶選擇完成以后,text1顯示所選路徑,label6的caption顯示所選文件的文件名,其具體

18、代碼如下:圖 3-4 設定窗口vb界面commondialog1.filter = 可執(zhí)行文件(*.exe)|*.exe commondialog1.filterindex = 1commondialog1.showopentext1.text = commondialog1.filenamelabel6.caption = dir(text1.text) (3-7)點擊窗口“確定”按鈕,彈出確定保存提示框,當用戶確定后,通過代碼3-8把設定的時間信息和程序啟動路徑信息賦給主窗口中的控件,以達到“確定保存”的目的。mainform.label5.caption = label2.caption

19、mainform.text3.text = label6.caption (3-8)第4章 程序調(diào)試運行安裝4.1 調(diào)試錯誤4.1.1 實時錯誤 76代碼3-1起到了一個判斷是否有文件夾的作用。在調(diào)試中,由于安裝路徑下沒有“sound”文件夾,并且沒有加入代碼3-1,則就會出現(xiàn)路徑未找到的實時錯誤。圖 4-1 實時錯誤 764.1.2 實時錯誤 9代碼3-2和代碼3-3的隨機過程,數(shù)組a()和i值的設置以及rnd函數(shù)的使用不當都會帶來實時錯誤9(圖4-2),及下標越界。圖 4-2 實時錯誤9“下標越界”是指在程序中引用了不存在的數(shù)組元素,使得下標可能比下標范圍大或小,或是在應用程序中這一邊的數(shù)

20、組沒有指定范圍。檢查數(shù)組的聲明以確認其上界和下界。解決辦法之一是數(shù)組重新指定范圍,使用 ubound 和 lbound 函數(shù)來決定數(shù)組訪問。如果索引指定為變量,應檢查變量名的拼寫。4.1.3 實時錯誤 13在設置窗口setform.frm中,因為沒有加入相應的避錯提示,導致在賦給label2.caption時間變量的時候出現(xiàn)類型不匹配的實時錯誤(圖4-3)。其解決辦法是加入避錯提示代碼(4-1)。圖4-3 實時錯誤 13if combo1.text = then msgbox (請選擇時!) elseif combo2.text = then msgbox (請選擇分!) elseif com

21、bo3.text = then msgbox (請選擇秒!)else: t = combo1.text & : & combo2.text & : & combo3.textlabel2.caption = tend if (4-1)4.1.4 “確定”按鈕無用在設定窗口無論點擊“確定”與否,其設定的時間和動作信息都會賦給主窗口。出現(xiàn)這個問題的原因是沒有加入過渡變量而直接使用了設定窗口中的值,導致主窗口忽視了“確定”按鈕的功能,顯得按鈕功能失效。其解決辦法是加入代碼3-8。4.1.5 程序退出不完全最后進行測試時,關閉程序之后,我們發(fā)現(xiàn)在任務管理器中還存在有程序的進程。后來研究發(fā)現(xiàn)是寫退出代碼

22、的時候忽略了設置窗口,僅把主窗口的“退出”按鈕代碼寫為4-2的形式。private sub exit_click()unload meend sub (4-2)其解決代碼為4-3:private sub exit_click()unload meunload setformend sub (4-3)4.2 程序運行4.2.1 鬧鐘的設置如圖4-4,以鬧鐘為測試對象,把鬧鐘提醒時間設定為15:00:00。圖 4-4 測試鬧鐘設置界面點擊下方“確定”按鈕后出現(xiàn)圖4-5的提示框,確認后提示設定成功(圖4-6)。圖 4-5 設置保存提示圖 4-6 設定成功提示4.2.2 鬧鐘的運行設定成功后,主窗口提

23、示設定時間,并且隨時可修改提示文字。點擊“開始”按鈕,鬧鐘開始工作。(圖4-7)圖 4-7 鬧鐘的運行到達設定時間,程序彈出提示信息(圖4-8),并響起默認鈴聲。圖 4-8 設定時間到在以上測試中,安裝路徑的sound文件夾下并沒有鈴聲,所以提示鈴聲為默認。以后多次測試時,我們加入了5個音頻文件,并實現(xiàn)了隨機播放的效果。重啟、關機、啟動任務等測試均取得了成功,在此不一一列舉。4.3 程序打包由于軟件在microsoft visual basic 6.0下編譯,并使用了一些默認控件以外的控件,如commondiaglog和windowsmediaplayer控件,這就導致在沒有安裝vb軟件的計算

24、機上無法運行本程序。于是需要進行程序打包操作,把程序運行需要的文件打包成一個安裝文件,在沒有vb軟件的計算機上進行安裝,以保證軟件的正常運行。我們采用的是利用setup factory 9.0這款軟件來進行打包,它會自動掃描在編寫軟件時用到的控件,并把控件打包成*.ocx文件,在安裝整個程序的時候安裝在系統(tǒng)盤下的windowssystem32(winxp/vista/win7)文件夾下。圖 4-9打包部分界面在進行好相關的設置之后,點擊“構(gòu)建”按鈕即可開始文件的打包工作。靜待一段時間后,打包完成(圖4-10)得到完整的安裝文件。圖 4-10 打包完成界面4.4 結(jié)束語經(jīng)過數(shù)天的程序設計和調(diào)試,

25、本次設計終于取得了成功,軟件正常運行,大小bug排除了十余個,得到了最終軟件成品。結(jié)論通過本次為期三周的專業(yè)綜合設計,我們小組最終做出了一個軟件鬧鐘成品,它是我們小組成員心血的結(jié)晶。小組在參考了數(shù)個已有鬧鐘軟件后,發(fā)現(xiàn)并沒有我們作品所設計的隨機播放鈴聲功能,所以我們決定把它作為一個創(chuàng)新點來進行設計。并且也很少有定時任務這一功能。雖然我們知道定時任務在windows系統(tǒng)的“計劃任務”功能里已經(jīng)很完善了,但是我們還是想自己親手做一做,把它集成到一個軟件里面。這次的設計充分鍛煉了我們的實際動手操作和變成能力,是對所學知識的一次檢驗。在整個過程中,設計和調(diào)試各占了一半的時間,這使我們懂得了調(diào)試程序的重

26、要性。當然也還有這個小軟件不足的地方,即是還沒有實現(xiàn)循環(huán)鬧鐘和多個鬧鐘的功能。初步了解后,需要把鬧鐘設置的時間以文檔形式存儲起來,在下次啟動的時候調(diào)用文檔數(shù)據(jù)。由于時間有限,我們并沒有進行相關的設計。最后要感謝王飛指導老師在設計過程中對我們小組的督促和建議,以及張子木同學在設計過程中給予的一些幫助和建議。沒有他們,本次設計不會順利完成。參考文獻1 明日科技. visual basic從入門到精通m.第三版. 北京:清華大學出版社,20122 王學軍,張玉梅 主編. visual basic程序設計m. 北京:中國鐵道出版社,20083 楊克玉 主編. vb6.0程序設計實訓教程m. 北京:機械

27、工業(yè)出版社,20054 胡鳴 主編. windows網(wǎng)絡編程技術(shù)m. 北京:科學出版社,20085 董正言 主編. 面向?qū)ο蟪绦蛟O計. 北京:清華大學出版社,2010.86 甘文俊. 附錄附錄一 程序完整代碼主窗口(mainform.frm)dim a() as stringprivate sub mainform_load() mainform.autoredraw = true windowsmediaplayer1.settings.volume = 100end subprivate sub form_queryunload(cancel as integer, unloadmode

28、as integer) if msgbox(確定退出?, vbyesno) = vbno then 退出確認 cancel = 1 end ifend subprivate sub set_click() setform.show mainform.enabled = falseend subprivate sub exit_click() unload me unload setformend subprivate sub start_click() timer2.enabled = false 點擊開始兩個timer交換工作 timer1.enabled = true stopalarm.

29、enabled = true start.enabled = falseend subprivate sub stopalarm_click() timer2.enabled = true timer1.enabled = false start.enabled = true stopalarm.enabled = false if setform.label4 = 關機 then shell shutdown -a elseif setform.label4 = 重啟 then shell shutdown -a end ifend subprivate sub timer1_timer()

30、 時間顯示 label1.caption = 今天是 & year(date) & 年 & month(date) & 月 & day(date) & 日 & 星期 & weekday(now) - 1 label2.caption = time$ file1.path = app.path + sound 讀取安裝路徑sound文件夾下的音頻文件 file1.pattern = *.mp3;*.wma redim a(0 to file1.listcount + 1) as string 文件讀入數(shù)組 for i = 0 to file1.listcount a(i) = file1.pat

31、h & & file1.list(i) next dim settime as date settime = label5.caption 鬧鐘定時任務主程序 if setform.label4 = 鬧鐘 then if time$ = settime then if dir(file1.path & *.*) = then windowsmediaplayer1.url = app.path + alarm.mp3 windowsmediaplayer1.controls.play else: randomize rd = int(i - 1) * rnd + 0) 隨機過程 windows

32、mediaplayer1.url = a(rd) windowsmediaplayer1.controls.play end if if text1.text = then if msgbox(設定時間到!, vbokonly, 設定時間到!) = vbok then windowsmediaplayer1.controls.stop timer1.enabled = false timer功能交換 timer2.enabled = true stopalarm.enabled = false start.enabled = true end if elseif msgbox(text1.te

33、xt, vbokonly, 設定時間到!) = vbok then windowsmediaplayer1.controls.stop timer1.enabled = false timer2.enabled = true stopalarm.enabled = false start.enabled = true end if end if elseif setform.label4 = 重啟 then if time$ = settime then shell shutdown -r -t 30 end if elseif setform.label4 = 關機 then if time

34、$ = settime then shell shutdown -s -t 30 end if else: if time$ = settime then shell text3.text timer1.enabled = false timer2.enabled = true stopalarm.enabled = false start.enabled = true end if end ifend subprivate sub timer2_timer() label1.caption = 今天是 & year(date) & 年 & month(date) & 月 & day(date

35、) & 日 & 星期 & weekday(now) - 1 label2.caption = time$ 判斷文件夾存在,否則創(chuàng)建該文件夾 if dir(app.path + sound, vbdirectory) = then mkdir (app.path + sound) end ifend sub設置窗口(setform.frm)dim filename as stringdim t as dateoption explicitprivate sub combo4_click() label4.caption = combo4.textend subprivate sub comman

36、d1_click() commondialog1.filter = 可執(zhí)行文件(*.exe)|*.exe 文件選擇 commondialog1.filterindex = 1 commondialog1.showopen text1.text = commondialog1.filename label6.caption = dir(text1.text)end subprivate sub command2_click() 保存提示 if msgbox(確定保存?, vbyesno) = vbyes then setform.hide mainform.enabled = true main

37、form.show mainform.label5.caption = label2.caption mainform.text3.text = label6.caption msgbox (設定成功,請點擊【開始】激活鬧鐘!) end ifend subprivate sub command3_click() setform.hide mainform.enabled = true mainform.showend subprivate sub command4_click() 避錯提示 if combo1.text = then msgbox (請選擇時!) elseif combo2.t

38、ext = then msgbox (請選擇分!) elseif combo3.text = then msgbox (請選擇秒!) else: t = combo1.text & : & combo2.text & : & combo3.text label2.caption = t end if if label4.caption = 啟動程序 then command1.enabled = true end ifend sub附錄二 參考程序代碼1、自動加載form1,初始化所有控件的數(shù)據(jù),并且讀取指定路徑的文件中數(shù)據(jù),然后將讀出的數(shù)據(jù)用選擇排序法,按先后順序排序,最后記錄比統(tǒng)時間大的最

39、小時間數(shù)據(jù),以便鬧鐘判斷。、private sub form_load()dim i as integer, a as integer, tmp as datefilenum = freefileopen d:time.dat for random as filenum len = len(t(i)lastrecord = lof(filenum) / len(t(i)if lastrecord 0 thenredim t(lastrecord - 1), t1(lastrecord - 1)elseredim t(0), t1(0)end iffor i = 1 to lastrecordg

40、et filenum, i, t(i - 1)t1(i - 1) = timeserial(val(t(i - 1).shizhong), val(t(i - 1).fenzhong), 0)next iclose filenumfor i = 0 to lastrecord - 2 for a = i + 1 to lastrecord - 1 if t1(a) t1(i) then tmp = t1(a) t1(a) = t1(i) t1(i) = tmp end if next anext ifor i = 0 to lastrecord - 1if t1(i) time thenb =

41、 t1(i)exit forend ifif i = lastrecord - 1 thenb = t1(0)exit forend ifnext iend sub2、單擊command1加載form2,以便用戶設定鬧鐘時間和鬧鐘音樂。并且同時是form1失效。 private sub command1_click()form2.showform1.enabled = falseend sub3、加載form2,使得form2的所有控件初始化數(shù)據(jù),然后用戶可以設置多個鬧鐘時間,并將其存儲在指定的文件中,以供以后讀取。 用戶還可以設定鬧鐘音樂,系統(tǒng)記錄下音樂路徑,并在label1中顯示。priv

42、ate t as timepublic filenum as integerpublic lastrecord as longpublic position as longprivate sub command1_click()commondialog1.filter = allfile(*.*)|*.*|音樂(.mp3)|*.mp3|音頻(.wma)|*.wmacommondialog1.filterindex = 2commondialog1.showopenlabel1.caption = commondialog1.filenameend subprivate sub command2

43、_click()msgbox 確定保存, 33, 確定close filenumunload meform1.enabled = trueend subprivate sub command3_click()unload meform1.enabled = trueend subprivate sub form_load()dim d as string, our as string, min as string, i as integera = 0filenum = freefileopen d:time.dat for random as filenum len = len(t)if lo

44、f(filenum) 0 thenlastrecord = lof(filenum) / len(t)for i = 1 to lastrecord get filenum, i, t d = t.shiduan our = t.shizhong min = t.fenzhong list1.list(i - 1) = d list1.list(i - 1) = list1.list(i - 1) & our list1.list(i - 1) = list1.list(i - 1) & : list1.list(i - 1) = list1.list(i - 1) & minnext iend ifend subprivate sub command4_click()list1.additem combo1.t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論