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, an SAP company
http://japan.businessobjects.com/
サポート サービス
http://japan.businessobjects.com/support/
Web 上の製品マニュアル
http://support.businessobjects.com/documentation/