跳转到内容

使用 3D Connexion SDK / 使用变量

来自维基教科书,开放世界中的开放书籍

变量:你的第二个程序

[编辑 | 编辑源代码]

大多数程序依赖于一组变量。这些是让计算机存储和调用信息片段的方式。它就像一个用来存储信息的盒子。你在**声明**变量时给它一个名字。声明变量告诉计算机三件事

1:名称

2:它应该存储什么类型的信息

3:初始值

名称必须是一个尚未使用的词。Visual basic 检查名称是否正确,如果存在问题,会告诉你。使用一些容易记住的词(Time_taken 而不是 t),但要快于输入(MyChNum 而不是 My_Chosen_Number)。

数据类型很重要。最常见的类型是**整数** - 整数,例如 15,**单精度** - 带小数部分的数字,例如 14.560385,**双精度** - 带小数部分的数字,需要非常精确,例如 14.359649064923490,以及**字符串**,一段文本,例如“一段文本”。

我们在 Visual basic 中声明变量的方式是使用单词“Dim”。以下是如何将名为 MyVar 的变量声明为字符串文本。

 Dim MyVar As String = "This is the initial value"

让我们进入我们的“你好世界”应用程序并添加变量。你可以在程序的任何地方添加变量,但它所在的位置决定了它可以用于什么。如果我们在 Form1 的描述中添加它,它可以在程序中的任何地方使用

 Public Class Form1
   Dim MyVar As String = "This is the initial value"
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Text = "Hello World" End Sub
End Class

你可能已经注意到,对象的属性都是变量。

赋值只是设置变量的值。你像这样设置值

 A = 1

将 A 的值设置为 1。

 A = B

将 A 的值设置为 B 的值。

 A = 23 * B

将 A 的值设置为 B 的值的 23 倍。

我们也可以在赋值中使用 A

 A = A + 1

这将 A 的值增加 1。

 A = A * 2

这将 A 翻倍。

 A = A / 2

这将 A 减半。

让我们创建一个应用程序,计算按钮被按下次数。

就像在“你好世界”应用程序中一样,创建一个新程序并添加一个按钮。转到事件列表并为按钮添加一个单击事件。你的代码现在应该如下所示

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

让我们创建一个名为“counter”的变量。我们不需要它有小数部分,所以我们将类型设置为整数。它应该从 0 开始。此代码如下

Dim counter As Integer = 0

因为这个变量需要在 Button1 未被点击时保存,所以它需要放在程序的主要部分

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

当 Button1 被按下时,counter 应该增加 1

Counter = Counter + 1

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

现在,我们需要添加一行代码来更新按钮上的文本

 Public Class Form1
   Dim counter As Integer = 0
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Counter = Counter + 1
       button1.text = Counter
     End Sub
 End Class

请注意 Button1.Text 实际上是一个字符串。如果你使用其他语言,你需要在将值赋给不同的类型之前进行变量类型转换。

运行你的代码以查看程序。

限制与相对性

[编辑 | 编辑源代码]

通常,你需要为变量添加限制。让我们为我们的表单添加一个进度条

(图像)

看看属性。Value 属性设置进度条的进度 - 注意当它改变时它会执行一个漂亮的动画。

这个值有限制;它不能大于 100 或小于 0。有点说得通;我从来没有复制过文件 110%。如果你尝试将 Value 设置为 200,你的程序将会崩溃。为了阻止这种情况,我们需要将我们即将使用的值与最大值进行比较。我们需要使用相对性表达式

相对性
[编辑 | 编辑源代码]

相对性本质上比较两个值。相对性表达式这样表达

 A = 1

这个表达式实际上是另一种形式的变量;一个布尔变量。这个变量要么为 TRUE,要么为 FALSE。如果 A=1,则 (A = 1)=TRUE。

它与赋值相同,但必须在不同的位置使用。我稍后会讲到。以下是一些其他的相对性表达式

 A > 1

A 大于 1

 A < 1

A 小于 1

 A <> 1

A 不等于 1

 A <= 1

A 小于 1,或 A 等于 1

 A >= 1

A 大于 1,或 A 等于 1

我们可以使用**AND、OR、NOT** 或**XOR** 条件组合表达式。**And** 表示两个表达式必须为 TRUE,**OR** 表示两个表达式都不为 FALSE,**XOR** 表示其中只有一个为 TRUE。Not 用于将 TRUE 更改为 FALSE,将 FALSE 更改为 TRUE。

      not(TRUE) = false
  TRUE or FALSE = true
 FALSE xor TRUE = true
  TRUE xor TRUE = false

我们对进度条有两个条件

 counter >= 0
 counter <= 100

这两个条件都必须为真才能让程序正常运行,所以让我们使用 and 来组合它们

 (counter >= 0) and (counter <= 100)

然后我们使用标准英语让程序进行更正。我们输入**If**,然后输入我们的条件,然后输入**Then**。接下来是代码要运行的代码,以**End If** 结束

 If (counter >= 0) and (counter <= 100) then
       Counter = Counter + 1
       button1.text = Counter
       progressbar1.value = counter
 End If

这里有一个问题。如果我们测试程序并将 Counter 增加到 100,然后再次按下按钮并尝试将进度条增加到 101。这会导致程序崩溃。问题在于我们提供指令的顺序

1. 检查 Counter 的值是否正确

2. 将 Counter 加 1

3. 更新表单

Visual Basic 按行执行;它按顺序执行每行。我们需要重新排列程序。

2. 将 Counter 加 1

1. 检查 Counter 的值是否正确

3. 更新表单

 Counter = Counter + 1
 If (counter >= 0) and (counter <= 100) then
       button1.text = Counter
       progressbar1.value = counter
 End If

我们可以向此代码添加更多内容;如何将值设置为 0 一旦它到达顶部?为此,我们需要一个**Else** 部分。

       counter = counter + 5
       If (counter >= 0) And (counter <= 100) Then
           Button1.Text = counter
           ProgressBar1.Value = counter
       Else
           counter = 0
       End If

刚刚发生了什么(如果……那么……否则逻辑)

[编辑 | 编辑源代码]

此处使用的代码是一个决策过程

 If Condition Then
   Things to do if Condition = TRUE
 Else
   Things to do if Condition = FALSE
 End If
华夏公益教科书