計算機應用基礎課程設計說明書(vb時鐘程序)_第1頁
計算機應用基礎課程設計說明書(vb時鐘程序)_第2頁
計算機應用基礎課程設計說明書(vb時鐘程序)_第3頁
計算機應用基礎課程設計說明書(vb時鐘程序)_第4頁
計算機應用基礎課程設計說明書(vb時鐘程序)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、交通與汽車工程學院課程設計說明書課 程 名 稱: 計算機應用基礎課程設計 課 程 代 碼: 6011339 題 目: 時鐘程序設計 年級/專業(yè)/班: 2011級車輛2班 學 生 姓 名: 曹安 學 號: 220 開 始 時 間: 2012 年 2 月 20 日完 成 時 間: 2012 年 3 月 2 日課程設計成績:學習態(tài)度及平時成績(30)技術水平與實際能力(20)創(chuàng)新(5)說明書(計算書、圖紙、分析報告)撰寫質量(45)總 分(100)指導教師簽名: 年 月 日 目 錄 (小三黑體,居中)摘要21 引言31.1問題的提出 31.2任務與分析 32 設計方案42.1程序功能設計 42.1.

2、1程序功能描述 42.1.2程序功能結構分析 42.2程序界面和代碼設計 52.2.1工程設計框架 52.2.2各界面及代碼設計 5 3 結果分析 12結論 12致謝 13參考文獻 14 摘 要 隨著計算機的不斷更新發(fā)展,計算機繪圖方法和計時器的使用扮演著極為重要的角色, Windows環(huán)境下的Visual Basic提供了豐富的繪圖方法。本文主要通過對選題背景、方案設計、界面設計、代碼編寫及調試以及軟件使用說明等的介紹,介紹了作者利用Visual Basic對“簡易時鐘程序設計”應用軟件的開發(fā)設計過程,并分析了所開發(fā)軟件系統(tǒng)的優(yōu)點和不足。關鍵詞:Visual Basic 簡易時鐘 程序設計

3、1 引 言 通過一年來對Visual Basic 高級語言程序設計的學習,我已經(jīng)掌握了一些常用的控件的使用方法,對簡單的程序設計的常用算法也有了一定的了解,還掌握了對繪圖和時間控制的一些基本操作。為了進一步加深理解、驗證、鞏固課堂教學內容,加深對可視化編程思想的理解,強化Visual Basic對程序流程控制、常用控件的屬性、事件、方法的理解和使用;1.1問題的提出 為了進一步提高編程能力、程序的調試能力,理論聯(lián)系實際的能力;鞏固所學的這些程序設計的方法,為了達到后續(xù)課程對實際編程計算能力的要求,特選定“簡易時鐘程序設計”這個寓教于樂的小題目作為課程設計實踐教學環(huán)節(jié)的題目,有助于培養(yǎng)綜合運用所

4、學知識解決實際問題的能力,可以充分發(fā)揮想象力和創(chuàng)新能力;有助于提高獨立思考能力,自學能力和團隊協(xié)作能力。1.2任務與分析 本任務是設計一個簡易時鐘,顯示當前的時間。主要運用了 visual basic 的繪圖方法和對timer控件的使用。要將繪圖方法和時間指針的走動相結合起來,找出其內在的聯(lián)系。2 設計方案 顯示一個動畫時鐘,該時針隨著每一秒而動態(tài)變化。與其他圖形動畫技術一樣,每隔1秒(1000毫秒)觸發(fā)Timer事件下的過程,繪制三個指針的位置,這樣就實現(xiàn)了每秒走時的電子鐘。而顯示當前時間則在timer事件中將當前時間(time)附給tabel1的caption,這樣就顯示啦,當前的時間。在

