文档库 最新最全的文档下载
当前位置:文档库 › 模拟时钟的VB程序

模拟时钟的VB程序

模拟时钟的VB程序
模拟时钟的VB程序

沈阳航空航天大学课程设计

学号2009040301055

班级94030102

姓名李超

指导教师刘学平

2010 年3 月15 日

沈阳航空航天大学

课程设计任务书

学院:航空宇航工程学院专业:飞行器制造班级:94030102

学号:2009040301055 题目:模拟时钟

一、课程设计时间

2011年3月7日~11日(第1周),共计1周。

二、课程设计内容

在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。

用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。

三、课程设计要求

程序质量:

?贯彻事件驱动的程序设计思想。

?用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。

?代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

?课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提

供的模板。

四、指导教师和学生签字

指导教师:________ 学生签名:________

五、成绩

六、教师评语

目录

一、需求分析 (4)

二、设计分析 (5)

三、关键技术 (7)

四、总结 (12)

五、完整的源程序 (14)

六、参考文献 (16)

一、需求分析

“模拟时钟”软件。在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。

①在VB窗体Form1中设计模拟时钟表盘,设计四个按钮:运行时钟、修改时间、应用、退出。在窗体Form2中设计填输入时间的位置和两个按钮:重新输入、确定。

②用运行时钟按钮使时钟从零点开始运行。

③利用修改时间按钮在Form2中输入合理时间,单击确定后单击应用使模拟时钟按所需时间开始运行。

④Form2中重新输入按钮可以使所有Text控件清空,可以进行时间的重新输入。

⑤程序可以实现时钟指针的转动。

二、设计分析

(1)基本原理:设计表盘,利用勾股定理实现时钟的转动,通过两个窗体的配合实现修改时间的功能,

使模拟时钟能像正常时钟一样运行。

(2)总体设计:

总系统

窗体1的功能设置窗体2的功能设置窗体1和窗体2的配合

图1 总体设计

(3)详细设计:

开始

创建工程

Form1的表盘设计Form2的界面设计Form1与Form2的连接

指针与表盘的组合设计读取所输入的时间对按钮的程序设计

图2 详细设计

(4)表盘设计:

图3 表格三、关键技术

1实现指针的转动

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 * 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 '使时钟从初始位置开始工作

图4

2 Form1与Form2的连接

(1)显示Form2

Private Sub Command2_Click()

Timer2.Interval = 0

Timer1.Interval = 0

Form2.Show '关闭定时器1、定时器2,对时间进行手工修改

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 "请输入合理时间": Text1.Text = "": Text2.Text = "": Text3.Text = "" '数据不合理时弹出提示Else

Form1.Show

Form2.Hide '读取到修改后的时间数据并关闭窗体2 End If

End Sub

注:输入的时间不合理会弹出提示,输入时间为空时也会弹出提示

图6

图7

3.修改的时间数据的读取与运行

Private Sub Command4_Click()

If Form2.Text1.Text = "" Or Form2.Text2.Text = "" Or Form2.Text3.Text = "" Then

MsgBox "请输入准确时间": Form2.Show '提示用户输入准确时间Else

Timer2.Interval = 1000: s = Form2.Text3.Text - 1 '激活定时器2 End If

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 / 180)

LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180)

LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180)

End Sub '使时钟在修改时间后开始

四、总结

本次课程设计我的任务是运用VB设计一个模拟时钟,包含运行时钟、修改时间、应用、退出等功能。

程序需要两个窗体、两个Timer控件以及四个按钮控件:运行时钟、修改时间、应用、退出。可实现与正常时钟相同的运行速度。可以进行手动的修改、运行时钟。还可以对用户输入的时间数据进行判断。

在此次课设过程中,设计界面使我了解到手工绘图方面的一些控件,现在可以进行熟练的运用。Timer控件的运行方法让我用尽了心思,对于指针的初始位置的设置,我运用到了控件的尺寸,指针的长度设置我运用到了勾股定理,为了美观和人性化处理对各个功能之间的显示与切换我下个很大功夫。

VB的设计过程让我深刻认识到知识的有用之处,这是一个即动手又动脑的一次实习。让我意识到VB的魅力所在,它使我们能形象的了解到生活中的一些具体事物,使我们锻炼了自己的动手能力,发挥了自己的智慧。让我们发现自己的不足,认识到更多我们所没有触及的知

