vb時鐘模擬的課程設(shè)計報告_第1頁
vb時鐘模擬的課程設(shè)計報告_第2頁
vb時鐘模擬的課程設(shè)計報告_第3頁
vb時鐘模擬的課程設(shè)計報告_第4頁
vb時鐘模擬的課程設(shè)計報告_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、沈 陽 航 空 航 天 大 學(xué) 課程設(shè)計學(xué) 號 _2021040301131_班 級 _14030103_ 姓 名 _趙雙_ 指導(dǎo)教師 _董如楠_2021年 3 月 18 日沈陽航空航天大學(xué)課程設(shè)計任務(wù)書學(xué)院:空軍后備軍官學(xué)院 專業(yè):飛行器制造工程 班級:14030103學(xué)號:2021040301131 題目:時鐘模擬一、課程設(shè)計時間2021年3月11日15日(第3周),共計1周。二、課程設(shè)計內(nèi)容在窗體上演示一個正在工作的有時、分、秒指針的時鐘,要求:可以對時鐘的時間進(jìn)行手工修正。用戶界面中的菜單(或命令按鈕)至少應(yīng)包括“運(yùn)行時鐘”、“修改時間”、 “退出”3項。三、課程設(shè)計要求程序質(zhì)量:&#

2、178; 貫徹事件驅(qū)動的程序設(shè)計思想。² 用戶界面友好,功能明確,操作方便;可以增加其它功能或修飾。² 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計說明書:² 課設(shè)結(jié)束后,上交課程設(shè)計說明書和源程序。課程設(shè)計說明書的內(nèi)容參見提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:_ 學(xué)生簽名:_五、成績 六、教師評語目 錄需求分析4設(shè)計分析5關(guān)鍵技術(shù)6總結(jié)9完整的源程序10參考文獻(xiàn)13需求分析模擬時鐘運(yùn)行,主要要求是設(shè)計一個有時針,分針和秒針的時鐘。其應(yīng)該具有“運(yùn)行時鐘”,“修改時鐘”和“退出程序”3種功能。要求:在窗體上設(shè)計一個具有時針,分針和秒針的表盤。

3、此表盤用戶菜單至少應(yīng)包括“運(yùn)行時鐘”,“修改時鐘”和“退出”3項。能夠運(yùn)行時鐘。能夠隨時對時鐘進(jìn)行修改。能夠隨時退出運(yùn)行程序。設(shè)計分析(1) 基本原理:建立程序設(shè)計與圖形方法繪制圖形的綜合應(yīng)用。用Line方法For循環(huán)以及Timer控件使時鐘能夠動態(tài)運(yùn)行 (2)設(shè)計:開始調(diào)節(jié)時鐘修改時間確定修改暫?;蜷_始對時鐘進(jìn)行調(diào)整時鐘重新運(yùn)行退出結(jié)束程序 關(guān)鍵技術(shù)1 聲明變量,定義窗體 Const PI = 3.1415926Dim BaseX As Integer, BaseY As Integer, R As Integer(對變量進(jìn)行聲明) Private Sub Form_Load()Me.Sca

4、leMode = 3Me.Width = 5505Me.Height = 5475End Sub(定義窗體的高度和寬度)2 繪制表盤的代碼如下Private Sub biaopan()Dim i As IntegerBaseX = Me.ScaleWidth / 2BaseY = Me.ScaleHeight / 2If BaseX > BaseY Then R = BaseX * 0.6If BaseX < BaseY Then R = BaseY * 0.6(當(dāng)窗體的高度和寬度發(fā)生改變時,使得表盤始終在窗體的中心)For i = 0 To 360 Step 6If i Mod

