VB語言基礎重要知識點08

  • 2019 年 10 月 10 日
  • 筆記

這是VB語言基礎知識第8期。

一、手動控制閃爍狀態

我們先簡單實現一個小程式。

通過控制timer控制項的enable屬性來設置文字是否閃爍。

如果檢測按鈕文字為「停止」,那麼設置按鈕文字為「閃爍」。

如果檢測按鈕文字為「閃爍」,那麼設置按鈕文字為「停止」。

程式效果1

程式效果2

程式介面包含控制項:1.timer1時鐘控制項。2.label1標籤控制項。3.command1按鈕控制項。程式介面設計如下:

介面設計

時鐘控制項的設置屬性:

按鈕的程式碼:

If Command2.Caption = "停止" Then    Timer1.Enabled = False    Command2.Caption = "閃爍"Else    Timer1.Enabled = True    Command2.Caption = "停止"End If

時鐘控制項timer1的源程式碼:

'控制是否閃爍If Label1.Visible = True Then    Label1.Visible = FalseElse    Label1.Visible = TrueEnd If  Randomize  '控制變色Label1.ForeColor = RGB(Int(256 * Rnd), Int(256 * Rnd), Int(256 * Rnd))

程式控制的邏輯思想:通過判斷按鈕上面的文字來控制時鐘控制項是否啟用,同時在程式碼邏輯中插入按鈕文字的切換。

通過以上程式,我們看出程式中進行了顏色的控制,我們通過rgb函數和rnd隨機數控制我們文字隨機變色,會顯得很漂亮。那麼,隨機數該如何使用呢?

二、隨機數知識要點

隨機數關鍵詞是rnd,這個關鍵詞代表的範圍是0到1之間,包含0,不包含1。我們使用表達式來表述為 0<=rnd<1

Randomize的作用:是為了讓rnd的隨機數增大不同的概率。

為什麼randomize會增大不同概率?

因為randomize默認以系統時間作為種子單位。

我們在數學集合中也有範圍的表示方式,用[中括弧表示包括,用)小括弧表示不包含。

0<=rnd<1用 [0,1)來表示。

那麼我們使用rnd來表示一下數值的範圍:

255*rnd 表示的範圍:[0,255)

rnd+254 表示的範圍:[254,255)

rnd*220+10 表示的範圍:[10,230)

rnd*70+30 [30,100)

我們知道在rgb函數中,每個參數的範圍為0~255之間的整數。

提問:如何用rnd表示0到256之間的隨機數?

rnd*256表示的是[0,256)

在以上知識中,我們求出的是實數的範圍,那麼我們該如何來求整數呢?此時,我們需要的是向下取整函數。

向下取整函數使用 int函數表示。

理解向下取整:結果是比這個數最靠近的小的整數。

3.3向下取整的結果是3

3.5向下取整的結果是3

3.9向下取整的結果是3

-3.3向下取整的結果是-4

最後,我們來表示[0,255]之間所有的整數: int(rnd*256)

本節教程所有程式碼:

Private Sub Command1_Click()Print Label1.Visible  End Sub    Private Sub Command2_Click()If Command2.Caption = "停止" Then    Timer1.Enabled = False    Command2.Caption = "閃爍"Else    Timer1.Enabled = True    Command2.Caption = "停止"End IfEnd Sub  Private Sub Timer1_Timer()  '控制是否閃爍If Label1.Visible = True Then    Label1.Visible = FalseElse    Label1.Visible = TrueEnd If  Randomize  '控制變色Label1.ForeColor = RGB(Int(256 * Rnd), Int(256 * Rnd), Int(256 * Rnd))      End Sub