识。虽然这次设计出现很多困难的,但是在老师和学生的帮助下我终于做出来了,我感到很开心,毕竟是自己的劳动成果。很高兴可以完成这次课设,它让我懂得只有努力才有收获。

五、完整的源程序

Private Sub Command3_Click()

End '结束程序

End Sub

Private Sub Command4_Click()

If Form2.Text1.Text = "" Or Form2.Text2.Text = "" Or Form2.Text3.Text = "" Then

MsgBox "请输入准确时间": Form2.Show '提示用户输入准确时间Else

Timer2.Interval = 1000: s = Form2.Text3.Text - 1 '激活定时器2 End If

End Sub

Private Sub Form_Load()

LineS.X1 = Shape1.Left + Shape1.Width / 2

LineS.Y1 = Shape1.Top + Shape1.Height / 2

LineS.X2 = LineS.X1

LineS.Y2 = Shape1.Top + 150 '设置秒针初始位置

LineM.X1 = LineS.X1

LineM.Y1 = LineS.Y1

LineM.X2 = LineM.X1

LineM.Y2 = Shape1.Top + 260 '设置分针初始位置

LineH.X1 = LineS.X1

LineH.Y1 = LineS.Y1

LineH.X2 = LineH.X1

LineH.Y2 = Shape1.Top + 500 '设置时针初始位置

a = Sqr((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) '设置指针长度

LineS.BorderColor = vbBlack

LineS.BorderWidth = 1

LineM.BorderColor = vbBlue

LineM.BorderWidth = 2

LineH.BorderColor = vbRed

LineH.BorderWidth = 3 '设置指针的颜色和粗细

End Sub

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 * 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 '使时钟从初始位置开始工作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 / 180)

LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180)

LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180)

End Sub '使时钟在修改时间后开始工作

六、参考文献

[1] 刘瑞新.《Visual Basic程序设计教程》.北京:机械工业出版社,2003

[2] 龚沛增.《Visual Basic程序设计教程》.清华大学出版社,2004

[3]吴凤翔.《Visual Basic程序设计教程》.中国林业出版社,2002-11

vb代码大全

用VB5实现窗口图象缩放、滚动技巧 成都理工学院计算机工程系 洪志全 ---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。 ---- 一、获取图像 ---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。 ---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。 ---- 二、图像缩放 ---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为: PaintPicture Pic,DestX,DestY,DestWidth, DestHeight,ScrX,ScrY,ScrWidth,ScrHeight ---- 其中,Pic 为图片对象, 如图形控件对象等; DestX,DestY为目标图像起始坐标; DestWidth,DestHeight为目标图像幅面尺寸; ScrX,ScrY为源图像起始坐标; ScrWidth,ScrHeight为源图像剪裁尺寸。 ---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。若ScrWidth,ScrHeight 或

用C++编写模拟时钟程序

模拟时钟程序 1 基本功能描述 本次课程设计是基于面向对象的应用程序设计,主要运用C++语言在VC++开发环境下的MFC中编程实现。模拟时钟的基本功能是程序初始在屏幕上有一指针式时钟表盘,表盘为椭圆形,内部分布有12个刻度,表盘上有三个长度和颜色不同的时针分针和秒针,相互之间容易辨认,指针的运动通过数学推导之后以代码实现。表盘的下方是一个数字形式显示的数字钟,其显示时间的格式是时:分:秒,指针式时钟和数字式时钟显示的时间同步,且两个时钟所显示的时间与系统时间相致,页面的菜单项设有时间设置项,可以对所显示的时间进行调整,能进行调整的具体内容是年、月、日、时、分、秒。设计成功之后,此应用程序便可以起到时钟显示的作用。 2 设计思路 2.1 程序流程图

图1 模拟时钟程序流程图 2.2 程序流程分析 (1) 绘制指针式的时钟和数字式的时钟图形时,要在CView类下进行。其中OnDraw()函数在绘制视图窗口时被调用,在定义了画刷CBrush和画笔CPen之后,调用GetClientRect()定义屏幕大小并确定椭圆中心的坐标,然后调用Ellipse绘制椭圆,即指针式的时钟表盘,SetTextColor绘制文本颜色,调用MoveTo和LineTo绘制表盘指针,同时调用CreateFont()创建数字钟字体,TextOut则是用以数字钟的文本输出。 (2) 模拟时钟处理消息的过程:首先调用SetTimer函数定义时钟消息,包括参数指定计时器的ID,消息产生的时间间隔,回调函数为NULL;调用消息处理函数OnTimer()刷新窗口显示。在相应的WM_TIMER消息处理里添加时钟消息响应代码;最后调用KillTimer 释放该时钟。 (3) 要实现时钟的动态效果,即时间窗显示的时间每隔一秒钟更新一次,需要在时间窗格的正文调用CStatusBar::SetPaneText()函数。要定时更新,则应利用WM_TIMER消息,计时器每隔一定的时间间隔就会发出一个WM_TIMER消息,而这个时间间隔可由用户指定。MFC的Windows类提供了WM_TIMER消息处理函数OnTimer(),应在该函数内进行更新时间窗格的工作。先利用ClassWazard给CMainFrame类加入WM_TIMER消息处理函数OnTimer(),CMainFrame:: OnTimer()函数是在系统发给框架窗口消息WM_TIMER时调用

