Guide du Designer Crystal Reports pour Rational Application Developer

Conversions de type automatiques (syntaxe Crystal)

Généralement, dans Crystal Reports, les valeurs d'un type ne peuvent pas être utilisées là où les valeurs d'un autre type sont attendues sans fournir explicitement une fonction de conversion de type. Par exemple :
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);
Cependant, quelques conversions sont effectuées automatiquement :
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];

Remarque : Les conversions dans le sens opposé ne sont pas autorisées. Par exemple :
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 est converti en 5 dollars et ajouté aux 10 dollars pour donner 15 dollars. Cependant, cette valeur monétaire ne peut pas être affectée automatiquement à la variable numérique num puisque les conversions automatiques de devise à nombre ne sont pas permises. De même, un argument numérique peut être affecté à des fonctions acceptant un argument monétaire, et l'argument numérique sera converti en argument monétaire alors qu'il n'est pas possible d'affecter un argument monétaire aux fonctions acceptant un argument numérique sans d'abord convertir la valeur monétaire en valeur numérique à l'aide de la fonction CDbl.



Business Objects, une société du groupe SAP
http://www.france.businessobjects.com/
Services de support technique
http://www.businessobjects.com/services/support/
Documentation des produits sur le Web
http://support.businessobjects.com/documentation/