5、時鐘的框架上,用繪圖方法line和circle就可以啦。 2.1程序功能設計 設計一個類似于Windows“時鐘”的程序,并用數(shù)字顯示時間。2.1.1程序功能描述 1、在界面顯示一個活動時鐘,能模擬機械鐘表行走;2、表盤上有刻度和數(shù)字,數(shù)字顯示當前時間;3、時針、分針、秒針的位置與數(shù)字顯示時間一致,與計算機系統(tǒng)時間一致;4、用戶能修改時間并與計算機系統(tǒng)時間一致;2.1.2程序功能結構分析 主要使用時鐘Timer控件的Interval屬性和 Timer事件。1小時=60分=3600秒。分別用Hour()函數(shù)、 Minute()函數(shù)、 Second()函數(shù)返回當前系統(tǒng)時間Time()的小時、分鐘、

6、秒數(shù)。首先使用Scale方法定制用戶坐標系統(tǒng),如Picture1.Scale (X1, Y1)-(X2, Y2),定義了坐標系統(tǒng)(Picture1)的左上角(X1, Y1)和右下角(X2, Y2)的坐標值。坐標系統(tǒng)的中心在圖片框的正中,時鐘繪制在圖片框中的正中央,外圈用Pset方法或Circle方法繪制,時針、分針和秒針用Line方法選擇不同的線形和顏色繪制。每隔30°用Line畫一大刻度,每隔6°用Line畫一小刻度,表盤上的數(shù)字用CurrentX, CurrentY屬性定位后再用Print方法輸出。時針、分針、秒針隨時間變化而導致的位置改變同樣使用Line方法來實現(xiàn),代

7、碼寫在Timer事件中。2.2程序界面和代碼設計 2.2.1工程設計框架系統(tǒng)有兩個窗口一個模塊工程名為”我的時鐘”窗體名為”我的時鐘”2.2.2 各界面及代碼設計(1)主界面 圖 1歡迎界面主要代碼如下:Const PI = 3.1415926Dim BaseX As Integer, BaseY As Integer, R As IntegerDim basex1 As Integer, basey1 As Integer, basex2 As Integer, basey2 As IntegerDim basex3 As Integer, basey3 As Integer, basex4

8、 As Integer, basey4 As IntegerDim basex5 As Integer, basey5 As IntegerDim r1 As Integer, r2 As Integer, r3 As IntegerDim jiayi As IntegerDim jiaer As IntegerDim Second As IntegerDim Minute As IntegerDim Hours As IntegerPrivate Sub Command1_Click()EndEnd SubPrivate Sub Command2_Click() Form2.ShowEnd

9、SubPrivate Sub Command3_Click()jiayi = jiayi + 1End SubPrivate Sub Command4_Click()jiaer = jiaer + 1End SubPrivate Sub Command5_Click()jiayi = jiayi - 1End SubPrivate Sub Command6_Click()jiaer = jiaer - 1End Sub2)Command7代碼Private Sub Command7_Click()jiayi = 0jiaer = 0End Sub3)加載界面時公用代碼Private Sub F

10、orm_Load() Me.ScaleMode = 3 Me.AutoRedraw = True Me.ForeColor = vbBlack Label16.Caption = Time Label3.ForeColor = vbRed Label6.ForeColor = vbRed Label9.ForeColor = vbRed Label12.ForeColor = vbRed If Me.Width < 3000 Then Me.Width = 3000 If Me.Height < 3000 Then Me.Height = 3000End Sub4)畫指針用函數(shù)Pr

11、ivate Sub Init()Dim i As Integer BaseX = Me.ScaleWidth / 2 BaseY = Me.ScaleHeight / 2 If BaseX > BaseY Then R = BaseY * 0.6 If BaseY > BaseX Then R = BaseY * 0.6 r1 = R * 0.2 r2 = R * 0.1 r3 = R * 0.05 For i = 0 To 360 Step 6 If i Mod 30 = 0 Then Me.DrawWidth = 5 DrawLine BaseX + (R - 3) * Sin