5、30 = 0 Then Me.DrawWidth = 2 DrawLine BaseX + (R - 3) * Sin(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.PSet (BaseX + (R - 3) * Sin(i * PI / 180), BaseY - (R - 3) * Cos(i * PI / 180), vbBlue(

6、在表盤分針刻度的地方畫點) End If Next i Me.DrawWidth = 1 Me.Circle (BaseX, BaseY), R, vbRedEnd Sub3 畫線函數(shù)代碼如下Private Sub DrawLine(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, Flag As Integer)(自己編寫一個畫線的函數(shù))Static OldSX1 As Integer, OldSX2 As Integer, OldSY1 As Integer, OldSY2 As IntegerStatic OldMX1

7、 As Integer, OldMX2 As Integer, OldMY1 As Integer, OldMY2 As IntegerStatic OldHX1 As Integer, OldHX2 As Integer, OldHY1 As Integer, OldHY2 As IntegerSelect Case FlagCase 0Me.DrawWidth = 1Me.Line (OldSX1, OldSY1)-(OldSX2, OldSY2), BackColorMe.Line (x1, y1)-(x2, y2)OldSX1 = x1OldSX2 = x2OldSY1 = y1Old

8、SY2 = y2Case 1Me.DrawWidth = 2Me.Line (OldMX1, OldMY1)-(OldMX2, OldMY2), BackColorMe.Line (x1, y1)-(x2, y2)OldMX1 = x1OldMX2 = x2OldMY1 = y1OldMY2 = y2Case 2Me.DrawWidth = 3Me.Line (OldHX1, OldHY1)-(OldHX2, OldHY2), BackColorMe.Line (x1, y1)-(x2, y2)OldHX1 = x1OldHX2 = x2OldHY1 = y1OldHY2 = y2Case E

9、lseMe.Line (x1, y1)-(x2, y2)End SelectEnd SubPrivate Sub Form_Resize()(當(dāng)窗體大小發(fā)生改變時,重新繪制表盤)ClsCall biaopanEnd Sub4 Timer控件代碼如下Private Sub Timer1_Timer()Call DrawClockLabel1.Caption = Time()End 5 修改時間控件代碼如下Private Sub Command1_Click()Text1.Visible = True MsgBox "請輸入要修改的時間,輸入的數(shù)字必須符合時間格式" Text1

10、.SetFocusEnd Sub6 確認(rèn)修改控件代碼如下Private Sub Command4_Click()Time() = Text1.TextLabel1.Caption = Text1.TextEnd Sub7 退出控件代碼如下Private Sub Command2_Click()EndEnd Sub總結(jié) 這次課設(shè)我的題目是時鐘模擬,通過這次課設(shè)讓我了解了VB可以畫出許多圖形,并且可以將其與Timer控件聯(lián)系起來,是圖形能夠運(yùn)動起來。還可以運(yùn)用一些顏色函數(shù)給予圖形色彩,使圖形更加美觀生動。 在課設(shè)過程中,我遇到了重重困難,例如:怎樣畫出時鐘和指針的形狀以及標(biāo)注表盤刻度。還有,怎樣設(shè)

11、計Timer的內(nèi)部代碼以使時鐘能夠運(yùn)行。通過老師的指點和自己查閱資料,我克服了困難,順利的完成了任務(wù)。 同時我也了解了VB的出現(xiàn)是一場技術(shù)革命,它在生活中各個方面都能發(fā)揮巨大的作用,而且它也是理論聯(lián)系實踐的一個重要環(huán)節(jié),培養(yǎng)了我們獨立的創(chuàng)新思維能力。完整的源程序Const PI = 3.1415926Dim BaseX As Integer, BaseY As Integer, R As IntegerPrivate Sub Command1_Click()Text1.Visible = True MsgBox "請輸入要修改的時間,輸入的數(shù)字必須符合時間格式" Text1

12、.SetFocusEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Command3_Click()End SubPrivate Sub Command4_Click()Time() = Text1.TextLabel1.Caption = Text1.TextEnd SubPrivate Sub Form_Load()Me.ScaleMode = 3Me.Width = 5505Me.Height = 5475End SubPrivate Sub biaopan()Dim i As IntegerBaseX = Me.Scale

13、Width / 2BaseY = Me.ScaleHeight / 2If BaseX > BaseY Then R = BaseX * 0.6If BaseX < BaseY Then R = BaseY * 0.6For i = 0 To 360 Step 6If i Mod 30 = 0 Then Me.DrawWidth = 2 DrawLine BaseX + (R - 3) * Sin(i * PI / 180), BaseY - (R - 3) * Cos(i * PI / 180), BaseX + (R - 8) * Sin(i * PI / 180), Base

14、Y - (R - 8) * Cos(i * PI / 180), 3 Else: Me.PSet (BaseX + (R - 3) * Sin(i * PI / 180), BaseY - (R - 3) * Cos(i * PI / 180), vbBlue End If Next i Me.DrawWidth = 1 Me.Circle (BaseX, BaseY), R, vbRedEnd SubPrivate Sub DrawClock()Dim S As IntegerDim M As IntegerDim H As IntegerS = DatePart("s"

15、, Time)M = DatePart("n", Time)H = DatePart("h", Time)If H > 12 ThenH = H - 12End IfMe.DrawWidth = 1DrawLine BaseX, BaseY, BaseX + (R - 10) * Sin(S * PI / 30), BaseY - (R - 10) * Cos(S * PI / 30), 0DrawLine BaseX, BaseY, BaseX + R * 0.8 * Sin(M * PI / 30), BaseY - R * 0.8 * Cos

16、(M * PI / 30), 1DrawLine BaseX, BaseY, BaseX + R * 0.6 * Sin(H + M / 60) * PI / 6), BaseY - R * 0.6 * Cos(H + M / 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, Ol

17、dSY2 As IntegerStatic OldMX1 As Integer, OldMX2 As Integer, OldMY1 As Integer, OldMY2 As IntegerStatic OldHX1 As Integer, OldHX2 As Integer, OldHY1 As Integer, OldHY2 As IntegerSelect Case FlagCase 0Me.DrawWidth = 1Me.Line (OldSX1, OldSY1)-(OldSX2, OldSY2), BackColorMe.Line (x1, y1)-(x2, y2)OldSX1 =

18、 x1OldSX2 = x2OldSY1 = y1OldSY2 = y2Case 1Me.DrawWidth = 2Me.Line (OldMX1, OldMY1)-(OldMX2, OldMY2), BackColorMe.Line (x1, y1)-(x2, y2)OldMX1 = x1OldMX2 = x2OldMY1 = y1OldMY2 = y2Case 2Me.DrawWidth = 3Me.Line (OldHX1, OldHY1)-(OldHX2, OldHY2), BackColorMe.Line (x1, y1)-(x2, y2)OldHX1 = x1OldHX2 = x2

19、OldHY1 = y1OldHY2 = y2Case ElseMe.Line (x1, y1)-(x2, y2)End SelectEnd SubPrivate Sub Form_Resize()ClsCall biaopanEnd SubPrivate Sub Timer1_Timer()Call DrawClockLabel1.Caption = Time()End Sub參考文獻(xiàn)1 劉瑞新Visual Basic程序設(shè)計教程北京:機(jī)械工業(yè)出版社,2021 2 龔沛曾 楊志強(qiáng) 陸慰民.Visual Basic程序設(shè)計教程.高等教育出版社2021 3 龔沛曾 楊志強(qiáng) 陸慰民.Visual B

20、asic程序設(shè)計教程實驗指導(dǎo)與測試.高等教育出版社2021 4 龔沛曾 吳文虎 .Visual Basic程序設(shè)計經(jīng)典試驗案例集.高等教育出版社2021 公司印章管理制度一、目的 公司印章是公司對內(nèi)對外行使權(quán)力的標(biāo)志,也是公司名稱的法律體現(xiàn), 因此,必須對印章進(jìn)行規(guī)范化、合理化的嚴(yán)格管理,以保證公司各項業(yè)務(wù)的正常運(yùn)作,由公司指定專人負(fù)責(zé)管理。二、印章的種類1、 公章,是按照政府規(guī)定,由主管部門批準(zhǔn)刻制的代表公司權(quán)力的印章。2、 專用章,為方便工作專門刻制的用于某種特定用途的印章,如:合同專用章、財務(wù)專用章、業(yè)務(wù)專用章、倉庫簽收章等。 3、手章(簽名章),是以公司法人代表名字刻制的用于公務(wù)的印章。三、印章的管理規(guī)定1、 印章指定專人

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論