版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 課程設(shè)計(jì)題目:模擬時(shí)鐘 </p><p><b> 學(xué)生姓名: </b></p><p> 專 業(yè): 軟件工程</p><p> 班 級: </p><p&g
2、t; 學(xué) 號: </p><p> 指導(dǎo)教師: </p><p> 2012年 6 月 13日</p><p><b> 目 錄</b></p><p> 第一章 題意分析…………………………………………………3</p><p> 第二章 工作日志……………………
3、……………………………4</p><p> 第三章 關(guān)鍵實(shí)現(xiàn)技術(shù)……………………………………………6</p><p> 第四章 設(shè)計(jì)小結(jié)…………………………………………………8</p><p> 第一章 題意分析</p><p> VB是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,VB具有強(qiáng)大的設(shè)計(jì)功能,而自己所學(xué)的知識有限,再結(jié)合自己個人的興趣愛
4、好與能力,經(jīng)過再三考慮,最后決定了制作模擬時(shí)鐘的大致方向。首先界面設(shè)計(jì)1個Timer、2個Label、3個Line控件實(shí)現(xiàn)電子時(shí)鐘的查看時(shí)間以及日期的功能。設(shè)置好主要控件后,然后用這些控件來實(shí)現(xiàn)模擬時(shí)鐘的功能,通過vb代碼實(shí)現(xiàn)。最后達(dá)到一個窗體模塊,完成模擬現(xiàn)實(shí)時(shí)鐘的功能。設(shè)置符合現(xiàn)實(shí)每60秒走一分鐘,每60分鐘走一個小時(shí),同時(shí)添加顯示完整日期的功能。</p><p><b> 工作日志</b&
5、gt;</p><p> 由于這次是重修VB,以前學(xué)的也忘的差不多了,然后一個人這幾天奮發(fā)的看完了原來的教材。</p><p> 這次碰到了好多不會的地方,然后一個一個被我解決了,做出了這個簡單的模擬時(shí)鐘。首先窗體的坐標(biāo)系都不了解,先后查了資料,窗體的坐標(biāo)系有幾種,即默認(rèn)坐標(biāo)系統(tǒng)、用戶自定義坐標(biāo)系統(tǒng)。而且設(shè)置坐標(biāo)的方式有幾種,我這次用Scale方法自定義設(shè)置坐標(biāo)系。第二個,就是直線控件
6、的用法,直線怎么代替鐘的指針圍繞中心轉(zhuǎn)動,我想到了用直線代替鐘的指針,但是我不知道怎么讓他圍繞中心轉(zhuǎn)動,在我vb教材書上也沒有例子系統(tǒng)的講解,只是籠統(tǒng)的概括了一下,這我只有到圖書館去借一本有關(guān)這方面的書籍。了解到直線有兩端,各有坐標(biāo)屬性,知道這點(diǎn)就好辦多了,然后就根據(jù)現(xiàn)實(shí)時(shí)鐘的常識了解到,讓直線一端坐標(biāo)固定設(shè)置在坐標(biāo)原點(diǎn),然后另一端圍繞坐標(biāo)原點(diǎn)轉(zhuǎn)動,這就模擬出用直線控件代替時(shí)鐘指針轉(zhuǎn)動的過程。還有一個問題就是怎么直線以現(xiàn)實(shí)時(shí)鐘那樣速度圍
7、繞原點(diǎn)轉(zhuǎn)動,這也是一個難點(diǎn),這就需要時(shí)間控件Timer來設(shè)置速度。還有用Lebel來顯示完整的系統(tǒng)日期。用畫矩形來代替時(shí)鐘的邊框。設(shè)置好各控件和窗體的顏色等屬性。反復(fù)運(yùn)行稍微修改幾次做出這個模擬時(shí)鐘程序。</p><p> 第三章 關(guān)鍵實(shí)現(xiàn)技術(shù)</p><p> 本程序運(yùn)用到了Timer1控件及其眾多屬性,通過Timer1_Timer()時(shí)間和Interval屬性控制時(shí)鐘指針的轉(zhuǎn)
8、動。另外還定義了坐標(biāo)系和系統(tǒng)時(shí)間日期等等 。</p><p><b> 程序源代碼:</b></p><p> Const pi = 3.141592654</p><p> Private Sub Form_Load()</p><p><b> '自定義坐標(biāo)</b></p&
9、gt;<p> x = form1.ScaleWidth / 2</p><p> y = form1.ScaleHeight / 2</p><p> form1.Scale (-x, y)-(x, -y)</p><p><b> '標(biāo)表盤上的數(shù)字</b></p><p> form1
10、.CurrentX = 1600 * Sin(pi / 6 - 0.05): form1.CurrentY = 1600 * Cos(pi / 6): form1.Print "1"</p><p> form1.CurrentX = 1600 * Sin(pi / 3 - 0.05): form1.CurrentY = 1600 * Cos(pi / 3): form1.Print &qu
11、ot;2"</p><p> form1.CurrentX = 1600: form1.CurrentY = 120: form1.Print "3"</p><p> form1.CurrentX = 1600 * Sin(pi * (2 / 3) + 0.07): form1.CurrentY = 1600 * Cos(pi * (2 / 3) - 0
12、.07): form1.Print "4"</p><p> form1.CurrentX = 1600 * Sin(pi / 2 + pi / 3 + 0.07): form1.CurrentY = 1600 * Cos(pi * (5 / 6) - 0.07): form1.Print "5"</p><p> form1.CurrentX
13、= -70: form1.CurrentY = -1600: form1.Print "6"</p><p> form1.CurrentX = 1600 * Sin(pi * (7 / 6) + 0.07): form1.CurrentY = 1600 * Cos(pi * (5 / 6) - 0.07): form1.Print "7"</p><
14、p> form1.CurrentX = 1600 * Cos(pi * (7 / 6) + 0.07): form1.CurrentY = 1600 * Cos(pi * (2 / 3) - 0.07): form1.Print "8"</p><p> form1.CurrentX = -1600: form1.CurrentY = 120: form1.Print "9
15、"</p><p> form1.CurrentX = 1600 * Sin(-pi / 3): form1.CurrentY = 1600 * Cos(pi / 3): form1.Print "10"</p><p> form1.CurrentX = 1600 * Sin(-pi / 6 - 0.05): form1.CurrentY = 1600
16、* Cos(pi / 6): form1.Print "11"</p><p> form1.CurrentX = -70: form1.CurrentY = 1600: form1.Print "12"</p><p><b> '美化邊框</b></p><p> form1.Line
17、(-1840, 1840)-(1840, -1840), , B</p><p> form1.Line (-1920, 1920)-(1920, -1920), , B</p><p> form1.Line (-2000, 2500)-(2000, -2500), , B</p><p> Label1.Caption = Now</p>&
18、lt;p><b> End Sub</b></p><p> Private Sub Timer1_Timer()</p><p> Label1.Caption = Now</p><p> h = Hour(Time) Mod 12</p><p> m = Minute(Time)</p>
19、;<p> s = Second(Time)</p><p> a = s * pi / 30 + pi / 2 ' 秒針與坐標(biāo)軸的夾角</p><p> Line3.X1 = 0: Line3.Y1 = 0</p><p> Line3.X2 = 1100 * Cos(a - pi): Line3.Y2 =
20、-1100 * Sin(a - pi)</p><p> a = m * pi / 30 + pi / 2 ' 分針與坐標(biāo)軸的夾角</p><p> Line2.X1 = 0: Line2.Y1 = 0</p><p> Line2.X2 = 900 * Cos(a - pi): Line2.Y2 = -900
21、* Sin(a - pi)</p><p> a = h * pi / 6 + mm * pi / 360 + pi / 2 ' 時(shí)針與坐標(biāo)軸的夾角</p><p> Line1.X1 = 0: Line1.Y1 = 0</p><p> Line1.X2 = 650 * Cos(a - pi): Line1.Y2 = -650 *
22、Sin(a - pi)</p><p><b> End Sub</b></p><p> 第四章 設(shè)計(jì)小結(jié)</p><p> 經(jīng)過了這幾天的程序設(shè)計(jì)后,使我對VB由漸漸模糊逐有變的漸變的清晰起來,特別是在對vb面向?qū)ο蟾拍畹募由詈椭R點(diǎn)的了解上更加運(yùn)用自如了。這也大大增加了我對VB編程的了解,VB強(qiáng)大的編程功能需要我們一步步去學(xué)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際時(shí)鐘vb課程設(shè)計(jì)
- 時(shí)鐘課程設(shè)計(jì)報(bào)告
- 模擬時(shí)鐘轉(zhuǎn)動程序課程設(shè)計(jì)報(bào)告
- 數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告
- plc時(shí)鐘課程設(shè)計(jì)---時(shí)鐘系統(tǒng)設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)-時(shí)鐘圖形模擬
- c語言課程設(shè)計(jì)報(bào)告-模擬時(shí)鐘轉(zhuǎn)動程序
- 電子數(shù)字時(shí)鐘課程設(shè)計(jì)報(bào)告
- 電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告--模擬電子時(shí)鐘
- 多功能時(shí)鐘課程設(shè)計(jì)報(bào)告
- 圖形模擬時(shí)鐘c語言課程設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)--數(shù)字時(shí)鐘
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
評論
0/150
提交評論