VB6.0的小程序计算器

VB6.0的小程序计算器 对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。 界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0~9为了偷懒,用了控件数组cmdNumber(0)~ cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。 思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于号时把先把当前txtShow的值保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。 转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant 类型,保存的是mstrParam1和mstrParam2的数值。之所以不用integer、long、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到 2147483647,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。 如果需要源代码的话在我百度空间里留言。https://www.wendangku.net/doc/2e6154604.html,/zhaozhigang517

vb常见题型汇总代码

1.Private Sub Command1_Click() Dim r As Double, c As Double, s As Double Dim pi As Double pi = 3.1415926 r = Val(Text1.Text) c = pi * 2 * r s = pi * r * r Label3.Caption = "圆的周长为" + Str(c) + "厘米" Label4.Caption = "圆的面积为" + Str(s) + "平方厘米" End Sub 2.(5秒5分倒计时) Dim n As Integer Private Sub Command1_Click() If Option1.Value Then n = 5 If Option2.Value Then n = 300 Timer1.Enabled = True Frame1.Enabled = False Command1.Enabled = False End Sub Private Sub Form_Load() Timer1.Enabled = False Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() n = n - 1 Text1.Text = Str(n \ 60) & "分" & Str(n Mod 60) & "秒" If n <= 0 Then Timer1.Enabled = False Frame1.Enabled = True Text1.Text = "时间到" End If End Sub 3.心想事成 Dim x As Integer Private Sub Command1_Click() Timer1.Enabled = True If Command1.Caption = "开始" Then Timer1.Enabled = True Command1.Caption = "停止" Else Timer1.Enabled = False Command1.Caption = "开始" End If End Sub Private Sub Form_Load() Timer1.Interval = 100 x = -100 End Sub Private Sub Timer1_Timer() Label1.Left = Label1.Left + x If Label1.Left <= 0 Then x = 100 If Label1.Left >= Form1.ScaleWidth - Label1.Width Then x = -100 End Sub 4.我的调色板(滚动条) Private Sub Command1_Click() Label5.ForeColor = Label4.BackColor End Sub Private Sub HScroll1_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change() Label4.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub 5.字形字体颜色(复选框,单选)Private Sub Check1_Click() If Check1.Value = 1 Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub Private Sub Check2_Click() If Check1.Value = 1 Then

模拟电子时钟c语言程序

算法:将当前时间显示到屏幕,当时间发生变化时,清屏,显示新的时间(当有键盘操作时退出程序)。 显示时间格式:小时:分钟:秒 /* DEV C++ Win XP*/ #include #include #include #include typedef struct { int x; int y; }Point; time_t now; struct tm *pt,t1,t2; int printpoint(Point p) { Point p1; p1.x=p.x+2; p1.y=p.y+4; gotoxy(p1.x,p1.y); printf("%c%c",2,2); gotoxy(p1.x, p1.y+1); printf("%c%c",2,2); p1.y+=4; gotoxy(p1.x,p1.y); printf("%c%c",2,2); gotoxy(p1.x,p1.y+1); printf("%c%c",2,2); return 0; } int print0(Point p) { int i=0; for(;i<13;i++) { gotoxy(p.x+1, p.y+i); if(i==0||i==12) printf("%c%c%c%c%c%c",2,2,2,2,2,2); else printf("%c%4s%c",2," ",2); } return 0; }

int print1(Point p) { int i=0; for(;i<13;i++) { gotoxy(p.x+1, p.y+i); printf("%5s%c"," ",2); } return 0; } int print2(Point p) { int i=0; for(;i<13;i++) { gotoxy(p.x+1, p.y+i); if(i==0||i==6||i==12) printf("%c%c%c%c%c%c",2,2,2,2,2,2); else if(i>0&&i<6) printf("%5s%c"," ",2); else printf("%c",2); } return 0; } int print3(Point p) { int i=0; for(;i<13;i++) { gotoxy(p.x+1, p.y+i); if(i==0||i==6||i==12) printf("%c%c%c%c%c%c",2,2,2,2,2,2); else printf("%5s%c"," ",2); } return 0; } int print4(Point p) {

计算器vb源代码

计算器v b源代码 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

计算器vb源代码.txt性格本身没有好坏,乐观和悲观对这个世界都有贡献,前者发明了飞机,后者发明了降落伞。完全版的前后台代码... '请把下面的保存为 VERSION Begin Calculator BorderStyle = 1 'Fixed Single Caption = "计算器" ClientHeight = 2970 ClientLeft = 2580 ClientTop = 1485 ClientWidth = 3270 ClipControls = 0 'False BeginProperty Font Name = "System" Size = Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Icon = "":0000 LinkMode = 1 'Source LinkTopic = "Form1" MaxButton = 0 'False PaletteMode = 1 'UseZOrder ScaleHeight = 2970 ScaleWidth = 3270 WhatsThisHelp = -1 'True Begin Number Caption = "7" Height = 480 Index = 7 Left = 120 TabIndex = 7 Top = 600 Width = 480 End

用C#编的模拟时钟(附源代码)

使用C#模拟时钟表的一种简单制作方法 1.GDI+图形库简介 1.1概述 GDI+是Microsoft的新.NET Framework类库用于图形编程,因为它是.NET Framework的一部分,所以也是面对对象的。 1.2设备环境和对象 在GDI+中识别输出设备的方式是使用设备环境DC对象,该对象存储特定设备的信息并能把GDI+API函数调用转换为要发送给该设备的指令,还可以查询设备环境对象,确定对应的设 备有什么功能,这样才能据此调整输出结果。 在GDI+中设备环境包装在.NET基类System.Drawing.Graphics中,大多数绘图工作都是调用Graphics的对象完成的。 2.如何利用GDI+绘制时钟表 2.1时钟表的各控件属性的设置 用C#中各控件制作一个指针式的时钟放在桌面上显示的界面。包括1个PictureBox控件、1个Timer控件、1个NotifyIcon控件及StatusStrip控件。 2.2各控件的属性设置 Timer控件的Interval属性值设置为1000,Enable属性值设置为True;窗体的StartPosi tion属性设置为CenterScreen,这个属性使得钟表在屏幕上中中央显示。 2.3功能实现代码 为实现该时钟表功能,需要设计并输入相应对象相应事件或过程的程序代码。方法是:在设计状态,双击相应控件,或双击控件的某一事件,并输入相应的C#程序代码。 2.4通用声明及时钟表设计方法 在程序中需要有一批变量或常量的定义,可事先在通用声明中完成,代码如下: const int s_pinlen = 100;//秒针长度 const int m_pinlen = 75; //分针长度 const int h_pinlen = 75; //时针长度 PointF center = new PointF(s_pinlen +3, s_pinlen +3);//中心点位置 SolidBrush sb = new SolidBrush(Color.Black);//时钟圆心的刷子 除上述变量声明外,时钟表功能编写子方法,方法名为:AngleToPos和myClock,

VB键盘常量大全 256个虚拟键码

Public Const VK_LBUTTON = &H1 Public Const VK_RBUTTON = &H2 Public Const VK_CANCEL = &H3 Public Const VK_MBUTTON = &H4 Public Const VK_BACK = &H8 Public Const VK_TAB = &H9 Public Const VK_CLEAR = &HC Public Const VK_RETURN = &HD Public Const VK_SHIFT = &H10 Public Const VK_CONTROL = &H11 Public Const VK_MENU = &H12 Public Const VK_PAUSE = &H13 Public Const VK_CAPITAL = &H14 Public Const VK_ESCAPE = &H1B Public Const VK_SPACE = &H20 Public Const VK_PRIOR = &H21 Public Const VK_NEXT = &H22 Public Const VK_END = &H23 Public Const VK_HOME = &H24 Public Const VK_LEFT = &H25 Public Const VK_UP = &H26 Public Const VK_RIGHT = &H27 Public Const VK_DOWN = &H28 Public Const VK_Select = &H29 Public Const VK_PRINT = &H2A Public Const VK_EXECUTE = &H2B Public Const VK_SNAPSHOT = &H2C Public Const VK_Insert = &H2D Public Const VK_Delete = &H2E Public Const VK_HELP = &H2F Public Const VK_0 = &H30 Public Const VK_1 = &H31 Public Const VK_2 = &H32 Public Const VK_3 = &H33 Public Const VK_4 = &H34 Public Const VK_5 = &H35 Public Const VK_6 = &H36 Public Const VK_7 = &H37 Public Const VK_8 = &H38 Public Const VK_9 = &H39 Public Const VK_A = &H41 Public Const VK_B = &H42 Public Const VK_C = &H43 Public Const VK_D = &H44

模拟时钟的VB程序

沈阳航空航天大学课程设计 学号2009040301055 班级94030102 姓名李超 指导教师刘学平 2010 年3 月15 日

沈阳航空航天大学 课程设计任务书 学院:航空宇航工程学院专业:飞行器制造班级:94030102 学号:2009040301055 题目:模拟时钟 一、课程设计时间 2011年3月7日~11日(第1周),共计1周。 二、课程设计内容 在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。 用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。 三、课程设计要求 程序质量: ?贯彻事件驱动的程序设计思想。 ?用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。 ?代码应适当缩进,并给出必要的注释,以增强程序的可读性。 课程设计说明书: ?课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提 供的模板。 四、指导教师和学生签字 指导教师:________ 学生签名:________ 五、成绩 六、教师评语

目录 一、需求分析 (4) 二、设计分析 (5) 三、关键技术 (7) 四、总结 (12) 五、完整的源程序 (14) 六、参考文献 (16)

一、需求分析 “模拟时钟”软件。在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。 ①在VB窗体Form1中设计模拟时钟表盘,设计四个按钮:运行时钟、修改时间、应用、退出。在窗体Form2中设计填输入时间的位置和两个按钮:重新输入、确定。 ②用运行时钟按钮使时钟从零点开始运行。 ③利用修改时间按钮在Form2中输入合理时间,单击确定后单击应用使模拟时钟按所需时间开始运行。 ④Form2中重新输入按钮可以使所有Text控件清空,可以进行时间的重新输入。 ⑤程序可以实现时钟指针的转动。

VB计算器源代码

Dim sum As Double Dim flag1 As Integer Dim flag2 As Integer Public wen As Double Private Sub Command19_Click() Command24_Click Operator = Index NewEntry = True End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 wen = 0 Label1.Caption = "" Case 1 Text1.Text = Str(wen) Case 2 If Text1.Text = "" Then wen = 0 Label1.Caption = "" Else wen = Val(Text1.Text) Label1.Caption = "M" End If Text1.Text = "" Case 3 wen = Val(Text1.Text) + wen Label1.Caption = "M" End Select End Sub Private Sub Command12_Click() If Text1.Text <> "" Then

Text1.Text = Text1.Text * -1 Else MsgBox "输入不能为空!", vbOKOnly, "警告" Text1.SetFocus End If End Sub Private Sub Command16_Click() If InStr(Text1.Text, ".") = 0 Then Text1.Text = Text1.Text & "." Else Exit Sub End If End Sub Private Sub Command21_Click() Text1.Text = Str(Sqr(Val(Text1.Text))) End Sub Private Sub Command22_Click() sum = Text1.Text flag1 = 5 flag2 = 1 End Sub Private Sub Command23_Click() Text1.Text = Str(Val(Text1.Text / 1)) flag2 = 0 End Sub Private Sub Command24_Click() Select Case (flag1) Case 1 Text1.Text = sum + Text1.Text Case 2 Text1.Text = sum - Text1.Text Case 3 Text1.Text = sum * Text1.Text Case 4 If Text1.Text = 0 Then df = MsgBox("除数不能为零!请重新输入.", vbOKOnly + vbInformation, "警告") Text1.Text = "" Text1.SetFocus Exit Sub

模拟时钟转动程序

模拟时钟转动程序 一、课程设计的内容 能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。 二、课程设计的要求与数据 1.进一步掌握和利用C语言进行课程设计的能力 2.进一步理解和运用结构化程序设计的思想和方法 3.初步掌握开发一个小型实用系统的基本方法 4.学会调试一个较长程序的基本方法 5.学会利用流程图和N-S图表示算法 6.掌握书写程序设计开发文当的能力 三、课程设计应完成的工作 1、编写完成相应题目的程序 2、编写课程设计报告,课程设计报告应该包含以下6部分 1)需求分析:包括设计题目、设计要求以及系统功能需求分析 2)总体设计:包括系统总体设计框架和系统功能模块图 3)详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图 4)调试分析过程描述:包括测试数据、测试输出结果以及对程序测试过程中存在问题进行思考(主要问题的出错现象、出错原因、 解决方法及其效果等,相应效果截图) 5)总结:课程设计完成了哪些主要功能,是否有扩展功能?还有哪些地方需要改进?课程设计的学习与体会?有哪些合理化建 议? 6)附录:主要原程序代码含必要的注释 3、答辩:在实验室建立程序运行环境,并在指导教师的监督下,独立解决问题,运行程序和回答教师的提问。 四、课程设计进程安排

五、应收集的资料及其主要参考文献 [1]谭浩强.C程序设计(第三版)[M]北京:清华大学出版社,2005年9月 [2]谭浩强.C程序设计题解与上机指导(第三版)[M]北京:清华大学出版社,2005年7月 [3]夏宝岚张慕蓉夏耘.程序设计教程(第二版)[M],上海:华东理工出版社,2003.1 [4]陈锦昌赵明秀.C语言计算机绘图教程(第一版)[M],广州:华南理工大 学出版社,1998.9 发出任务日期:2010年12月15日指导教师签名: 计划完成日期:2010年12月30日基层教学单位责任人签名: 主管院长签章: 目录 1.设计目的与要求 (5)

模拟时钟转动程序课程设计报告

《高级语言》课程设计 课题名称模拟时钟转动程序 学院信息工程专业网络工程地点 D507 学生姓名钟都华学号 13046130 开课时间 2013 至 2014 学年第 2 学期 同组人李卓 成绩

一、课程设计的目的和要求 1.课程设计的目的 本程序旨在训练读者的基本编程能力,使读者熟悉C语言图形模式下的编程。本程序中涉及时间结构体、数组、绘图等方面的知识。通过本程序的训练,使读者能对C 语言有一个更深刻的了解,掌握利用C语言相关函数开发电子时钟的基本原理,为进一步开发出高质量的程序打下坚实的基础。 2.课程设计的要求 能模拟机械钟表行走;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;要准确的利用数字显示日期和时间并且可以根据用户的需求更改当前时间(指针式时钟与数字式时钟实现同步更改);数字式时钟的时间显示与指针式时钟显示一致;可以通过上下键改变当前的时、分、秒;改的时间是小时、分钟、还是秒数;通过Tab键切换按Esc时程序退出。 二、设计 如下图,此电子时钟主要由以下4个功能模块组成。 1.界面显示模块 电子时钟界面显示在调用时钟运行处理之前完成,在这里主要调用了C语言图形系统函数和自负屏幕处理函数画出时钟程序的主界面。主界面包括类似Windows自带的电子时钟的界面和帮助界面两部冯。电子时钟界面包括一个模拟时钟运转的钟表和一个显示时间的数字钟表。在帮助界面中,主要包括一些按键的操作说明。 2.按键控制模块 按键控制模块主要完成两大部分功能。第一,读取用户按键的键值。第二,通过对键盘按键值得判断,执行相应的操作,如光标移动、修改时间。 3.时钟动画处理模块 在时钟动画处理模块中,它通过对相关条件的判断和时钟坐标值的计算,完成时、分、秒指针的擦除和重绘,以达到模拟时钟运转的功能。

