使用 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.”以打开数学运算符库。
如果您阅读并理解了所有内容,那么您现在已准备好进入 Visual Basic 的广阔世界。您也已准备好开始使用 3D Connexion SDK。如果您没有理解,您需要四处寻找适合您的 Visual Basic 课程。有很多课程,大部分比这好得多,所以祝您好运!
转到目录并开始学习 3D Connexion 教程。