PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Comparer l'instance d'une classe
  • Connaître le type d'une variable de type avancé
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Classe (Propriété)
En anglais : Class
La propriété ..Classe permet de connaître le type réel de l'instance de classe manipulée par une variable de type objet, variant ou de type objet dynamique.
Sur les types avancés (variables de type gglxxx, rssxxx, xlsxxx, ...), la propriété ..Classe permet de connaître le type de la variable.
Exemple
// Déclaration de la classe de base CBase
CBase est une Classe
FIN

// Déclaration de la classe dérivée CDérive
CDérive est une Classe
        hérite de CBase
FIN

// allocation d'un objet dynamique de type CBase
po est un objet dynamique = allouer un CBase
// le type réel de l'objet dynamique est CBase :
// la trace affiche la chaîne "CBase"
Trace(po..Classe)

// allocation d'un objet dynamique de type CDerive
po est un objet dynamique = allouer un CDerive
// le type réel de l'objet dynamique est CDerive :
// la trace affiche la chaîne " CDerive "
Trace(po..Classe)
...
// Récupération du tableau des documents
tabDocs est un tableau de gglDocument = GglListeDocument(Cnx)
// Parcours des documents
Doc est un gglDocument
POUR TOUT Doc DE tabDocs
        Trace(Doc..Titre)
FIN
...
// Vérification du type de variable utilisé
SI tabDocs..Classe = gglDocument ALORS ...
Syntaxe

Connaître le type de l'instance de classe Masquer les détails

<Résultat> = <Nom de la variable>..Classe
<Résultat> : Chaîne de caractères
  • Nom de la classe,
  • Chaîne vide ("") si l'objet dynamique n'est pas alloué.
<Nom de la variable> : Chaîne de caractères (avec ou sans guillemets)
Nom de la variable de type objet, objet dynamique ou variant à manipuler.
Remarques

Comparer l'instance d'une classe

Il est possible de comparer l'instance d'une classe directement au nom de la classe (sans utiliser des guillemets).
Par exemple :
SI po..Classe = Classe1 ALORS ...
Autre exemple :
SELON po..Classe
        CAS Classe1 :  ...
        CAS Classe2 : ...
FIN

Connaître le type d'une variable de type avancé

La propriété ..Classe utilisée sur une variable de type avancé permet de connaître le type de la variable. Le nom du type est renvoyé dans la langue du framework d'exécution (en Français dans une version française, en Anglais dans une version internationale).
Pour assurer un code compatible entre les versions françaises et internationales, il est conseillé de comparer directement le résultat de la propriété ..Classe au type voulu (sans les guillemets). Par exemple :
SI v..Classe = Cadre ALORS
        ...
FIN
SELON v..Classe
         CAS Cadre :
          ...
         CAS xlsLigne :
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire