




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、沈 陽 航 空 航 天 大 學(xué) 課程設(shè)計(jì)學(xué) 號 2009040301055班 級 94030102姓 名 李超指導(dǎo)教師 劉學(xué)平2010 年 3 月 15 日沈航設(shè)計(jì)用紙沈陽航空航天大學(xué)課程設(shè)計(jì)任務(wù)書學(xué)院:航空宇航工程學(xué)院 專業(yè):飛行器制造 班級:94030102學(xué)號:2009040301055 題目:模擬時鐘一、課程設(shè)計(jì)時間2011年3月7日11日(第1周),共計(jì)1周。二、課程設(shè)計(jì)內(nèi)容在窗體上演示一個正在工作的有時、分、秒指針的時鐘,要求:可以對時鐘的時間進(jìn)行手工修正。用戶界面中的菜單(或命令按鈕)至少應(yīng)包括“運(yùn)行時鐘”、“修改時間”、 “退出”3項(xiàng)。三、課程設(shè)計(jì)要求程序質(zhì)量:² 貫
2、徹事件驅(qū)動的程序設(shè)計(jì)思想。² 用戶界面友好,功能明確,操作方便;可以增加其它功能或修飾。² 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計(jì)說明書:² 課設(shè)結(jié)束后,上交課程設(shè)計(jì)說明書和源程序。課程設(shè)計(jì)說明書的內(nèi)容參見提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:_ 學(xué)生簽名:_五、成績六、教師評語目 錄一、需求分析4二、設(shè)計(jì)分析5三、關(guān)鍵技術(shù)7四、總結(jié)12五、完整的源程序14六、參考文獻(xiàn)16一、需求分析“模擬時鐘”軟件。在窗體上演示一個正在工作的有時、分、秒指針的時鐘,要求:可以對時鐘的時間進(jìn)行手工修正。用戶界面中的菜單(或命令按鈕)至少應(yīng)包括“運(yùn)行時
3、鐘”、“修改時間”、 “退出”3項(xiàng)。在VB窗體Form1中設(shè)計(jì)模擬時鐘表盤,設(shè)計(jì)四個按鈕:運(yùn)行時鐘、修改時間、應(yīng)用、退出。在窗體Form2中設(shè)計(jì)填輸入時間的位置和兩個按鈕:重新輸入、確定。用運(yùn)行時鐘按鈕使時鐘從零點(diǎn)開始運(yùn)行。利用修改時間按鈕在Form2中輸入合理時間,單擊確定后單擊應(yīng)用使模擬時鐘按所需時間開始運(yùn)行。Form2中重新輸入按鈕可以使所有Text控件清空,可以進(jìn)行時間的重新輸入。程序可以實(shí)現(xiàn)時鐘指針的轉(zhuǎn)動。二、設(shè)計(jì)分析(1) 基本原理:設(shè)計(jì)表盤,利用勾股定理實(shí)現(xiàn)時鐘的轉(zhuǎn)動,通過兩個窗體的配合實(shí)現(xiàn)修改時間的功能,使模擬時鐘能像正常時鐘一樣運(yùn)行。(2) 總體設(shè)計(jì):總系統(tǒng)窗體1的功能設(shè)置窗
4、體2的功能設(shè)置窗體1和窗體2的配合圖1 總體設(shè)計(jì)(3) 詳細(xì)設(shè)計(jì):開始創(chuàng)建工程Form1的表盤設(shè)計(jì)Form2的界面設(shè)計(jì)Form1與Form2的連接指針與表盤的組合設(shè)計(jì)讀取所輸入的時間對按鈕的程序設(shè)計(jì)圖2 詳細(xì)設(shè)計(jì)(4)表盤設(shè)計(jì): 圖3 表格三、關(guān)鍵技術(shù)1實(shí)現(xiàn)指針的轉(zhuǎn)動Private Sub Timer1_Timer() Static s!, m!, h! s = s + 1 m = s / 60 h = m / 60 LineS.X2 = LineS.X1 + a * Sin(s * 6 * pai / 180) LineS.Y2 = LineS.Y1 - a * Cos(s * 6 * pa
5、i / 180) LineM.X2 = LineM.X1 + b * Sin(m * 6 * pai / 180) LineM.Y2 = LineM.Y1 - b * Cos(m * 6 * pai / 180) LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180) LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180) End Sub '使時鐘從初始位置開始工作 圖4 2 Form1與Form2的連接(1)顯示Form2Private Sub Command2_Click() Timer2.In
6、terval = 0 Timer1.Interval = 0 Form2.Show '關(guān)閉定時器1、定時器2,對時間進(jìn)行手工修改End Sub 圖5 (2)Form2隱藏Private Sub Command1_Click() If Val(Text1.Text) > 24 Or Val(Text1.Text) < 0 Or Val(Text2.Text) > 60 Or Val(Text2.Text) < 0 Or Val(Text3.Text) > 60 Or Val(Text3.Text) < 0 Then MsgBox "請輸入合理
7、時間": Text1.Text = "": Text2.Text = "": Text3.Text = "" '數(shù)據(jù)不合理時彈出提示 Else Form1.Show Form2.Hide '讀取到修改后的時間數(shù)據(jù)并關(guān)閉窗體2 End IfEnd Sub 注:輸入的時間不合理會彈出提示,輸入時間為空時也會彈出提示 圖6 圖73.修改的時間數(shù)據(jù)的讀取與運(yùn)行Private Sub Command4_Click() If Form2.Text1.Text = "" Or Form2.Text2.T
8、ext = "" Or Form2.Text3.Text = "" Then MsgBox "請輸入準(zhǔn)確時間": Form2.Show '提示用戶輸入準(zhǔn)確時間 Else Timer2.Interval = 1000: s = Form2.Text3.Text - 1 '激活定時器2 End IfEnd SubPrivate Sub Timer2_Timer() s = s + 1 m = Form2.Text2.Text + s / 60 h = Form2.Text1.Text + m / 60 LineS.X2 =
9、 LineS.X1 + a * Sin(s * 6 * pai / 180) LineS.Y2 = LineS.Y1 - a * Cos(s * 6 * pai / 180) LineM.X2 = LineM.X1 + b * Sin(m * 6 * pai / 180) LineM.Y2 = LineM.Y1 - b * Cos(m * 6 * pai / 180) LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180)LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180) End Sub '使時
10、鐘在修改時間后開始四、總結(jié) 本次課程設(shè)計(jì)我的任務(wù)是運(yùn)用VB設(shè)計(jì)一個模擬時鐘,包含運(yùn)行時鐘、修改時間、應(yīng)用、退出等功能。程序需要兩個窗體、兩個Timer控件以及四個按鈕控件:運(yùn)行時鐘、修改時間、應(yīng)用、退出??蓪?shí)現(xiàn)與正常時鐘相同的運(yùn)行速度??梢赃M(jìn)行手動的修改、運(yùn)行時鐘。還可以對用戶輸入的時間數(shù)據(jù)進(jìn)行判斷。 在此次課設(shè)過程中,設(shè)計(jì)界面使我了解到手工繪圖方面的一些控件,現(xiàn)在可以進(jìn)行熟練的運(yùn)用。Timer控件的運(yùn)行方法讓我用盡了心思,對于指針的初始位置的設(shè)置,我運(yùn)用到了控件的尺寸,指針的長度設(shè)置我運(yùn)用到了勾股定理,為了美觀和人性化處理對各個功能之間的顯示與切換我下個很大功夫。 VB的設(shè)計(jì)過程讓我深刻認(rèn)識
11、到知識的有用之處,這是一個即動手又動腦的一次實(shí)習(xí)。讓我意識到VB的魅力所在,它使我們能形象的了解到生活中的一些具體事物,使我們鍛煉了自己的動手能力,發(fā)揮了自己的智慧。讓我們發(fā)現(xiàn)自己的不足,認(rèn)識到更多我們所沒有觸及的知識。雖然這次設(shè)計(jì)出現(xiàn)很多困難的,但是在老師和學(xué)生的幫助下我終于做出來了,我感到很開心,畢竟是自己的勞動成果。很高興可以完成這次課設(shè),它讓我懂得只有努力才有收獲。五、完整的源程序Private Sub Command3_Click() End '結(jié)束程序End SubPrivate Sub Command4_Click() If Form2.Text1.Text = &quo
12、t;" Or Form2.Text2.Text = "" Or Form2.Text3.Text = "" Then MsgBox "請輸入準(zhǔn)確時間": Form2.Show '提示用戶輸入準(zhǔn)確時間 Else Timer2.Interval = 1000: s = Form2.Text3.Text - 1 '激活定時器2 End IfEnd SubPrivate Sub Form_Load() LineS.X1 = Shape1.Left + Shape1.Width / 2 LineS.Y1 = Shape
13、1.Top + Shape1.Height / 2 LineS.X2 = LineS.X1 LineS.Y2 = Shape1.Top + 150 '設(shè)置秒針初始位置 LineM.X1 = LineS.X1 LineM.Y1 = LineS.Y1 LineM.X2 = LineM.X1 LineM.Y2 = Shape1.Top + 260 '設(shè)置分針初始位置 LineH.X1 = LineS.X1 LineH.Y1 = LineS.Y1 LineH.X2 = LineH.X1 LineH.Y2 = Shape1.Top + 500 '設(shè)置時針初始位置 a = Sqr(
14、LineS.X1 - LineS.X2) 2 + (LineS.Y1 - LineS.Y2) 2) b = Sqr(LineM.X1 - LineM.X2) 2 + (LineM.Y1 - LineM.Y2) 2) c = Sqr(LineH.X1 - LineH.X2) 2 + (LineH.Y1 - LineH.Y2) 2) '設(shè)置指針長度 LineS.BorderColor = vbBlack LineS.BorderWidth = 1 LineM.BorderColor = vbBlue LineM.BorderWidth = 2 LineH.BorderColor = vbR
15、ed LineH.BorderWidth = 3 '設(shè)置指針的顏色和粗細(xì)End SubPrivate Sub Timer1_Timer() Static s!, m!, h! s = s + 1 m = s / 60 h = m / 60 LineS.X2 = LineS.X1 + a * Sin(s * 6 * pai / 180) LineS.Y2 = LineS.Y1 - a * Cos(s * 6 * pai / 180) LineM.X2 = LineM.X1 + b * Sin(m * 6 * pai / 180) LineM.Y2 = LineM.Y1 - b * Cos
16、(m * 6 * pai / 180) LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180)LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180) End Sub '使時鐘從初始位置開始工作Private Sub Timer2_Timer() s = s + 1 m = Form2.Text2.Text + s / 60 h = Form2.Text1.Text + m / 60 LineS.X2 = LineS.X1 + a * Sin(s * 6 * pai / 180) LineS.Y2 = LineS.Y1 - a * Cos(s * 6 * pai / 180) LineM.X2 = LineM.X1 + b * Sin(m * 6 * pai / 180) LineM.Y2 = LineM.Y1 - b * Cos(m * 6 * pai / 18
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)課題申報(bào)書項(xiàng)目類型
- 合建房屋合同范本
- 廠房清潔報(bào)價(jià)合同范本
- 課題立項(xiàng)申報(bào)計(jì)劃書范文
- 合同權(quán)益轉(zhuǎn)讓合同范例
- 合同范本押金退回
- 課題申報(bào)書哪里有
- 品牌宣傳服務(wù)合同范本
- 理療課題申報(bào)書格式范文
- 哪里醫(yī)學(xué)課題申報(bào)書
- 人教版八年級下冊生物全冊教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 無人機(jī)警用方向應(yīng)用簡介課件
- 《思想道德修養(yǎng)與法律基礎(chǔ)》說課(獲獎版)課件
- 幼兒園中班居家安全教案
- 水平定向鉆施工規(guī)范方案
- 教學(xué)樓畢業(yè)設(shè)計(jì)資料
- 國網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
- 香港雇傭合同協(xié)議書
- 建筑工程材料見證取樣及送檢培訓(xùn)講義(PPT)
- 部編版四年級語文下冊第二單元《習(xí)作:我的奇思妙想》課件PPT
- PS零基礎(chǔ)入門學(xué)習(xí)教程(適合純小白)PPT課件
評論
0/150
提交評論