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 :

Plus simple que ClassParent


Sujet :

Langage Delphi

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut Plus simple que ClassParent
    Salut tout le monde,

    Actuellement dans mon programme je fais la code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TframeX(sender.classparent.classparent.classparent.classparent).color:=clred;
    Il n'y aurait pas un moyen plus propore pour rechercher un parent
    que de faire cette concaténation de classparent ???

    Merci d avance.

  2. #2
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Ce code n'est pas cohérent car classParent renvoie une classe et tu le castes en objet (à moins que TFrameX ne soit un class of... ?). Et en plus, tu modifies une propriété d'instance (Color).

    Bref, tu veux faire quoi exactement ? :-)

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Et c est la que je me rend compte que j ai encore beaucoup de chose a apprendre.

    Bon ok je vais essayé d etre plus clair (j'avais simplifié le code pour que ça soit plus compréhensible).

    Si tu veux j ai plusieurs frame avec chacune un bouton dessus or tous les boutons , font appel à la meme procedure.

    Ce que je voulais faire c'est identifié quel est le parent du bouton , (enfin avoir la frame), pour pouvoir par exemple retrouver un composant sur cette frame et y travailler dessus.

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Et je suis aussi preneur , d'un petit tutoriel , qui me permettrait de mieux comprendre tout cela si c est possible.

  5. #5
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Dans ce cas, c'est plutôt la propriété Parent qu'il faut utiliser.

    Pour éviter d'enchainer les parent.parent.parent ... il faut faire une fonction récurisve, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Recherche un parent de type TFrame (ou dérivé) du contrôle ctrl
    function trouverFrameParent(ctrl : TWinControl) : TWinControl;
    begin
      if assigned(ctrl.parent) then
      begin
        if (ctrl.parent is TFrame) then
          result := ctrl.parent
        else
          result := trouverFrameParent(ctrl.parent);
      end
      else
        result := nil;
    end;
    Pour les tutos, regarde sur le site, il y en a plein !

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  6. #6
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Oui , en effet t as solution est bonne.
    Sauf que moi je me sert du sender d'une procédure évennementielle qui est de type Tobject. La propriété parent n'est donc pas disponible.

  7. #7
    Expert éminent sénior

    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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Caste-là en TWinControl dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frameParent := trouverFrameParent(TWinControl(Sender));
    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.

  8. #8
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    ok , mais alors pourquoi c était pas bien ce que je faisais , quand je casté en Tframe ??

  9. #9
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Citation Envoyé par rvzip64
    ok , mais alors pourquoi c était pas bien ce que je faisais , quand je casté en Tframe ??
    Parce que tu castes classParent et non Parent. classParent est une classe alors que Parent est un objet.

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  10. #10
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Merci tout le monde

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

Discussions similaires

  1. il y à pas plus simple que le XNA?
    Par Zeristof dans le forum XNA/Monogame
    Réponses: 3
    Dernier message: 19/10/2011, 17h56
  2. [debutant] cherche chose plus simple que sendmail
    Par gifffftane dans le forum Réseau
    Réponses: 3
    Dernier message: 14/10/2008, 12h09
  3. [JDOM] Moyen le plus simple de valider une trame XML que l'on vient de créer ?
    Par scougirou dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 15/06/2007, 14h16
  4. Réponses: 1
    Dernier message: 31/08/2006, 17h28
  5. [Interface d'aide]Plus simple que Javahelp ?
    Par Baptiste Wicht dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 05/05/2006, 16h09

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