当前位置:编程学习 > VB >>

用VB编程 “儿童认识钟表” 约50行

主要涉及: 基本控件及绘图操作

1.目的

培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件和基本绘图进行设计。
2.基本要求

加入一个图片,

■在窗体上添加3个文本框,2个命令按钮,并画一个表盘。

■再在窗体上添加一个时钟控件,用来实现钟表的计时。

程序运行时,钟表开始计时,表盘上的3个指针按计时规律进行顺时针旋转

■在3个文本框中分别输入时、分、秒,单击“显示指定时间”按钮,表盘上的指针按给定时间显示

■单击“恢复时钟”按钮,时钟又恢复为正常计时。

图2


注:本题是一道很容易的题,主要是为了掌握标准控件和常用绘图方法的使用,只要掌握教材中的相关知识,就能顺利完成。

设计方法和基本原理

1.问题描述

程序界面可以参考上图,对程序界面上控件的属性要进行设置,以便形成一个良好的界面,在彻底掌握基本语句的基础上,进一步学习程序结构如何安排更合理、更有效,参考教材中相应的例题,编写合理的程序代码。

2.问题的解决方案

①设计程序界面

参考上述给出的界面,完成窗体界面的设计。注意,在表盘的圆心部位有代表时、分、秒的3条初始直线。如果有自己的思路和想法,也可以自行设计窗体界面,但必须保证完成本任务。

②编写代码

本任务的代码不多,也不困难。编写代码时要注意程序的合理性。

四、主要技术问题的描述

本题中较为困难的是Shape和Timer控件的使用。这类问题的相关资料可以从参考书中或网络中找到,请同学们发挥主观能动性,真正自己动手写写程序,相信你一定会从中得到乐趣。

五、参考资料

★ Visual Basic 程序设计教程 及 Visual Basic 实验教程

★ VB6.0程序员指南

★ VB6.0控件参考手册

★ MSDN中文版,课程设计网站上提供的其它资料。

六、设计部分的评分标准(本题难度为d级,综合时要乘系数0.75)

基本完成了“基本要求” (项目符号为“■”的5项内容)

60~80分

基本要求全部完成,且界面或功能有较明显的创新

80~90分

原理有创新,且完成部分

90~100分

[注:最后得分是根据本部分得分(占最大比例)以及课程设计期间纪律、设计报告书、答辩情况综合得出]

以上是老师给的要求,要求最后还要交报告,报告的模板等代码编好我再发过去,

补充:希望高手们帮帮忙  很着急的  希望能能做个压缩包 把做好的.frm    .frx     .vbp    .vbw等所需文件作个压缩包发到我的邮箱上   邮箱ai520like@126.com       或654475760@qq.com先谢谢各位高手帮忙~

急急急!!!!!!!!!!

如果收到后可以运行的话一定追加给分!!!!谢谢

追问:

××××设计报告

学院 班级 学号 姓名 成绩

一、设计思路

1.要达到的目的

正文(宋体5号字,单倍行距)

①×××××

②×××××

③×××××

④×××××

。。。

2.关键问题的解决

正文(宋体5号字,单倍行距)

①×××××

②×××××

③×××××

④×××××

。。。

二、模块之间的调用关系,或程序流程图

特别注意:根据自己题目的情况修改此图,可以更简单或者更复杂!流程特简单的可以没有这个部分。

调用

调用

调用

调用

Gamestart模块

Singleplayer模块

doubleplayers模块

Singlehelp模块

doublehelp模块


三、部分程序关键源代码及注释

正文(宋体5号字,单倍行距)

四、设计方案的完善及目前存在的问题

1.设计方案要完善的地方

正文(宋体5号字,单倍行距)

①×××××

②×××××

③×××××

。。。。

2. 目前存在的问题

正文(宋体5号字,单倍行距)

①×××××

②×××××

③×××××

。。。

五、本次设计的收获及心得体会

正文(宋体5号字,单倍行距)

六、对该题目和VB设计的意见和建议

1. 对该题目的意见和建议

正文(宋体5号字,单倍行距)

2.对本次设计的意见和建议

正文(宋体5号字,单倍行距)

特别说明:一定要将模板中的xxxx替换为实际值,蓝色是格式要求,写报告时要删除。

谢谢咯 不过希望您能帮忙把报告作出来 附上模板 谢谢您 追加给分了

答案:已做好,发邮箱里了

Const pi = 3.14159
Dim ihour, iminute, isecond
Const centerX = 1520
Const centerY = 1300
Private Sub Command1_Click()
Timer1.Enabled = False
ih = Val(Text1(0))
h = Val(IIf(ih > 12, ih - 12, ih))
m = Val(Text1(1))
s = Val(Text1(2))
Hands h, m, s
End Sub

Private Sub Command2_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Activate()
Hands hour(Time), minute(Time), second(Time)
End Sub

Private Sub Timer1_Timer()
Label2(1).Caption = "今天是" & vbCrLf & Date & vbCrLf & WeekdayName(Weekday(Date))
Label2(0).Caption = "现在是北京时间:" & Time
Hands hour(Time), minute(Time), second(Time)
End Sub
Private Sub Hands(hour, minute, second)
Cls
r = 1100: p = 900: q = 500
DrawWidth = 1
secang = second * 6 * pi / 180
secx = centerX + r * Sin(secang)
secy = centerY - r * Cos(secang)
Line (centerX, centerY)-(secx, secy)
DrawWidth = 3
minang = (minute + second / 60) * 6 * pi / 180
minx = centerX + p * Sin(minang)
miny = centerY - p * Cos(minang)
Line (centerX, centerY)-(minx, miny)
DrawWidth = 4
houang = (hour + (minute + second / 60) / 60) * 30 * pi / 180
houx = centerX + q * Sin(houang)
houy = centerY - q * Cos(houang)
Line (centerX, centerY)-(houx, houy)
End Sub

真有耐心的人啊

上一个:求帮我找这个VB程序里的错误
下一个:请问一个VB问题,开启大写怎么实现?代码?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,