Partager cette page

# Recherche des types de valeur avant utilisation

VBScript est un langage de programmation « faiblement typé ». Cela signifie que vous pouvez créer, utiliser et accéder à des valeurs de données sans déclarer initialement leurs types. Toutefois, certaines opérations ne peuvent être effectuées que sur des valeurs d’un type spécifique. Il est donc important de vérifier le type de données avant d’effectuer toute opération sur celles-ci.

Les valeurs de différents types se comportent différemment dans les différentes déclarations. Le comportement de la valeur de l’objet est encore plus imprévisible car il dépend de l’implémentation de l’objet. Par exemple, l’objet dans l’appel <entity>_CanDelete(Entity) peut être soit du texte, soit un nœud sujet.

## Recommandations

Pour éviter des résultats imprévisibles :

- Vérifiez les types de valeurs avant de les utiliser, en particulier pour les types d’objets. Lorsque vous vérifiez un type d’objet, vérifiez également que l’objet possède les propriétés auxquelles vous avez accès.

Note : Dans les exemples fournis dans cette section, seuls les types d’objets sont vérifiés avant leur utilisation.

- Supposez le moins possible - ne supposez pas qu’une valeur est d’un certain type. Rédigez des scripts capables de gérer toutes les possibilités en utilisant des instructions Else et des instructions Select Case.

- Vérifiez toujours les types de paramètres avant de les utiliser avec diverses fonctions VBScript, telles que IsArray, IsDate, IsNull, IsEmpty, IsNumeric et IsObject.

- Ne supposez pas que la propriété par défaut d’un objet est d’un type spécifique ; Le type peut varier d’un objet à l’autre.

- Utilisez les fonctions de conversion intégrées de VBScript pour atteindre un certain degré de sécurité de type.

- Lorsque vous travaillez avec des objets, vérifiez que la valeur que vous recevez n’est ni nulle ni vide en appelant les fonctions IsNull et IsEmpty.

Exemple : Aux fins des exemples suivants, supposons que les valeurs des champs sont déclarées comme dans le tableau ci-dessous.

Valeurs de champ | Type
--- | ---
`Bug_Fields["BG_BUG_ID"].Value` | Integer
`Bug_Fields["BG_SUMMARY"].Value` | String
`Bug_Fields["BG_SUBJECT"].Value` | Objet implémentant l’interface ISysTreeNode

Dans l’exemple suivant, l’utilisation de la déclaration est correcte. Le nombre entier est converti en chaîne.

    If Bug_Fields["BG_BUG_ID"].Value = "10" Then...

Dans l’exemple suivant, l’utilisation de la déclaration est correcte. Les chaînes sont comparables.

    If Bug_Fields["BG_SUMMARY"].Value = "some text" Then...

Dans l’exemple suivant, l’utilisation de la déclaration est incorrecte. Ce code ne peut fonctionner que si la valeur du champ `BG_SUBJECT` n’est ni Vide ni Nulle. VBScript suppose également que la valeur par défaut de cet objet (c’est-à-dire la propriété par défaut) est soit de type chaîne, soit comparable au type chaîne, ce qui n’est pas toujours le cas.

    If Bug_Fields["BG_SUBJECT"].Value = "My Tests" Then...

https://admhelp.microfocus.com ALM 8942
Conseils pour améliorer vos résultats de recherche... ALM Help Center ALM Help Center Aide ALM 17.0 Tout Afficher le centre d’aide local Afficher le centre d’aide en ligne arrière Revenir en arrière dans l’historique de navigation avant Avancer dans l’historique de navigation Désactiver la mise en surbrillance dans les résultats de recherche rubrique suivante Atteindre la rubrique suivante rubrique précédente Atteindre la rubrique précédente Imprimer la rubrique actuelle Version :