论文部分内容阅读
摘要:VB程序设计语言以其友好的界面,结构他的语言成为许多初学者的首选,本文通过一个夜幕降临繁星初上的小程序介绍VB程序的设计及学习。
关键字:VB 程序设计
Visual Basic程序设计语言以友好的开发界面,结构化的设计语言成为程序设计初学者的首选。本文用一个夜幕降临繁星初上的编程案例介绍VB程序的设计及学习。(程序在VB6.0环境运行通过)
一、问题提出
用VB程序设计语言设计一个夜幕降临,繁星初上动态效果的小程序。
二、问题分析
问题涉及两个部分:夜幕降临和繁星初上。夜幕降临,要求设计窗口一开始是蓝色的效果(模拟蓝天),随着时间慢慢变暗,直到完全黑下来,需要用到让窗口颜色随时间变化的对象;繁星初上可以考虑用随机函数实现星星大小和位置的任意性。三、程序实现
1.窗口界面设计。新建一个工程,将窗口的Windowstate属性值设为2 - Maximized。在窗口上设计三个垂直滚动条控件,用于红绿蓝三原色值的设定。将三个滚动条名字分别设为Hl(红色),H2(绿色)和H3(藍色)。将Hl,H2和H3的Visible属性值设为False; Max属性值设为255;Min属性值设为0。在窗口上设计一个时钟控件Timerl,用于控制窗口颜色由蓝变黑,模拟天黑的过程。Timerl的Interval属性值设为500。再在窗口上添加一个时钟控件Timer2用于实现繁星初上的效果。如下图所示:
2.代码设计。代码设计主要有以下三个部分:
第一,初始化:
Private Sub Form Initialize()
Hl=200
H2 =130
H3=200
Me.BackColor=RGB( 100, H2, H3)
Me.ForeColor=RGB( 224, 236, 152) End Sub
第二,Timerl的timer事件代码:
Private Sub Timerl_Timer( )I
fH2.Value>0 Then
H2.Value=H2.Value -5
Else
H2.Value=0 Endlf IfHl.Value< 255 Then
Hl.Value=Hl.Value+5
Else
Hl.Value=255
Endlf IfH3.Value< 255 Then
H3.Value=H3.Value+5 Else
H3.Value=255
Endlf
Me.BackColor=RGB(0,H2.Value,
H3.Value)
IfH2.Value=00r H3.Value=255 Then Timer2.1nterval=500
End Sub
第三,Timer2的timer事件代码:
Private Sub Timer2_Timer()
Dimn As Integer, xAs Integer, yAs Integer
Randomize
n=10*Rnd()
x=Me.ScaleWidth8 Rnd()
v=Me.ScaleHeight8Rnd()
Me.CurrentX=X
Me.CurrentY=y
Me.FontSize=10* Rnd()
Me.Print”★”
End Sub程序运行效果如下图:
最后,可以通过生成EXE文件将其编译成一个可执行程序。
四、补充
这个小程序如果运行时间长,因为星星一直在增加,当星星太多时,窗口显得凌乱不好看,可以考虑增加一个全局变量做计数器,当星星超过一定数量时进行清屏。代码如下:
1.定义变量t:dimt as integer
2.在窗口初始化事件中增加对t赋初值的语句:t=0
3.在Timer2的timer事件中增加一个判断结构:
Ift=60Then Me.Cls t=0 Else t=t+l End If
这个判断结构可以实现当星星数量到达60时,对窗口进行清屏,并对计数器t清零。
五、总结
VB程序设计语言的学习,主要从两个方面人手:一方面是界面设计,主要是各种控件及其属性、方法和事件的学习,以及窗口控件安排的美观问题。本案例界面上的控件全部为不可见,所以不涉及布局问题。其次是代码设计的学习。VB语言是结构化程序设计语言,主要是三种控制结构的学习:顺序结构、选择结构和循环结构,本案例涉及到顺序结构和选择结构。另外,VB的特色是事件驱动,所以对事件的学习很重要,能够合理选择事件实现程序效果是VB程序设计技巧的关键。
本案例通过程序设计来实现动态变化的视觉效果,其中用到的Timer控件是效果实现的关键。Timer控件的使用可以在窗口上制造出动态的效果,是设计应用程序经常用到的控件。另外,为了模拟星星出现大小不一的状况以及出现位置的不确定,使用了随机函数RND,增加了程序效果的趣味性。
关键字:VB 程序设计
Visual Basic程序设计语言以友好的开发界面,结构化的设计语言成为程序设计初学者的首选。本文用一个夜幕降临繁星初上的编程案例介绍VB程序的设计及学习。(程序在VB6.0环境运行通过)
一、问题提出
用VB程序设计语言设计一个夜幕降临,繁星初上动态效果的小程序。
二、问题分析
问题涉及两个部分:夜幕降临和繁星初上。夜幕降临,要求设计窗口一开始是蓝色的效果(模拟蓝天),随着时间慢慢变暗,直到完全黑下来,需要用到让窗口颜色随时间变化的对象;繁星初上可以考虑用随机函数实现星星大小和位置的任意性。三、程序实现
1.窗口界面设计。新建一个工程,将窗口的Windowstate属性值设为2 - Maximized。在窗口上设计三个垂直滚动条控件,用于红绿蓝三原色值的设定。将三个滚动条名字分别设为Hl(红色),H2(绿色)和H3(藍色)。将Hl,H2和H3的Visible属性值设为False; Max属性值设为255;Min属性值设为0。在窗口上设计一个时钟控件Timerl,用于控制窗口颜色由蓝变黑,模拟天黑的过程。Timerl的Interval属性值设为500。再在窗口上添加一个时钟控件Timer2用于实现繁星初上的效果。如下图所示:
2.代码设计。代码设计主要有以下三个部分:
第一,初始化:
Private Sub Form Initialize()
Hl=200
H2 =130
H3=200
Me.BackColor=RGB( 100, H2, H3)
Me.ForeColor=RGB( 224, 236, 152) End Sub
第二,Timerl的timer事件代码:
Private Sub Timerl_Timer( )I
fH2.Value>0 Then
H2.Value=H2.Value -5
Else
H2.Value=0 Endlf IfHl.Value< 255 Then
Hl.Value=Hl.Value+5
Else
Hl.Value=255
Endlf IfH3.Value< 255 Then
H3.Value=H3.Value+5 Else
H3.Value=255
Endlf
Me.BackColor=RGB(0,H2.Value,
H3.Value)
IfH2.Value=00r H3.Value=255 Then Timer2.1nterval=500
End Sub
第三,Timer2的timer事件代码:
Private Sub Timer2_Timer()
Dimn As Integer, xAs Integer, yAs Integer
Randomize
n=10*Rnd()
x=Me.ScaleWidth8 Rnd()
v=Me.ScaleHeight8Rnd()
Me.CurrentX=X
Me.CurrentY=y
Me.FontSize=10* Rnd()
Me.Print”★”
End Sub程序运行效果如下图:
最后,可以通过生成EXE文件将其编译成一个可执行程序。
四、补充
这个小程序如果运行时间长,因为星星一直在增加,当星星太多时,窗口显得凌乱不好看,可以考虑增加一个全局变量做计数器,当星星超过一定数量时进行清屏。代码如下:
1.定义变量t:dimt as integer
2.在窗口初始化事件中增加对t赋初值的语句:t=0
3.在Timer2的timer事件中增加一个判断结构:
Ift=60Then Me.Cls t=0 Else t=t+l End If
这个判断结构可以实现当星星数量到达60时,对窗口进行清屏,并对计数器t清零。
五、总结
VB程序设计语言的学习,主要从两个方面人手:一方面是界面设计,主要是各种控件及其属性、方法和事件的学习,以及窗口控件安排的美观问题。本案例界面上的控件全部为不可见,所以不涉及布局问题。其次是代码设计的学习。VB语言是结构化程序设计语言,主要是三种控制结构的学习:顺序结构、选择结构和循环结构,本案例涉及到顺序结构和选择结构。另外,VB的特色是事件驱动,所以对事件的学习很重要,能够合理选择事件实现程序效果是VB程序设计技巧的关键。
本案例通过程序设计来实现动态变化的视觉效果,其中用到的Timer控件是效果实现的关键。Timer控件的使用可以在窗口上制造出动态的效果,是设计应用程序经常用到的控件。另外,为了模拟星星出现大小不一的状况以及出现位置的不确定,使用了随机函数RND,增加了程序效果的趣味性。