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é
Produits
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurWINDEV MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
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
WINDEV MobileiPhone/iPad Cette propriété est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WINDEV MobileiPhone/iPad Cette propriété est désormais disponible pour les applications iPhone/iPad.
WINDEV MobileiPhone/iPad Cette propriété est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WINDEVWINDEV MobileUniversal Windows 10 App Cette propriété est désormais disponible en mode Windows Store apps.
Nouveauté 18
WINDEVWINDEV MobileUniversal Windows 10 App Cette propriété est désormais disponible en mode Windows Store apps.
WINDEVWINDEV MobileUniversal Windows 10 App Cette propriété est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
WINDEV MobileApple Watch Cette propriété est désormais disponible en mode Apple Watch.
WINDEVWINDEV MobileUniversal Windows 10 App Cette propriété est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
WINDEV MobileApple Watch Cette propriété est désormais disponible en mode Apple Watch.
WINDEVWINDEV MobileUniversal Windows 10 App Cette propriété est désormais disponible en mode Universal Windows 10 App.
WINDEV MobileApple Watch Cette propriété est désormais disponible en mode Apple Watch.
WINDEVWINDEV MobileUniversal Windows 10 App Cette propriété est désormais disponible en mode Universal Windows 10 App.
Versions 22 et supérieures
WINDEVJava Cette propriété est désormais disponible pour les applications Java.
WINDEV MobileAndroid Cette propriété est désormais disponible pour les applications Android.
WINDEV MobileWidget Android Cette propriété est désormais disponible en mode Widget Android.
Nouveauté 22
WINDEVJava Cette propriété est désormais disponible pour les applications Java.
WINDEV MobileAndroid Cette propriété est désormais disponible pour les applications Android.
WINDEV MobileWidget Android Cette propriété est désormais disponible en mode Widget Android.
WINDEVJava Cette propriété est désormais disponible pour les applications Java.
WINDEV MobileAndroid Cette propriété est désormais disponible pour les applications Android.
WINDEV MobileWidget 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