VB語言基礎重要知識點17
- 2019 年 11 月 25 日
- 筆記
之前我們學習過了自動打字的相關知識點,但是發現有些同學不夠熟練。與此同時,對於會的同學,如果題目稍加改變以後,還是會出現不少問題。那麼,我們今天就一起修改一下這個題目。
我們的目標:將文字正向逐字列印之後,隨機變換一種顏色,反向逐漸減少一個字。
目標案例

以上案例,我們需要列印「我們是五月的花海」。
一、開發思路
往返打字程式思路:
1.考慮臨界點
明確哪個位置開始一直增加文字,
哪個位置開始一直減少文字。
2.設置臨界點標識。
3.根據臨界點來實現文字的加減。
文字的加減,採用left函數來實現。
4.顏色設置
設置顏色的函數rgb
參數的值的範圍:[0,255]的整數
提問:隨機整數怎麼寫?
0<=rnd<1
0<=int(rnd*256)<=255
int函數:表示向下取整。
int(5.999) 的結果是5
int(-5.111)的結果是-6
二、end if介紹
- if語句中何時可以省略endif
- if語句中,如果執行的then中的語句只有
- 一句話,那麼久可以直接連寫在then後面,
- 此時不需要endif。
- 如果then中的語句換行寫,此時必須要加endif
三、類型補充
1.定義
布爾類型變數boolean
布爾類型的值只有true或者false
2.聲明
聲明一個布爾類型的變數a
dim a as boolean
3.賦值
為a賦值:
a=true
或者
a=false
介面設計

本節知識源程式碼:
Dim a As String '存儲需要列印的字元串 Dim b As Integer '表示需要打幾個字 Dim c As String '臨界點標識 Private Sub Form_Load() '初始化窗體的數據 a = "我們是五月的花海" b = 0 '初始化要打的字數 Label1.FontSize = 30 '設置字體大小 End Sub Private Sub Timer1_Timer() Randomize '默認以系統時間隨機數種子 If b = Len(a) Then '打完所有字的臨界點 c = "減" Label1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)) End If If b = 0 Then '沒有字的臨界點 c = "加" Label1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)) End If '根據臨界點的判斷後,進行相應的字數增減 If c = "減" Then b = b - 1 Label1.Caption = Left(a, b) Else b = b + 1 Label1.Caption = Left(a, b) End If End Sub