

摘要: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.Valuegt;0 Then
H2.Value=H2.Value -5
Else
H2.Value=0 Endlf IfHl.Valuelt; 255 Then
Hl.Value=Hl.Value+5
Else
Hl.Value=255
Endlf IfH3.Valuelt; 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,增加了程序效果的趣味性。