PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV 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.
Versions 17 et supérieures
iPhone/iPad Cette propriété est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette propriété est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette propriété est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette propriété est désormais disponible en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Cette propriété est désormais disponible en mode Windows Store apps.
Universal Windows 10 App Cette propriété est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Apple Watch Cette propriété est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette propriété est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Apple Watch Cette propriété est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette propriété est désormais disponible en mode Universal Windows 10 App.
Apple Watch Cette propriété est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette propriété est désormais disponible en mode Universal Windows 10 App.
Versions 22 et supérieures
Java Cette propriété est désormais disponible pour les applications Java.
Android Cette propriété est désormais disponible pour les applications Android.
Widget Android Cette propriété est désormais disponible en mode Widget Android.
Nouveauté 22
Java Cette propriété est désormais disponible pour les applications Java.
Android Cette propriété est désormais disponible pour les applications Android.
Widget Android Cette propriété est désormais disponible en mode Widget Android.
Java Cette propriété est désormais disponible pour les applications Java.
Android Cette propriété est désormais disponible pour les applications Android.
Widget Android Cette propriété est désormais disponible en mode Widget Android.
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