赛捷软件论坛's Archiver

erina.pan 发表于 2018-5-3 15:30

变量声明(Crystal 语法)

在公式中使用变量前必须声明它。变量可以保持某个给定类型的值。允许的类型是七种简单类型(数字、货币、字符串、布尔值、日期、时间和日期时间),六种范围类型(数字范围、货币范围、字符串范围、日期范围、时间范围和日期时间范围)以及保持上述类型数组的变量。这为变量提供了总共 26 种不同的类型。

声明变量时,还指定了它的名称。变量不能与任何对 Crystal 语法有效的函数、运算符或其他关键字同名。例如,变量不能被命名为 Sin、Mod 或 If,因为 Sin 是内置函数,Mod 是内置运算符,而 If 是内置关键字。当在公式编辑器中键入公式时,内置函数、运算符或其他关键字的名称均以不同的颜色突出显示,因此很容易检查出变量名是否与它们冲突。

变量一经声明后,即可在公式中使用。例如,可能希望为其赋以一个初始值:

Local NumberVar x; x := 10;

注意   声明“数字”变量的关键字的末尾为 Var。Crystal 语法中所有的变量类型都是如此。

变量只能保持一种类型的值。例如,如果一个变量保持“数字”值,则无法再用其保持“字符串”值。

示例

Local StringVar y; y := "hello"; Length (y); y := #Jan 5, 1993#; y := ["a", "bb", "ccc"]; Sin (y);

在单个表达式中可以同时声明变量和给变量赋值。例如:

Local NumberVar x := 10 + 20; Local StringVar y := "Hello" + " " + "World"; Local DateVar z := CDate (#Sept 20, 1999#); Local NumberVar Range gradeA := 90 To 100;

这是一个不错的方法,因为效率将会提高,并且当变量初始化不正确时,有助于防止出现常见的错误。

下面是声明和初始化范围变量的另外一些示例:

Local NumberVar Range gradeA; Local DateVar Range quarter; gradeA := 90 To 100; quarter := CDate (1999, 10, 1) To CDate (1999, 12, 31);

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.