Type

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 6.0 (Modifiée)


Type (champVar) Numérique

ParamètreTypeDescription
champVarChamp | VariableChamp ou variable à tester
RésultatNumériqueNuméro du type de données

Description

Type retourne une valeur numérique qui indique le type du champ ou de la variable que vous avez passé(e) dans le paramètre champVar.

4e Dimension fournit les constantes prédéfinies suivantes :

ConstanteTypeValeur
Est un champ alphaEntier long0
Est une variable chaîneEntier long24
Est un texteEntier long2
Est un numériqueEntier long1
Est un entierEntier long8
Est un entier longEntier long9
Est une dateEntier long4
Est une heureEntier long11
Est un booléenEntier long6
Est une imageEntier long3
Est une sous-tableEntier long7
Est un BLOBEntier long30
Est une variable indéfinieEntier long5
Est un pointeurEntier long23
Est un tableau chaîneEntier long21
Est un tableau texteEntier long18
Est un tableau numériqueEntier long14
Est un tableau entierEntier long15
Est un tableau entierlongEntier long16
Est un tableau dateEntier long17
Est un tableau booléenEntier long22
Est un tableau imageEntier long19
Est un tableau pointeurEntier long20
Est un tableau 2DEntier long13

Note de compatibilité : Dans les versions précédentes de 4D, la fonction Type, lorsqu'elle était appliquée à une variable de type Graphe déclarée à l'aide de la commande C_GRAPHE, retournait 3 (Est une image). A compter de la version 6 de 4D, Type retourne 9 (Est un entier long) lorsqu'elle est appliquée à une variable de type Graphe.

Vous pouvez appliquer la fonction Type aux champs, variables interprocess, variables process, variables locales et à des pointeurs dépointés qui référencent ces types d'objets.

Note version 6 : A partir de la version 6 de 4D, vous pouvez appliquer Type aux paramètres ($1,$2..., ${...}) d'une méthode projet ou au résultat d'une fonction ($0).

Exemples

(1) Référez-vous à l'exemple de la commande AJOUTER A PRESSE PAPIERS.

(2) Référez-vous à l'exemple de la commande PROPRIETES GLISSER DEPOSER.

(3) La méthode projet suivante efface une partie ou la totalité des champs de l'enregistrement courant de la table vers laquelle pointe le pointeur passé en paramètre, et ce, sans supprimer l'enregistrement ou changer d'enregistrement courant :

      ` Méthode projet VIDER ENREGISTREMENT
      ` VIDER ENREGISTREMENT ( Pointeur {; Entier long } )
      ` VIDER ENREGISTREMENT ( -> [Table] { ; Type des valeurs } )

   C_POINTEUR ($1)
   C_ENTIER LONG ($2;$vlTypeVal)

   Si (Nombre de parametres>=2)
      $vlTypeVal:=$2
   Sinon
      $vlTypeVal:=0xFFFFFFFF
   Fin de si
   Boucle ($vlChamp;1;Nombre de champs($1))
      $vpChamp:=Champ(Table($1);$vlChamp)
      $vlTypeChamp:=Type($vpChamp->)
      Si ( $vlTypeVal ?? $vlTypeChamp )
         Au cas ou
            : (($vlTypeChamp=Est un champ alpha)|($vlTypeChamp=Est un texte))
               $vpChamp->:=""
            : (($vlTypeChamp=Est un numérique)|($vlTypeChamp=Est un entier)|($vlTypeChamp=
                                          Est un entier long))
               $vpChamp->:=0
            : ($vlTypeChamp=Est une date)
               $vpChamp->:=!00/00/00!
            : ($vlTypeChamp=Est une heure)
               $vpChamp->:=?00:00:00?
            : ($vlTypeChamp=Est un booléen)
               $vpChamp->:=Faux 
            : ($vlTypeChamp=Est une image)
               C_IMAGE($vgImageVide)
               $vpChamp->:=$vgImageVide
            : ($vlTypeChamp=Est une sous table)
               Repeter
                  TOUS LES SOUS ENREGISTREMENTS($vpChamp->)
                  SUPPRIMER SOUS ENREGISTREMENT($vpChamp->)
               Jusque(Sous enregistrements trouves($vpChamp->)=0)
            : ($vlTypeChamp=Est un BLOB)
               FIXER TAILLE BLOB($vpChamp->;0)
         Fin de cas
      Fin de si
   Fin de boucle

Une fois cette méthode projet implémentée dans votre base, vous pouvez écrire :

      ` Effacer la totalité du contenu de l'enregistrement courant de la table [Choses à faire]
   VIDER ENREGISTREMENT (->[Choses à faire])

      ` Effacer les champs de type Texte, BLOB et Image de l'enregistrement courant de la table [Choses à faire]
   VIDER ENREGISTREMENT (->[Choses à faire]; 0 ?+ Est un texte ?+ Est un BLOB ?+ Est une image )

      ` Effacer la totalité de l'enregistrement courant de la table [Choses à faire] sauf les champs Alpha
   VIDER ENREGISTREMENT (->[Choses à faire]; -1 ?- Est un champ alpha )

Référence

Est une variable, Indefinie.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant