2007年上半年程序员下午试卷[7]

软考 责任编辑:jarhon 2007-08-03

添加老师微信

备考咨询

加我微信

摘要:[VisualBasic开发说明]在开发过程中,先在窗体内制作形状“红绿灯框架”(长方形,透明),在该框架中,上部制作形状“红灯”(ShpRed,圆形),默认属性为透明;下部制作形状“绿灯”(ShpGreen,圆形),初始设置其填充方式属性FillStyle为实心,填充颜色属性FillColor为绿色。再设置两个图像框(Image1在左,Image2在右),使其能分别装

[Visual Basic开发说明]

在开发过程中,先在窗体内制作形状“红绿灯框架”(长方形,透明),在该框架中,上部制作形状“红灯”(ShpRed,圆形),默认属性为透明;下部制作形状“绿灯”(ShpGreen,圆形),初始设置其填充方式属性 FillStyle 为实心,填充颜色属性 FillColor 为绿色。

再设置两个图像框(Image1 在左,Image2 在右),使其能分别装入数字图像文件,以显示当前红绿灯状态剩余的秒数。10 个数字图像文件 N0.bmp~N9.bmp 分别用于显示数字 0、1、…、9,这些文件存放在该应用程序所在目录中,以便在程序运行时按需要选择装入这两个图像框。为使图像文件装入图像框时能自动改变大小以适应图像框,这些图像框的 Stretch 属性都应设置成 (1) 。为使这些数字能每秒变化一次,开发窗体中设置了计时器 Timer1,其 Enable 属性设置成 True,其 Interval 属性设置成 1000。

程序中,全局变量 Light 用以标志当前红灯(0)或绿灯状态(1),RedT 和 GreenT分别表示红灯或绿灯状态剩余的秒数。

计时器 Timer1 的定时过程是在该程序启动 1 秒后首次执行的,以后每隔 1 秒执行1 次。开发者应考虑对以下四种情况的处理:绿灯持续、绿灯转红灯、红灯持续、红灯转绿灯。

过程 LoadNumber 的功能是:将红绿灯剩余秒数 N(2 位整数)分离出两个一位数 i与 j,再将其变换成字符,删除前面可能产生的空格,再将数字图像文件 Ni.bmp 与 Nj.bmp装入两个图像框(其中 i 与 j 应以相应的数字字符代替)。

 

[Visual Basic程序代码]

Public Light As Integer, RedT As Integer, GreenT As Integer

Private Sub Form_Load()

Light = 1 : GreenT = 40 : RedT = 0’初始化设置

End Sub

Private Sub Timer1_Timer()’计时器定时过程

If Light = 1 Then’绿灯状态时

  (2)  

 

If GreenT > 0 Then’绿灯持续时

Call LoadNumber(GreenT)’调用过程,显示数字 GreenT

Else ’绿灯转红灯时

ShpRed.FillStyle = 0 ’置红灯形状实心 

ShpRed.FillColor = vbRed ’为红灯形状填充红色

ShpGreen.FillStyle = 1’置绿灯形状透明

Call LoadNumber(30)

Light = 0 : RedT = 30

End If

Else’红灯状态时

RedT = RedT - 1

If RedT > 0 Then ’红灯持续时

Call LoadNumber(RedT)

Else ’红灯转绿灯时

ShpRed.FillStyle = 1

ShpGreen.FillStyle = 0

ShpGreen.FillColor = vbGreen

(3)

Light = 1 : GreenT = 40

 End If

End If

End Sub

Sub LoadNumber(N As Integer)’根据剩余秒数 N 将数字图像装入图像框

Dim i As Integer, j As Integer

i = Int( (4) )

j = (5)

Image1.Picture = LoadPicture("N"&Trim(Str(i))&".bmp") ’显示十位上的数字

Image2.Picture = LoadPicture("N"&Trim(Str(j))&".bmp") ’显示个位上的数字

End Sub

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!