VB简单计算器编程代码(附图)

课程设计说明书正文 一、题目:计算器的创作和相应程序的编写 二、本题的主要功能:通过计算器的创作熟悉各控件的属性和练习程序的编写。 三、程序截图: 四、源程序清单: Begin VB.Form Form1 Caption = "计算器" ClientHeight = 3765 ClientLeft = 165 ClientTop = 855 ClientWidth = 5355 Icon = "Form1.frx":0000 LinkTopic = "Form1" LockControls = -1 'True ScaleHeight = 3765 ScaleWidth = 5355 StartUpPosition = 3 '窗口缺省 Begin https://www.wendangku.net/doc/2e6154604.html,mandButton Command4 Caption = "=" Height = 495 Left = 4470 TabIndex = 28 Top = 3060

Width = 735 End Begin https://www.wendangku.net/doc/2e6154604.html,mandButton Command3 Caption = "1/x" Height = 495 Left = 4470 TabIndex = 27 Top = 2520 Width = 735 End Begin https://www.wendangku.net/doc/2e6154604.html,mandButton Command2 Caption = "%" Height = 495 Left = 4470 TabIndex = 26 Top = 1980 Width = 735 End Begin https://www.wendangku.net/doc/2e6154604.html,mandButton Command1 Caption = "sqrt" Height = 495 Left = 4470 TabIndex = 25 Top = 1440 Width = 735 End Begin https://www.wendangku.net/doc/2e6154604.html,mandButton cmbDOT Caption = "." Height = 495 Left = 2910 TabIndex = 24 Top = 3060 Width = 735 End

