IBM Lotus Symphony


使用变量

下面描述了 Lotus® Symphony™ Basic 中变量的基本用法。

变量标识的命名约定

变量名称最多可以含有 255 个字符。变量名称的第一个字符必须是字母 A-Z 或 a-z。变量名称中可以使用数字,但不能使用除下划线字符(“_”)以外的标点符号和特殊字符。在 Lotus Symphony Basic 中,变量标识不区分大小写。变量名称可以含有空格,但如果含有空格,就必须将其放在方括号中。

表 1. 变量标识的示例
示例 描述
MyNumber=5 正确
MyNumber5=15 正确
MyNumber_5=20 正确
My Number=20 无效,带空格的变量必须放在方括号中
[My Number]=12 正确
DéjàVu=25 无效,不允许使用特殊字符
5MyNumber=12 无效,变量不能以数字开头
Number,Mine=12 无效,不允许使用标点符号

声明变量

Lotus Symphony Basic 中,无需显式声明变量。变量声明时使用 Dim 语句。一次可以声明多个变量,但变量名称之间需要用逗号分隔。要定义变量类型,请在名称后使用类型声明符号,或者使用适当的关键字。

表 2. 变量声明的示例
示例 描述
DIM a$ 将变量“a”声明为字符串
DIM a As String 将变量“a”声明为字符串
DIM a$, b As Integer 将一个变量声明为字符串,另一个声明为整数
DIM c As Boolean 将 c 声明为值为 TRUE 或 FALSE 的布尔变量。

在声明变量时,即使是在声明而不是在关键字中使用,也要求每次都必须使用类型声明字符。因此以下语句无效:

表 3. 无效语句的示例
示例 描述
DIM a$ 将“a”声明为字符串
a="TestString" 缺少类型声明:“a$=”
警告图标 一旦将某个变量声明为特定类型,就不能再将同名的变量声明为其他类型!

强制变量声明

要强制声明变量,请使用以下命令:

OPTION EXPLICIT

Option Explicit 语句必须是模块中的第一行,位于第一个 SUB 之前。通常,只有数组需要显式声明。所有其他变量都按照类型声明字符进行声明,而如果省略了类型声明字符,那么声明为缺省类型单精度

变量类型

Lotus Symphony Basic 支持四类变量:

整数变量

整数变量的范围从 -32768 到 32767。如果向整数变量分配浮点数值,那么小数部分将四舍五入为下一个整数。整数变量在过程中的计算速度非常快,适合用作循环中的计数器变量。整数变量只需要两个字节的内存。其类型声明字符是“%”。

Dim Variable%

Dim Variable As Integer

长整型变量

长整型变量的范围从 -2147483648 到 2147483647。如果向长整型变量分配浮点数值,那么小数部分将四舍五入为下一个整数。长整型变量在过程中的计算速度非常快,适合用作大值循环中的计数器变量。长整型变量需要四个字节的内存。其类型声明字符是“&”。

Dim Variable&

Dim Variable as Long

小数变量

小数变量可以接受正数、负数或零。精度可达 29 位数。

您可以使用加号(+)或减号(-)作为小数的前缀(含有或不含空格)。

在将一个小数分配给整数变量时,Lotus Symphony Basic 会向上或向下舍入该数字。

单精度变量

单精度变量可以接受 3.402823 x 10E38 到 1.401298 x 10E-45 之间的正值或负值。单精度变量是浮点变量,其小数精度会随着非小数部分位数的增加而降低。单精度变量适合进行平均精度的数学计算。其计算速度比整数变量的计算速度慢,但比双精度变量的计算速度快。单精度变量需要四个字节的内存。其类型声明字符是“!”。

Dim Variable!

Dim Variable as Single

双精度变量

双精度变量可以接受 1.79769313486232 x 10E308 到 4.94065645841247 x 10E-324 之间的正值或负值。双精度变量是浮点变量,其小数精度会随着非小数部分位数的增加而降低。双精度变量适合进行精确计算。其计算速度比单精度变量慢。双精度变量需要八个字节的内存。其类型声明字符是“#”。

Dim Variable#

Dim Variable As Double

货币变量

货币变量在内部存储为 64 位数字(8 个字节),并显示为固定位数的小数,其中含有 15 位非小数和 4 位小数。取值范围从 -922337203685477.5808 到 +922337203685477.5807。货币变量用于计算货币值,并且具有很高的精度。其类型声明字符是“@”。

Dim Variable@

Dim Variable As Currency

字符串变量

字符串变量可以保留最长达 65,535 个字符的字符串。每个字符都存储为相应的 Unicode 值。字符串变量适合在程序内进行字处理,也可以用于临时存储最长达 64 KB 的不可打印字符。存储字符串变量所需的内存量取决于此变量中含有的字符数。其类型声明字符是“$”。

Dim Variable$

Dim Variable As String

布尔变量

布尔变量只存储以下两个值之一:TRUE 或 FALSE。数 0 的求值为 FALSE,所有其他值的求值为 TRUE。

Dim Variable As Boolean

日期变量

日期变量只能含有以内部格式存储的日期值和时间值。通过 DateserialDatevalueTimeserialTimevalue 赋予日期变量的值会自动转换为内部格式。使用 DayMonthYearHourMinuteSecond 函数可将日期变量转换为普通数字。使用内部格式,可以通过计算两个数字之差来比较日期/时间值。只能通过关键字 Date 声明这些变量。

Dim Variable As Date

变量初始值

只要一声明变量,就会自动将其设置为“空”值。请注意以下规范:

只要一声明数字变量,就会自动为其指定值“0”。

在内部为日期变量赋值 0,相当于使用 DayMonthYearHourMinuteSecond 函数将值转换为“0”。

字符串变量在声明时被指定为空字符串("")。

数组

Lotus Symphony Basic 可以识别由指定变量类型定义的一维或多维数组。数组适用于在程序中编辑列表和表格。数组中的各个元素可以通过数字索引来定位。

数组必须使用 Dim 语句进行声明。

表 4. 用于定义数组的索引范围的方法
示例 描述
DIM text$(20) 编号为 0 到 20 的 21 个元素
DIM text$(5,4) 30 个元素(含有 6 x 5 个元素的矩阵)
DIM text$(5 to 25) 编号为 5 到 25 的 21 个元素
DIM text$(-15 to 5) 编号为 -15 到 5 的 21 个元素(包括 0)

索引范围可以包括正数和负数。

常数

常数有一个固定的值。它们在程序中只能定义一次,不能重复定义:

CONST ConstName=Expression


产品反馈 | 其他文档 | 商标