跳轉到內容

使用 3D Connexion SDK/程式

來自華夏公益教科書,為開放世界提供開放書籍

那麼,什麼是程式?

[編輯 | 編輯原始碼]

程式是您可以從主程式中移出並重複用於不同目的的程式碼段。假設您有一個程式,它將變數 A 作為輸入,將其除以 2,將結果平方並加上 4,並且重複執行 10 次。在標準 Visual Basic 中,它看起來像這樣

 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4
 A = ((A / 2) * (A / 2))  + 4

如果您經常這樣做,讓 Visual Basic 完成所有繁瑣的編碼是有意義的。在您閱讀完本章後,您將能夠建立一個為您完成此操作的程式。如果您將其命名為“Calculate”,您的程式碼可以如下所示

 Calculate
 Calculate
 Calculate
 Calculate
 Calculate
 Calculate
 Calculate
 Calculate
 Calculate
 Calculate

這會導致程式跳轉到“Calculate”,然後在 Calculate 完成後跳轉回來。

製作一個簡單的程式

[編輯 | 編輯原始碼]

要建立一個程式,讓我們建立一個新的 Visual Basic 程式並新增一個按鈕。向其新增一個 Click 事件(檢視 Hello World 教程瞭解更多資訊)。宣告一個名為 MyNumber 的 Integer 變數

   Public Class Form1
     Dim MyNumber As Integer = 1
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
End Sub End Class

在 Visual Basic 中,我們的整個程式只是一個供 Windows(或其他作業系統)執行的大型程式,因此程式內部的程式稱為 Sub-Procedures,簡稱為 Subs。Visual Basic 允許我們指定它是 Public(其他程式可以啟動它執行)還是 Private(對其他程序不可見)。我們將我們的程式設定為 Public。您可以在程式碼中看到 Visual Basic 已經為我們的按鈕點選事件建立了一個 Private Sub。讓我們新增另一個 Sub,這次是 Public,並將其命名為“DoubleMyNumber”

 Public Class Form1
   Dim MyNumber As Integer = 1
   
Public Sub DoubleMyNumber() This is where the procedure code goes End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub End Class

將“()”放在程式名稱後面的原因將在稍後解釋。(Visual Basic 會自動新增它)

所以,讓我們新增 DoubleMyNumber 的程式碼

 Public Class Form1
   Dim MyNumber As Integer = 1
   
Public Sub DoubleMyNumber() MyNumber = MyNumber * 2 End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub End Class

我們需要在按下按鈕時呼叫 DoubleMyNumber。這很簡單;我們只需鍵入它的名稱

 Public Class Form1
   Dim MyNumber As Integer = 1
   
Public Sub DoubleMyNumber() MyNumber = MyNumber * 2 End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click DoubleMyNumber Button1.Text = MyNumber End Sub End Class

恭喜;您剛剛建立了一個新的程式。

新增引數

[編輯 | 編輯原始碼]

為了使程式更有用,我們可以新增引數。引數是您可以傳送到程式的變數。假設我們需要將數字乘以除 2 以外的數字。如何才能做到這一點呢?

 Multiply_My_Number_By(312)

我們可以告訴程式期望一個變數。事實上,我們可以告訴它期望任意數量的變數,並將它們用逗號分隔。我們可以建立一個新增 5 個數字的程式

 AddUp(2,54,23,12,9)

我們只需在編寫程式描述時宣告它。讓我們編輯我們剛剛建立的程式。名稱後面的括號實際上是宣告引數的地方。首先,我們必須告訴程式在執行後如何處理變數

ByRef:按引用呼叫。這意味著您可以更改變數

ByVal:按值呼叫。程式不能更改變數

讓我們使用 ByRef。在這個層面上,ByRef 和 ByVal 的選擇很少重要。

獲取引數 ByHowMuch 的程式碼如下所示

 ByRef ByHowMuch As Integer

以下是完整的程式碼

 Public Class Form1
   Dim MyNumber As Integer = 1
 
Public Sub DoubleMyNumber(ByRef ByHowMuch As Integer) MyNumber = MyNumber * ByHowMuch End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click DoubleMyNumber(312) Button1.Text = MyNumber End Sub End Class

函式類似於程式,但它實際上是一個變數。讓我解釋一下

 A = Half(14)

Half(14) 可以像數字一樣使用。事實上,它是一個數字。函式比程式更靈活,因為它們可以用於分配給不同的變數

 A = Half(A)
 B = Half(B)
 C = Half(C)

與程式一樣,函式可以擁有多個引數

 A = Multiply(A, 0.5)

我們需要以不同的方式宣告函式

   Public Function DoubleMyNumber(ByRef MyNumber As Integer) As Integer
       DoubleMyNumber = MyNumber * 2
   End Function

看一下第 1 行的最後 2 個詞;As Integer。我們實際上已經將 DoubleMyNumber 宣告為一個新的 Integer,我們可以將其分配給它。我們說 DoubleMyNumber(Mynumber) = MyNumber * 2,Visual Basic 可以計算出 DoubleMyNumber(7) = 7 * 2

Visual Basic 擁有大量的內建函式庫,嘗試鍵入“Math.”以開啟數學運算子庫。

歡迎來到 VB 世界!

[編輯 | 編輯原始碼]

如果您閱讀並理解了所有內容,那麼您現在已準備好進入 Visual Basic 的廣闊世界。您也已準備好開始使用 3D Connexion SDK。如果您沒有理解,您需要四處尋找適合您的 Visual Basic 課程。有很多課程,大部分比這好得多,所以祝您好運!

轉到目錄並開始學習 3D Connexion 教程。

華夏公益教科書