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

C++Builder Discussion :

demande d'aide en c++ builder


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut demande d'aide en c++ builder
    bonjour;
    j'ai utilise le C++Builde 5 ,je veux utilisé un ensemle de Edit (Edit1,Edit2,....,Editn)et je veux les mettre dans une boucle avec un indice i par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
               for(int i=1;i<=n;i++)
              {form1->Edit+IntToStr(i)->Texte=V[i]}
    ou '+'est la concatination et V un vecteur de n elements
    est ce que tu peut le aider ?

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut et Bienvenue sur Developpez.com,

    Je te mets une solution qui n'est valable que pour les TEdits de la Form1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      int i;
      AnsiString V[3]; //Déclaration d'un tableau de 3 éléments
      V[0]="Tata";
      V[1]="Titi";
      V[2]="Toto";
      // On cherche les Edits grâce à leur Name
      // et on fait donc un transtypage du contrôle en TEdit ... 
      for (i=0;i<=2;i++) 
      ((TEdit*)Form1->FindComponent("Edit"+IntToStr(i+1)))->Text=V[i];
    }
    Voilà, logiquement ça fait ce que tu souhaites!
    Bon courage pour la suite

    PS :

    Tu peux utilise la balise code : le dièse (#) dans la barre d'édition lorsque tu mets du code. Pour la lisibilité c'est mieux
    Dernière petite chose pour tes futurs posts, mets un titre plus explicite afin que l'on cerne plus ou moins le problème en lisant le titre

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut Edit ca marche pas
    salut ,
    je te bien remerci pour votre réponce et pour vous remarque
    ca marche pas parceque 'Text' n'est pas un meembre de TComponent?
    d'autre solutin si possible?
    merci

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Une autre solution consisterait à utiliser une TList.

    Probablement en global sinon en tant que propriété d'une form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TList *Edits;// si en global on la crée immédiatement : TList *Edits = new TList;
    Dans le constructeur de la form (les différents TEdit sont donc connus à la compilation) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Edits = new TList; // si Edits est propriété de la form
    Edits->Add(Edit1);
    Edits->Add(Edit2);
    Edits->Add(Edit3);
    //...
    Ensuite, s'il existe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AnsiString Valeurs[] = {"Chaine1", "Chaine2", "Chaine3", ...};
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int j = 0; j < Edits->Count; j++)
        {
        ((TEdit*)Edits->Items[j])->Text = Valeurs[j];
        }
    On est bien d'accord que le tableau Valeurs contient suffisamment d'éléments !

    Si on est dans un contexte purement dynamique, dans ce cas on peut conserver la TList mais il faudra sans doute rajouter un TStringList en lieu et place du tableau (pour les chaînes).

    Pour la libération de la liste (dans le destructeur de la form):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Edits->Clear();
    delete Edits;
    A plus !

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Chez moi ça fonctionne parfaitement!
    Je suis sous BCB6

    Ma form comprenait 3 Edit et un bouton (j'ai rien modifié concernant leur name).
    Je ne peux t'en dire davantage

    Peux-être que tu peux nous montrer ton code modifié histoire de voir si tu n'as pas oublié un niveau de parenthèse par exemple ...

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    salut
    je m'excuse ,j'ai oublie un niveau de parenthése ça marche bien.
    merci bien

  7. #7
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Merci de cliquer sur le bouton

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

Discussions similaires

  1. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  2. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38
  3. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

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