Crystal Reports Designer  

Conversions de type automatiques (syntaxe Basic)

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 :

Dim codePostal as String
'Erreur- une valeur numérique est affectée à une variable de type chaîne
codepostal = 10025
'OK - utiliser la fonction de conversion de type CStr
'pour créer "10025"
codepostal = CStr (10025, 0)

Cependant, quelques conversions sont effectuées automatiquement :

Par exemple, les affectations suivantes sont correctes :

Dim prix As Currency
'Equivalent à<:hs>: prix = CCur (10)
prix = 10
Dim dateCommande As DateTime
'Equivalent à<:hs>: dateCommande = CDateTime (1999, 9, 23, 0, 0, 0)
datecommande = CDate (1999, 9, 23)
Dim plage As Number Range
'Equivalent à<:hs>: plage = 20 To 20
plage = 20
Dim TableauPlage () As Number Range
'Equivalent à<:hs>:
'TableauPlage = Array (10 To 10, 20 To 25, 2 To 2)
intervalleplage = (10, 20 To 25, 2)
Remarque   Les conversions dans le sens opposé ne sont pas autorisées. Par exemple :
Dim num As Number
num = 5 + CCur (10) 'Erreur
'OK- convertir en type numérique à l'aide de la fonction CDbl
num = CDbl (5 + CCur (10))

5 est converti en CCur (5) et ajouté à CCur (10) pour donner CCur (15). Cependant, cette valeur monétaire ne peut pas être affectée automatiquement à la variable numérique num puisque les conversions automatiques de devise en 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.

Voir aussi

Variables | Types de données simples | Types de données plage | Types de données tableau