VB代码大全

隐藏form1: form1.hide 显示form1: form1.show --------------------------------------------------------------------------------------------- 退出程序时,弹出窗口提示是否要退出: Private Sub Form_Unload(Cancel As Integer) Dim iAnswer As Integer iAnswer = MsgBox("真要退出吗?", vbYesNo) If iAnswer = vbNo Then Cancel = True Else End End If End Sub ---------------------------------------------------------------------------------------------- 只能用任务管理器关闭程序的代码: Private Sub From_Unload(Cancel As Integer) Cancel = true End Sub ------------------------------------------------------------------------------------------------ 点击command1打开33IQ网: Dim strURL Private Sub Command1_Click() strURL = "错误!超链接引用无效。 Shell "explorer.exe " & strURL, 1 End Sub ------------------------------------------------------------------------------------------------ 运行c:\1.exe shell "c:\1.exe" 执行c:\1.bat shell "c:\1.bat" 注:只适用于大部分exe和全部bat。

模拟时钟应用程序

案例五模拟时钟应用程序 以实例为背景学习基于MFC的WINDOWS应用程序设计,编写一个模拟时钟程序,此程序在屏幕左边有一个指针式钟面,右方有两个矩形框,上面以数字方式显示日期和时间,该时间应与指针显示的时间一致,下方的矩形框作为秒表。用菜单选项或按钮设置时间和秒表。时间不必与机器系统时间相同,可任意设置。 模拟时钟示意图 1 编程要求 (1)为该程序设计一个美观大方的图标。 (2)程序界面设计合理,色彩得体大方,显示正确。 (3)时针、分针和秒针形象美观,即使各指针重合也可辨认。 (4)各指针运动规律正确。为便于演示,时钟速度应比实际时间快20倍,即1小时相当于3分钟。 (5)数字式时钟的时间显示与指针式时钟显示一致。

(6)按下设置时间按钮或菜单项可弹出一对话框,用于设置当前的时间和日期。 (7)按下秒表控制按钮后,秒表显示窗中显示从0开始的时间,单位为百分之一秒。再次按下秒表控制按钮后计时停止,该窗口显示累计时间。 2 问题分析 本题主要涉及到的知识点有:时钟指针运动算法、屏幕重绘方法、定时器消息、鼠标消息、菜单命令、对话框、画笔/画刷、显示文字等。指针运动算法和屏幕重绘方法是本程序主要难点所在。 不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。计算指针端点(x, y)的公式如下:x =圆心x坐标+ 指针长度* cos (指针方向角) y =圆心y坐标+ 指针长度* sin (指针方向角) 注意,指针长度是指自圆心至指针一个端点的长度(是整个指针的一部分),由于指针可能跨越圆心,因此一个指针需要计算两个端点。 三个指针的运动是相关联的,秒针转一圈引起分针运动一格,分针转一圈引起时针运动一格,因此应该使用一个定时器消息来处理指针的运动。若用三个定时器消息分别处理时针、分针和秒针的运动,就会使问题复杂化且不易实现三个指针联动的正确规律。采用一个定时器消息可以很容易实现指针联动算法。 由于屏幕的重绘速度很快(50 ms一次),如果采用全屏删除式重绘则闪烁十分明显,显示效果不佳。本程序采用非删除式重绘,假定指

vb编写的计算器代码