12、(i * PI / 180), BaseY - (R - 3) * Cos(i * PI / 180), BaseX + (R - 8) * Sin(i * PI / 180), BaseY - (R - 8) * Cos(i * PI / 180), 3 Else Me.DrawWidth = 3 Me.PSet (BaseX + (R - 3) * Sin(i * PI / 180), BaseY - (R - 3) * Cos(i * PI / 180) End If Next i Me.DrawWidth = 1 Me.Circle (BaseX, BaseY), REnd Sub5)

13、畫外部表盤函數(shù)Private Sub DrawClock() If Hours > 12 Then Hours = Hours - 12 End If Me.DrawWidth = 1 Me.Circle (BaseX, BaseY), 4 DrawLine BaseX - r1 * Sin(Second * PI / 30), BaseY + r1 * Cos(Second * PI / 30), BaseX + (R - 10) * Sin(Second * PI / 30), BaseY - (R - 10) * Cos(Second * PI / 30), 0 DrawLine

14、BaseX - r2 * Sin(Minute * PI / 30), BaseY + r2 * Cos(Minute * PI / 30), BaseX + R * 0.8 * Sin(Minute * PI / 30), BaseY - R * 0.8 * Cos(Minute * PI / 30), 1 DrawLine BaseX - r3 * Sin(Hours + Minute / 60) * PI / 6), BaseY + r3 * Cos(Hours + Minute / 60) * PI / 6), BaseX + R * 0.6 * Sin(Hours + Minute

15、/ 60) * PI / 6), BaseY - R * 0.6 * Cos(Hours + Minute / 60) * PI / 6), 2End SubPrivate Sub DrawLine(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, Flag As Integer)Static OldSX1 As Integer, OldSX2 As Integer, OldSY1 As Integer, OldSY2 As IntegerStatic OldMX1 As Integer, OldMX2 As Integer

16、, OldMY1 As Integer, OldMY2 As IntegerStatic OldHX1 As Integer, OldHX2 As Integer, OldHY1 As Integer, OldHY2 As IntegerSelect Case FlagCase 0Me.DrawWidth = 2Me.Line (OldSX1, OldSY1)-(OldSX2, OldSY2), BackColorMe.Line (x1, y1)-(x2, y2), vbBlackOldSX1 = x1OldSX2 = x2OldSY1 = y1OldSY2 = y2Case 1Me.Draw

17、Width = 4Me.Line (OldMX1, OldMY1)-(OldMX2, OldMY2), BackColorMe.Line (x1, y1)-(x2, y2), vbYellowOldMX1 = x1OldMX2 = x2OldMY1 = y1OldMY2 = y2Case 2Me.DrawWidth = 6Me.Line (OldHX1, OldHY1)-(OldHX2, OldHY2), BackColorMe.Line (x1, y1)-(x2, y2), vbRedOldHX1 = x1OldHX2 = x2OldHY1 = y1OldHY2 = y2Case ElseE

18、nd SelectEnd SubPrivate Sub Form_Resize() Me.Cls Call InitEnd Sub6)工作函數(shù)Private Sub Timer1_Timer()Dim a As IntegerDim b As IntegerDim c As Integer Second = DatePart("s", Time) Minute = DatePart("n", Time) + jiaer Hours = DatePart("h", Time) + jiayi a = DatePart("s&q

19、uot;, Time) b = DatePart("n", Time) + jiaer c = DatePart("h", Time) + jiayi Call DrawClock Dim Tt As StringLabel16.Caption = c & ":" & b & ":" & aEnd Sub(2)信息界面 圖 2界面一主要代碼如下:Private Sub Command1_Click()Unload Me Form1.ShowEnd Sub3 結果分析 運行結果 圖 3 結 論 在設計過程中,我通過查閱大量有關資料,與同學交流經(jīng)驗和自學,并向老師請教等方式,使自己學到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設計中我懂得了許多東西,大大提高了自己的動手能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到

溫馨提示

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

評論

0/150

提交評論