課程設計報告
課程設計題目:模擬時鐘
學生姓名:
專業: 軟體工程
班級:學號:
指導教師:
2023年 6 月 13日
東華理工大學
課程設計評分表
學生姓名班級學號:
課程設計題目:模擬時鐘
目錄第一章題意分析3
第二章工作日誌4
第三章關鍵實現技術6
第四章設計小結8
第一章題意分析
vb是物件導向的程式語言,vb具有強大的設計功能,而自己所學的知識有限,再結合自己個人的興趣愛好與能力,經過再三考慮,最後決定了製作模擬時鐘的大致方向。首先介面設計1個timer、2個label、3個line控制項實現電子時鐘的檢視時間以及日期的功能。設定好主要控制項後,然後用這些控制項來實現模擬時鐘的功能,通過vb**實現。
最後達到乙個窗體模組,完成模擬現實時鐘的功能。設定符合現實每60秒走一分鐘,每60分鐘走乙個小時,同時新增顯示完整日期的功能。
第二章工作日誌
由於這次是重修vb,以前學的也忘的差不多了,然後乙個人這幾天奮發的看完了原來的教材。
這次碰到了好多不會的地方,然後乙個乙個被我解決了,做出了這個簡單的模擬時鐘。首先窗體的座標系都不了解,先後查了資料,窗體的座標系有幾種,即預設座標系統、使用者自定義座標系統。而且設定座標的方式有幾種,我這次用scale方法自定義設定座標系。
第二個,就是直線控制項的用法,直線怎麼代替鐘的指標圍繞中心轉動,我想到了用直線代替鐘的指標,但是我不知道怎麼讓他圍繞中心轉動,在我vb教材書上也沒有例子系統的講解,只是籠統的概括了一下,這我只有到圖書館去借一本有關這方面的書籍。了解到直線有兩端,各有座標屬性,知道這點就好辦多了,然後就根據現實時鐘的常識了解到,讓直線一端座標固定設定在座標原點,然後另一端圍繞座標原點轉動,這就模擬出用直線控制項代替時鐘指標轉動的過程。還有乙個問題就是怎麼直線以現實時鐘那樣速度圍繞原點轉動,這也是乙個難點,這就需要時間控制項timer來設定速度。
還有用lebel來顯示完整的系統日期。用畫矩形來代替時鐘的邊框。設定好各控制項和窗體的顏色等屬性。
反覆執行稍微修改幾次做出這個模擬時鐘程式。
第三章關鍵實現技術
本程式運用到了timer1控制項及其眾多屬性,通過timer1_timer()時間和interval屬性控制時鐘指標的轉動。另外還定義了座標系和系統時間日期等等 。
程式源**:
const pi = 3.141592654
private sub form_load()
'自定義座標
x = / 2
y = / 2
(-x, y)-(x, -y)
'標表盤上的數字
= 1600 * sin(pi / 6 - 0.05): = 1600 * cos(pi / 6): "1"
= 1600 * sin(pi / 3 - 0.05): = 1600 * cos(pi / 3): "2"
= 1600: = 120: "3"
= 1600 * sin(pi * (2 / 3) + 0.07): = 1600 * cos(pi * (2 / 3) - 0.07): "4"
= 1600 * sin(pi / 2 + pi / 3 + 0.07): = 1600 * cos(pi * (5 / 6) - 0.07): "5"
= -70: = -1600: "6"
= 1600 * sin(pi * (7 / 6) + 0.07): = 1600 * cos(pi * (5 / 6) - 0.07): "7"
= 1600 * cos(pi * (7 / 6) + 0.07): = 1600 * cos(pi * (2 / 3) - 0.07): "8"
= -1600: = 120: "9"
= 1600 * sin(-pi / 3): = 1600 * cos(pi / 3): "10"
= 1600 * sin(-pi / 6 - 0.05): = 1600 * cos(pi / 6): "11"
= -70: = 1600: "12"
'美化邊框
(-1840, 1840)-(1840, -1840), , b
(-1920, 1920)-(1920, -1920), , b
(-2000, 2500)-(2000, -2500), , b
= now
end sub
private sub timer1_timer()
= now
h = hour(time) mod 12
m = minute(time)
s = second(time)
a = s * pi / 30 + pi / 2秒針與座標軸的夾角
= 0: = 0
= 1100 * cos(a - pi): = -1100 * sin(a - pi)
a = m * pi / 30 + pi / 2分針與座標軸的夾角
= 0: = 0
= 900 * cos(a - pi): = -900 * sin(a - pi)
a = h * pi / 6 + mm * pi / 360 + pi / 2時針與座標軸的夾角
= 0: = 0
= 650 * cos(a - pi): = -650 * sin(a - pi)
end sub
第四章設計小結
經過了這幾天的程式設計後,使我對vb由漸漸模糊逐有變的漸變的清晰起來,特別是在對vb物件導向概念的加深和知識點的了解上更加運用自如了。這也大大增加了我對vb程式設計的了解,vb強大的程式設計功能需要我們一步步去學習,即使今後我們不會在課堂上學習vb了,但平時對vb的深入研究也將使我們受益匪淺。用vb課程設計的思想非常重要,沒有做不到只有想不到,這次的課程設計就是乙個很好的例子。
Vb課程設計報告
vb程式設計 日期 2012年6日20日 學生姓名 徐啟鵬 學號 04101189 專業班級 計科1006 指導教師 王博 貪吃蛇 是一種很流行的電子遊戲。遊戲方法如下 一條蛇在棋盤上爬行,由鍵盤控制其轉彎 棋盤上隨機地出現食物,當蛇的頭部碰到食物,蛇的身體會變長。當蛇的頭部撞到障礙時或碰到自己身體...
VB課程設計報告 2
計算機課程設計報告 題目系別年級專業 班級學號 學生姓名 指導教師 設計時間 目錄第一章前言2 1.1 選題背景 1.2選題意義 1.3 具體功能及亮點 第二章功能需求分析3 2.1程式設計環境的選擇 2.2系統可行性 第三章系統設計和實現4 3.1設計方案 2.2具體 3.3技術問題及解決方法 3...
微機原理課程設計報告 時鐘設計
微機原理及組合語言 課程設計報告 內容提要 本課程設計報告重點闡述了課程設計的原理,過程實現,以及 闡述,流程圖表示以及在實驗中遇到的問題,實驗過程等等。本報告旨在總結微機課程設計中的收穫以及完成的過程。微機課程設計是我們本學期進行的難度最大且最具有實踐性的課程設計。對於我們剛剛學完微機理論基礎的同...