DEF |
Définition |
---|---|
Visual Basic |
Syntaxe
DefBool letterrange[, letterrange] ... |
DefByte letterrange[, letterrange] ... |
DefInt letterrange[, letterrange] ... |
DefLng letterrange[, letterrange] ... |
DefCur letterrange[, letterrange] ... |
DefSng letterrange[, letterrange] ... |
DefDbl letterrange[, letterrange] ... |
DefDate letterrange[, letterrange] ... |
DefStr letterrange[, letterrange] ... |
DefObj letterrange[, letterrange] ... |
DefVar letterrange[, letterrange] ... |
Description
Cette instruction permet de définir le type de données par défaut pour les variables, les paramètres passés aux procédures et le type de retour pour les procédures Function et Property avec Get dont les noms commencent par les caractères spécifiés.
Remarques
- Le paramètre letterrange a la syntaxe suivante :
- Le nom de l'instruction détermine le type de données :
- Une instruction «Deftype» affecte uniquement le module dans lequel elle est utilisée. Par exemple, une instruction DefInt dans un module affecte uniquement le type de données par défaut des variables, les paramètres passés aux procédures et le type de retour pour les procédures Function et Property Get déclarées dans ce module; le type de données par défaut des variables, paramètres et types de retour dans d'autres modules n'est pas affecté. S'il n'est pas explicitement déclaré avec une instruction «Deftype», le type de données par défaut pour toutes les variables, tous les paramètres, toutes les procédures Function et toutes les procédures Property Get est Variant.
- Lorsque vous spécifiez un intervalle de lettres, elle définit généralement le type de données des variables commençant par des lettres dans les 128 premiers caractères de l'ensemble de caractères. Cependant, lorsque vous spécifiez l'intervalle de lettres AZ, vous définissez la valeur par défaut sur le type de données spécifié pour toutes les variables, y compris celles commençant par des caractères internationaux de la partie étendue de l'ensemble de caractères (128255).
- Une fois que l'intervalle AZ a été spécifiée, vous ne pouvez plus redéfinir les sous-intervalles de variables à l'aide des instructions «Deftype». En fait, une fois qu'un intervalle a été spécifiée, si vous incluez une lettre précédemment définie dans une autre instruction «Deftype», une erreur se produit. Cependant, vous pouvez spécifier explicitement le type de données de toute variable, définie ou non, à l'aide d'une instruction Dim avec une clause de type As. Par exemple, vous pouvez utiliser le code suivant au niveau du module pour définir une variable en tant que Double même si le type de données par défaut est Integer :
- Si votre code inclut l'instruction Option Explicit, indiquant que votre application repose sur un typage de variable fort, les instructions Def... sont pour la plupart rendues superflues, car l'instruction Dim est toujours requise pour déclarer chaque variable. Cependant, dans ce cas, l'instruction Def ... définit le type de données des variables dont les instructions Dim ne spécifient pas de type de données spécifique.
letter1[-letter2] |
Les paramètres letter1 et letter2 spécifient l'intervalle de noms pour laquelle vous pouvez définir un type de données par défaut. Chaque paramètre représente la première lettre de la variable, du paramètre, de la procédure Function ou du nom de la procédure Property Get et peut être n'importe quelle lettre de l'alphabet. Le cas des lettres dans la gamme de lettres n'est pas significatif.
Instruction | Type de données |
---|---|
DefBool | Boolean |
DefByte | Byte |
DefInt | Integer |
DefLng | Long |
DefCur | Currency |
DefSng | Single |
DefDbl | Double |
DefDate | Date |
DefStr | String |
DefObj | Object |
DefVar | Variant |
Par exemple, dans le fragment de programme suivant, Message est une variable de chaîne de caractères :
DefStr A-Q
. . .
Message = "Espace de pile insuffisant."
DefInt A-Z
Dim TaxRate As Double
Les instructions «Deftype» n'affectent pas les éléments des types définis par l'utilisateur car les éléments doivent être explicitement déclarés.