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