跳转到内容

使用 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 教程。

华夏公益教科书