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

Composants VCL Delphi Discussion :

Recherche de composant dans un TPanel


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Points : 57
    Points
    57
    Par défaut Recherche de composant dans un TPanel
    bonjour
    j'ai un tpanel que je remplis dynamiquement lors de la creation de la fiche avec d'autre composants(panel,label memo edit)

    je cherche a faire une fonction de recherche de composant dans ce tpanel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function tform1.recherche(conteneur:tpanel; maclass:class):tcontrol;
    var i:integer;
    begin
    for i:=0 to conteneur.ControlCount-1 begin
            if conteneur.controls[i] is maclass and autre condition then
                    begin
                    result:=conteneur.Controls[i]
                    break;
                    end;
    je ne sais pas comment déclarer le second parametre (maclass) pour faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    recherche (monpanel,tmemo) pour trouver le composant tmemo contenu  dans monpanel
    merci

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 961
    Points
    6 961
    Par défaut
    Un TControl ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    rapidement, j'aurai botté en touche et utilisé ClassName (donc un string)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function tform1.recherche(conteneur:tpanel; maclass:string):tcontrol;
    var i:integer;
    begin
    for i:=0 to conteneur.ControlCount-1 
      begin
            if Sametext(conteneur.controls[i].ClassName,maclass) and autre condition then
                    begin
                      result:=conteneur.Controls[i]
                      break;
                    end;
      end;
    end;
    mais je serai curieux de savoir quelle déclaration le ferait
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 683
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 683
    Points : 13 092
    Points
    13 092
    Par défaut
    Ce paramètre est une référence de classe (type of).
    Un certain nombre sont déjà définies, exemple TClass pour TObject, TControlClass pour TControl.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function recherche(Conteneur:TPanel; MaClass:TClass):TControl;

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    faut arrêter avec ces méthodes de barbares

    tu as besoin d'accéder à ce composant ? ben tu gardes une référence vers lui, et puis voilà tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    begin
      MonMemo := TMemo.Create(Panel1);
      MonMemo.Parent := Panel1;
    end;
    et hop ! c'est MonMemo qui est dans Panel1, pas besoin de le chercher.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Points : 57
    Points
    57
    Par défaut
    merci à tous
    la solution de andnotor est parfaite

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

Discussions similaires

  1. [Lazarus] Recherche d'un composant dans une feuille
    Par neho88 dans le forum Lazarus
    Réponses: 15
    Dernier message: 15/12/2019, 14h28
  2. Rechercher les composants dans une autre interface selon id selectionné
    Par monta_amri dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 27/04/2015, 17h06
  3. Recherche du composant af:menuTabs dans Jdevelopper 11g
    Par gaboux dans le forum JDeveloper
    Réponses: 1
    Dernier message: 29/07/2009, 18h56
  4. Réponses: 6
    Dernier message: 15/03/2009, 12h36

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