跳轉至內容

Gambas/分支

來自華夏公益教科書

返回 Gambas

程式中的分支是什麼?

[編輯 | 編輯原始碼]

分支是指程式必須做出選擇的點。透過這些結構,可以建立具有多種結果的程式。主要有兩種分支方法:

  • if then及其變體
  • select case

If...Then 語句

[編輯 | 編輯原始碼]

if then分支的工作方式與自然語言中使用的方式非常相似。如果某些條件為真,則執行某些操作。如果條件不為真,則繼續執行。

嘗試以下小示例:你只需要在你的窗體上新增一個命令按鈕即可執行它。輸出將顯示在終端視窗中。

PUBLIC SUB Button1_Click()
k AS Integer
FOR k = 1 TO 10000
 IF k = 5000 THEN PRINT "5000 has been reached !"
NEXT
END

嘗試修改程式,使輸出顯示在文字框中。你需要在你的窗體中新增一個文字框。你可以在工具箱中使用F6找到它。然後你需要更改程式碼,使print命令被替換。

PUBLIC SUB Button1_Click()
k AS Integer
FOR k = 1 TO 10000
 IF k = 5000 THEN textbox1.text = "5000 has been reached !"
NEXT
END

If...Then...Else...End if

[編輯 | 編輯原始碼]

你可以透過新增一些其他命令(如 else 和 end if)來修改 if-then 結構。以下是一個包含 elseend if 命令的示例。你只需要在你的窗體上新增一個命令按鈕即可執行它。

 PUBLIC SUB Button1_Click()
 k AS Integer
 FOR k = 1 TO 6000
  IF k < 5000 THEN    
     PRINT k
   ELSE
     PRINT "5000 has been reached!"
   END IF
 NEXT
END

該程式從 1 計數到 6000。當計數達到 5000 時,你將在終端視窗中收到一條訊息。

你必須注意正確的縮排,否則程式將無法執行。

以下是一個使用切換按鈕的示例:它顯示一條沒有訊息框的訊息,並且可以將訊息複製到剪貼簿。你只需要一個切換按鈕和一個文字區域即可執行它。你應該將文字區域的屬性更改為:

  • Visible = false

當你點選按鈕時,文字將顯示出來。當你再次點選時,文字將消失。

PUBLIC SUB ToggleButton1_Click()
DIM Help AS String
 IF TextArea1.Visible = FALSE THEN 
   ToggleButton1.Text = "Close Info "
   Help = "Hello, this is a info" & Chr(13) & Chr(10)
   Help = Help & "www.madeveryeasy.de" & Chr(13) & Chr(10)
   Help = Help & "rho55@gmx.de"
   TextArea1.Visible = TRUE
   TextArea1.text = Help
 ELSE 
  TextArea1.Visible = FALSE
   ToggleButton1.Text = "Show Info"
 ENDIF
END

Select Case

[編輯 | 編輯原始碼]

如果你想要分支並且你有多於2個可能的答案,那麼你可以使用select-case命令。嘗試以下小示例來熟悉它。你只需要一個空白窗體即可執行它。輸出將在終端視窗中顯示。

PUBLIC SUB Form_Open()
 PRINT Now
 PRINT WeekDay(Now)
  SELECT CASE WeekDay(Now) 
   CASE 1 
     PRINT "Monday" 
   CASE 2 
     PRINT "Tuesday"
   CASE 3 
     PRINT "Wednesday" 
   CASE 4 
     PRINT "Thursday" 
   CASE 5 
     PRINT "Friday" 
   CASE 6 
     PRINT "Saturday" 
   CASE 7 
     PRINT "Sunday" 
 END SELECT 
END
華夏公益教科書