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 :

Comment initialiser une liste de composants avec une boucle ?


Sujet :

Composants VCL Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Comment initialiser une liste de composants avec une boucle ?
    Je suis débutant, hé oui, il faut bien commencer un jour.
    J'ai une interface utilisateur avec plusieurs champs TEdit nommés Ed1,Ed2,...
    Ma question :
    Est-il possible de réinitialiser tous ces champs via une boucle ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Boucle du style :
    Procedure TForm1.Bt1Click(Sender: TObject);
      begin
        For i := 1 to 5 do Ed(i).text.clear;
      end;
    J'espère que vous pourrez me proposer une solution qui fonctionne.

    Merci à tous
    _________________
    Balises [CODE] rajoutées par Sub0

  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 967
    Points
    6 967
    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
    Membre actif
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Points : 245
    Points
    245
    Par défaut
    De toutes les choses que j'ai perdue,
    Celle qui me manque le plus...
    c'est mon esprit !

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut et bienvenue dans les forums de Developpez.com !

    IMPORTANT :
    • Servez-vous de la touche
    • Merci de chercher un peu avant de poster dans le forum...
    • Chercher une réponse dans la FAQ Delphi
    • Chercher une réponse dans la page sources Delphi
    • Ne poster qu'en dernier recours!
    Google.fr est ton ami!
    • Merci d'utiliser les balises [CODE] dans vos posts!
    • Merci de choisir un titre clair et explicite!
    • Le multipost est interdit! Choisissez le forum approprié.
    • Merci de ne pas créer un nouveau topic pour chaque question d'un même sujet!
    • Le style SMS est interdit.
    • Merci de lire et de respecter les règles du forum!
    • Ajouter le tag [résolu]!

    ps : Je donne systhématiquement ce message aux nouveaux venus.
    La solution que je te propose est de lister tous les objets de Form1 et de trier que les TEdits.
    Là, suffira de les remettre à zéro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Var
      i: Integer;
    Begin
      For i := 0 To Form1.ComponentCount - 1 Do
        If (Form1.Components[i] Is TEdit) Then
          TEdit(Form1.Components[i]).Clear;
    End;
    Tu peux aussi trier les objets en utilisant leur nom si tu connais exactement le nombre d'objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Var
      i: Integer;
    Begin
      For i := 1 To 5 Do
        TEdit(Form1.FindComponent('Edit' + IntTostr(i))).Clear;
    End;
    De retour parmis vous après 10 ans!!

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut

    Merci à tous du coup de main, des liens et des conseils.

    A+

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 299
    Points
    11 299
    Billets dans le blog
    6
    Par défaut
    pour gagner du temps, si tu as beaucoup de traitements à faire sur des ensembles de composants, tu peux aussi les rassembler ou les recenser dans un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    type TTabEdit = array[1..5] of TEdit ;
    var TabEdit : TTabEdit;
    begin
     TabEdit[1] := Edit1;
     // ...
     for i := 1 to 5 do TabEdit[i].Clear;
    end;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

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

Discussions similaires

  1. [LibreOffice][Base de données] Recuperer une liste de tables et une liste de champs d'une table sur LibreOffice & OpenOffice
    Par gerard.sauvage dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 08/04/2014, 12h35
  2. Réponses: 2
    Dernier message: 29/11/2012, 16h10
  3. [WD11] Lier une liste multi-select avec une rubrique?
    Par LeGugusse dans le forum WinDev
    Réponses: 6
    Dernier message: 15/12/2008, 11h49
  4. Afficher une liste déroulante (:select) avec une ArrayList
    Par tompalmeras dans le forum Struts 2
    Réponses: 3
    Dernier message: 28/04/2008, 21h15
  5. [MySQL] Afficher une liste de livres avec une rupture par auteur
    Par Ericx_25 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/03/2007, 22h02

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