Option Explicit Const CC1 = 1E+28, CC2 = 0.000000000000001, CC3 = 100000000000000# Dim Op1, Op2 ' 预先输入操作数。 Dim DecFlag% ' 小数点存在吗? Dim Klast ' 指示上一次按键事件的类型。 Dim OpFlag ' 指示未完成的操作。 Dim Kedt% ' 指示键入状态,0-未操作,1-算过,2-改过Dim MemNum ' 存储器 Dim Temp2 ' Function sqr28(a As V ariant) As V ariant Dim c As Double c = Sqr(a) If c > CC3 Or c < CC2 Then sqr28 = c Else sqr28 = CDec(Sqr(a)) sqr28 = sqr28 - (sqr28 * sqr28 - a) / sqr28 * 0.5 End If End Function Function cur28(a As V ariant) As V ariant Dim t As V ariant, c As Double c = Abs(a) ^ (1 / 3) If c > 1000000000# Or c < 0.000000001 Then cur28 = c * Sgn(a) Else cur28 = CDec(c) * Sgn(a) t = cur28 * cur28 cur28 = cur28 - (cur28 * t - a) / t / 3 End If End Function ' 存入存储器 Private Sub BtMS_Click() If Kedt = 2 Then GetOp1 MemNum = Op1 LabMem.Visible = MemNum <> 0 Kedt = 1 End Sub ' 取出存储器数据 Private Sub BtMr_Click() CancelEntry_Click Op1 = MemNum

单片机模拟电子时钟设计

单片机课程设计 课题:单片机模拟电子时钟设计 学院:自动化学院 专业: 07电气工程及其自动化 (低压电力智能控制方向) 姓名:谭善文 学号:2007104743002 指导老师:张华

目录 一、前言 (3) 二、设计目的 (3) 三、设计任务与要求 (3) 四、设计原理 (3) 五、总体设计方案 (4) 六、小结与展望 (21) 七、致谢 (22) 八、主要参考文献 (22) (3)、晶振 (5) (4)、LED (5) (5)、复位 (6) (6)、蜂鸣器 (6) (7)、按键 (6) (8)、串行口 (7) (9)、单片机 (7) (10)、数码管 (8) 2、程序编写 (10) 六、小结与展望 (21) 七、致谢 (22) 八、主要参考文献 (22)

一、前言 在当今的工作和生活环境中,有越来越多的单片机在为人们服务,例如电视遥控、手机、洗衣机、空调等,单片机几乎无所不在,学习单片微型计算机这门课程,就是为了对单片微型计算机有进一步感性的认识,了解、掌握、应用,甚至设计开发它。让我们能综合运用单片机的软、硬件技术分析实际问题,为工业生产、科学研究和实验设备等领域的单片机应用和开发打下良好的基础。 二、设计目的 a)通过《单片微型计算机原理与接口技术教程》了解单片微型计算机的发 展; b)根据课程设计的要求,学会用汇编语言设计程序,学会应用程序设计调 试软件; c)通过调试程序设计模块,掌握单片微型计算机的结构原理,了解程序设 计的编程思想; d)通过软件调试熟悉使用单片机指令系统,掌握汇编语言程序设计方法及 编程技巧,掌握子程序的设计与使用,熟悉中断服务程序的设计及调用 过程。 三、设计任务与要求 任务:利用单片机定时功能实现电子时钟的计时 要求:1.设计单片机电子时钟设计控制方案,功能设计; 2.详细描述实现需要的硬件,效果等; 3.编写汇编语言程序设计,在KEIL仿真实现调试程序; 四、设计原理 单片机可以利用定时功能实现电子时钟的计时。设计时利用单片机的定时器

vba常用代码大全

前言 我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。 而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。 第1.1例 ASC函数 一、题目: 要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。 二、代码: Sub 示例_1_01() Dim myNum1%, myNum2% myNum1 = Asc("Excel") '返回69 myNum2 = Asc("e") '返回101 [a1] = "myNum1= ": [b1] = myNum1 [a2] = "myNum2= ": [b2] = myNum2 End Sub 三、代码详解 1、Sub 示例_1_01():宏程序的开始语句。 2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。 也可以写为 Dim myNum1 As Integer 。Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分比符 号 (%)。

3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。 Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。 语法 Asc(string) 必要的 string(字符串)参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。这里返回小写字母e 的ASCII代码101。 5、[a1] = "myNum1= ": [b1] = myNum1:把字符串“myNum1= “赋给A1单元格,把变量myNum1的值赋给B1单元格。 6、[a2] = "myNum2= ": [b2] = myNum2:把字符串“myNum2= “赋给A2单元格,把变量myNum2的值赋给B2单元格。 7、End Sub:程序的结束语句,和“Sub示例_1_01()”相对应。 第1.2例 Chr函数 一、题目"": 要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符。 二、代码: Sub 示例_1_02() Dim myChar1$, myChar2$ myChar1 = Chr(69) ' 返回 E。 myChar2 = Chr(101) ' 返回 e。 [a1] = "myChar1= ": [b1] = myChar1 [a2] = "myChar2= ": [b2] = myChar2

相关文档