IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Equivalent du mot réservé TypeOf de VB


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut Equivalent du mot réservé TypeOf de VB
    En VB le mot réservé TypeOf est utilisé pour tester "la nature" d'un objet (type, genre de control, etc) selon la syntaxe suivante :
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
     If TypeOf MonObjet Is MonTypeOuMonControle Then
    Y a-t-il un équivalent en Delphi ?
    Merci

  2. #2
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Pour les objets, tu as l'opérateur is qui teste si la classe de l'objet est ou dérive d'une classe donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if MonObjet is TMaClasse then
    Pour les autres types, ben comme ils sont déclarés et immuables, ça n'a pas de sens

    Si tu travailles avec des Variant tu as VType.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    OK Merci. Je teste avant de mettre en résolu.

  4. #4
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    J'ai essayé de faire une petite manip :
    Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm2.Button1Click(Sender: TObject);
    var
      b : TDatabase;
    begin
    if b is TDatabase then
      showmessage('oukich');
    end;
    J'ai bien le message quand je clique sur le bouton, cependant si je remplace TDatabase dans le test du if par un autre type :
    Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    if b is TUneAutreClasse then
    j'ai une erreur de compilation. Dans mon code je serai amené à parcourir les contrôles de ma form et à tester leurs types un a un. Est-ce que l'opérateur is marchera pour effectuer une telle opération ? Merci

  5. #5
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    L'opérateur is peut être appliqué lorsque le type déclaré de la variable et la classe inscrite à droite sont directement parentes. À savoir que l'un soit descendant de l'autre

    Donc si ta variable est de type TObject, l'opérateur is fonctionne toujours, car toutes les classes dérivent de TObject. Mais ici ta variable est de type TDatabase, donc seules les classes dont dérive TDatabase ou qui dérivent de TDatabase peuvent être employées avec is.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Par défaut
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if b.classname='TDatabase' then ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Equivalent du mot-clé dynamic (C#) en Visual Basic
    Par Invité dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/07/2014, 22h17
  2. L'equivalent de "show columns"(MYSQL) en SQL Serve
    Par robluce dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/10/2004, 09h36
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43
  4. changer mot de pass administrateur windows serv 2003
    Par abder dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 09/06/2003, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo