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 :

Problème de ComBox1


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut Problème de ComBox1
    bonjour j'ai un petit probleme

    "cela fait 3 ans sans faire de programation je pense qu'il vas y en avoir d'autre "

    voila la une partie du code pour faire simple :


    AnsiString tutu="ComboBox1";
    page_acceuil->tutu->Items->Add("ok");

    probleme il ne veux pas de mon tutu il me dit que tutu ne fait pas partie de page_acceuil

    alors que tutu = ComboBox1 comme specifier juste desuset que combobox1 et bien sur page_acceuil

    help

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Pourquoi tu veux passer par une variable pour accéder à ton ComboBox alors que c'est déjà une variable???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    page_acceuil->ComboBox1->Items->Add("ok");

  3. #3
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    pour faire simple je lance un sous prog qui a juste comme argumemnt le non du combobox et qui doit aller dans un fichier init le remplir les elements,

    voila le code total du sous prog

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    void mise_a_jour_liste(AnsiString liste)
    {
    AnsiString fichier_ini,Cle_liste,valeur_du_champ;
    int nb_element;
     
    TIniFile *f;                 // definition du pointeur sur ini
    fichier_ini=lecture_registre("Chemin ini")+"Test.ini"; // lecture base  de registre pour chemin ini 
    f=new TIniFile(fichier_ini);
    Cle_liste="Clé "+liste; //creation de la cle achercher
    nb_element=f->ReadInteger("Section int",(Cle_liste),0);//nb d'element pour cette combo
     
    AnsiString section="Section "+liste;
        for (int i = 1; i <= nb_element; i++)
        {
        Cle_liste="Clé "+ liste + i;
        valeur_du_champ=f->ReadString(section,Cle_liste,"");
        page_acceuil->liste->Items->Add(valeur_du_champ);
        }
    delete f; //destruction du pionteur sur fichier ini
    }

    cela fonctionne super bien sauf quand je dois ajouter les valeurs lu dans le ini dans le combobox

    merci par avance

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    J'ai une solution à te proposer mais elle est peut-être un peu lourde (et ce n'est peut-être pas la meilleure...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    TComboBox* Combo = new TComboBox(this);//variable TComboBox non affichée
     
    for (int i = 0;i < ControlCount;i++)//parcours des controles de la fiche
    {
     if (Controls[i]->Name.AnsiCompare(NomCombo) == 0)//si le nom du controle = celui passé en paramètre
           Combo = (TComboBox*)Controls[i];//on affecte le combo trouvé au combo instancié
    }
     
    Combo->Items->Add("test");
    Par contre, il faut penser à supprimer la variable Combo instanciée.

  5. #5
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    a tester mais ton "ControlCount" et ton "Controls" il corresponde a quoi ?

  6. #6
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par griffit
    a tester mais ton "ControlCount" et ton "Controls" il corresponde a quoi ?
    Controls et ControlCount sont des propriétés de la classe TForm.
    ControlCount correspond au nombre de controles de ta fiche et Controls est la liste des controles de ta fiche.
    Personnellement, je ne connais pas d'autres méthodes pour récupérer le controle d'une fiche par rapport à son nom...

  7. #7
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    ok et le this il en veut pas il corespond a quoi ?

  8. #8
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par griffit
    ok et le this il en veut pas il corespond a quoi ?
    Infos sur this

  9. #9
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Si tu utilise le même code que ta fourni bakaneko, et tu utilise la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ClassNameIs(AnsiString)
    @+

  10. #10
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    kmaniche je comprend pas ce que tu veux dire tu peux etre plus precit stp

  11. #11
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Bonjour,

    voici le Help :

    TObject::ClassNameIs

    Determines whether an object is of a specific type.

    typedef TMetaClass* TClass;
    static bool __fastcall ClassNameIs(TClass cls, const AnsiString string);

    bool __fastcall ClassNameIs(const AnsiString string){ return ClassNameIs(ClassType(), string); }

    Description

    Use ClassNameIs when writing conditional code based on an object’s type or to query objects across modules or DLLs.

    Call the static ClassNameIs method to verify that a TClass variable represents a particular class (such as “TButton”). Call ClassNameIs with a single AnsiString parameter to determine whether a particular object instance is of the specified type.

    To determine whether an object is of a specified type or one of its descendants, use the InheritsFrom method instead.

    ClassNameIs returns true if the string passed in the string parameter matches the name of the class. Otherwise, it returns false

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

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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