Crystal Reports for Rational Application Developer 设计员指南

自动类型转换(Crystal 语法)

一般情况下,在 Crystal Reports 中若没有显式提供类型转换功能,则无法在预期使用某一类型值的位置使用另外一种类型的值。例如:
Local StringVar postalCode;
//Error- assigning a Number value to a String
postalCode := 10025;
//OK - use the type conversion function CStr
//to create "10025"
postalCode := CStr (10025, 0);
但是,有几种转换已可以自动进行:
Local CurrencyVar cost;
//Same as: cost := $10
cost := 10;
Local DateTimeVar orderDate;
//Same as: orderDate := CDateTime (1999, 9, 23, 0, 0, 0)
orderDate := CDate (1999, 9, 23);
Local NumberVar Range aRange;
//Same as: aRange := 20 To 20
aRange := 20;
Local NumberVar Range Array aRangeArray;
//Same as : aRangeArray := [10 To 10, 20 To 25, 2 To 2]
aRangeArray := [10, 20 To 25, 2];

注意: 不允许反向转换。例如:
Local NumberVar num;
num := 5 + $10; //Error
//OK- convert to Number type using the CDbl function
num := CDbl (5 + $10) //Could also use ToNumber
5 转换为 $5 然后与 $10 相加得到 $15。但是,无法自动将该“货币”值赋给“数字”变量 num,因为不允许从“货币”自动转换到“数字”。同样,“数字”参数可以提供给接受“货币”参数的函数,并且“数字”参数将转换为“货币”,而在没有首先使用 CDbl 将“货币”显式转换为“数字”的情况下,“货币”参数就无法提供给接受“数字”参数的函数。



Business Objects,SAP 子公司
http://www.china.businessobjects.com/
支持服务
http://www.china.businessobjects.com/support/
Web 上的产品文档
http://support.businessobjects.com/documentation/