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 AnsiString tableau pour c++ builder [D�butant]


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut probl�me AnsiString tableau pour c++ builder
    Bonjour, j'ai un gros probl�me assez urgent parce que j'en ai marre de trainer l� dessus :


    Je souhaiterais cr�er un tableau d'AnsiString pour mettre par exemple "bonjour" dedant et je souhaiterais ensuite l'afficher dans une listbox


    voil� grosso modo ce que je pense mettre:


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    AnsiString chaine[10];
    chaine[0]="bonjour";
     
    //mettre dans la listbox à la suite des autres choses déjà mises...
    ListBox1->Items->Add(chaine[0]);
    �a marche pas
    quelqu'un peut m'aider ?
    merci

    Je pr�cise que la compilation marche mais rien ne s'affiche dans la listbox.

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par d�faut
    Pour manipuler des liste de chaine de caract�re, je te conseille d'utiliser TStringList qui est justement fait pour �a (plut�t qu'un tableau de chaine):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TStringList *strList = new TStringList();
    strList->Add( "Chaine0");
    strList->Add( "Chaine1");
    strList->Add( "Chaine2");
     
    //pour ajouter à ta ListBox:
    ListBox1->Items->Add( strList->Strings[1] ) ; //ajoute 'Chaine1'
     
    delete strList; // libération de la mémoire allouée
    Mais pour info, ton code fonctionne parfaitement (aussi bien � la compilation qu'a l'ex�cution), ton probl�me vient donc d'ailleurs:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      AnsiString chaine[10];
      chaine[0] = "bonjour";
      ListBox1->Items->Add( chaine[0] );     
    }

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    Merci pour ta r�ponse,

    En fait j'ai mi mon code dans un autre projet c++builder avec simplement une listbox et un boutton et �a marche (le tien comme le mien)
    Je sais pas pourquoi mais il veut pas l'afficher dans mon projet d�j� existant... je comprends pas
    Si je t'envoies mon projet par mail tu aurais le temps de jeter un coup d'oeil ? �a me serait grandement utile parce que l� je vois pas...

    Sinon tu peux m'expliquer pourquoi avec :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TStringList *strList = new TStringList();
    strList->Add( "Chaine0");
    strList->Add( "Chaine1");
    strList->Add( "Chaine2");
     
    //pour ajouter à ta ListBox:
    ListBox1->Items->Add( strList->Strings[1] ) ; //ajoute 'Chaine1'
     
    delete strList; // libération de la mémoire allouée
    c'est mieux que ma fa�on?

    thanks a lot mate !

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par d�faut
    Citation Envoy� par dekalima Voir le message
    Si je t'envoies mon projet par mail tu aurais le temps de jeter un coup d'oeil ? �a me serait grandement utile parce que l� je vois pas...
    Poste le bout de code complet qui pose probl�me ici.

    Citation Envoy� par dekalima Voir le message
    Sinon tu peux m'expliquer pourquoi avec [...] c'est mieux que ma fa�on?
    !
    Les deux m�thodes fonctionnent, il n'y en a pas l'une "mieux" que l'autre. C'est juste que la VCL propose un objet pour manipuler les chaines de caract�res (TStringList) donc � titre personnel je pr�f�re l'utiliser puisque je trouve beaucoup plus souple et pratique. Mais � chacun sa m�thode.

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    En fait c'est bon, je me suis d�brouill� tout seul... en tout cas je te remercie pour le moment j'ai pas d'autres questions... je reviendrais vers toi si besoin est.

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    En fait si , j'ai une autre question, comment on fait pour vider la liste "strList" (sans la d�truire)

  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

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    et aussi une autre question:

    Quand je fais ceci par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    ListBox1->Clear();//vide la list box
    strList->Clear(); // vide la strList ( merci à pottiez )
    }
    il ne reconnait pas strList car on est plus dans la m�me fonction je pense, il me met cetter erreur :

    [C++ Erreur] Unit1.cpp(183): E2451 Symbole 'strList' non d�fini


    Ya un truc � mettre dans le .h pour �viter ce probl�me? je me rappelle plus...
    Merci d'avance

  9. #9
    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
    Oui, tu doit mettre dans le .h :et du coup dans la methode de d�part tu doit remplacer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    TStringList *strList = new TStringList();
    par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    strList = new TStringList();

  10. #10
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    Thanks, j'essaye �a

  11. #11
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    Bon dans la s�rie des questions, je continue ,j'en ai une autre

    dans ce code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    strList = new TStringList();
    strList->Add( "Récapitulatif de commande:");
    strList->Add( ""); // ligne vide
    strList->Add( ""); // ligne vide
    qui est dans la fonction void __fastcall TForm1::Button1Click(TObject *Sender) , j'ai donc ces 3 lignes qui s'affichent dans la ListBox1 quand j'appuie sur un bouton.

    Ce que je voudrais � partir d'une autre liste cr�ee par exemple
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    strList2 = new TStringList();
    Je voudrais aller en 4�me ligne ( juste apr�s les 2 lignes vides de la premi�re liste ) ... vous voyez ?

    Possibilit� de faire un truc du genre : ?

  12. #12
    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
    Attention il ne faut pas confondre les divers instances de TStrings, ici ton strList2 ne contient rien et certainement pas les 3 premi�re ligne de strList, vu que tu les � ajout� dans strList et pas dans strList2.
    De plus il faut ajouter un texte par la m�thode Add et non par l'op�rateur [] (celui-ci est utilisable pour modifier ou lire la ligne mais pas pour la cr�er )

  13. #13
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    J'ai mi

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    strList2 = new TStringList();
    strList2->Add("blablabla");
    Listbox1->Items->Add (strList2->Strings[0]);
    et meme pour l'indice 0, �a lui plait pas il met une erreur

    [C++ Erreur] Unit1.cpp(170): E2451 Symbole 'Listbox1' non d�fini


    qu'est ce que la listbox � avoir l� dedant c'est bizarre ?

  14. #14
    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
    Tu as du renommer ta ListBox, ou alors tu n'est pas dans le .cpp de la fen�tre ou encore derni�re solution, tu as supprimer ta ListBox

  15. #15
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    Ouais je sais pas ya des trucs mystiques en informatique, maintenant �a marche

    Bon alors �a marche l� et il a bien mi le "golio" apr�s les deux lignes vides de srtList....


    Je pensais qu'il allait me mettre le golio sur la premi�re ligne... ( qu'il allait fusionner les deux textes des indices 0 des deux listes )
    bref
    bizarre quand m�me
    Merci en tout cas



    Off-topic
    N'oubliez pas que l'aide existe et est affich�e sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
    L'aide de C++Builder ne marche pas sous Seven j'ai remarqu� ... arf

  16. #16
    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
    Citation Envoy� par dekalima Voir le message
    Ouais je sais pas ya des trucs mystiques en informatique, maintenant �a marche

    Bon alors �a marche l� et il a bien mi le "golio" apr�s les deux lignes vides de srtList....


    Je pensais qu'il allait me mettre le golio sur la premi�re ligne... ( qu'il allait fusionner les deux textes des indices 0 des deux listes )
    bref
    bizarre quand m�me
    Merci en tout cas
    �a na rien de bizarre, lorsque tu ajoute un texte il se met � la suite, c'est comme lorsque tu pr�pare des brochette,lorsque tu enfile un nouveau morceau de viande sur ta pique, il se met � la suite, il ne fusionne pas avec le premier



    Citation Envoy� par dekalima Voir le message
    Off-topic

    L'aide de C++Builder ne marche pas sous Seven j'ai remarqu� ... arf
    Consulte ce lien : http://www.touslesdrivers.com/index....=3586&v_page=3

  17. #17
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut


    Petite question: voici une photo de ma listebox, quand on clique sur une ligne, elle se met en gras comme vous le voyez. J'aimerais que l'on puisse les d�placer ( en mettre une au dessus de l'autre si on le souhaite par exemple ) et ce en gardant la souris enfonc�e...
    Vous avez des id�es sur la mani�re de proc�der ?
    thanks a vous deux

  18. #18
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2010
    Messages
    265
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 265
    Par d�faut
    En fait je pense pas que �a soit possible je vais faire autrement

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 20/10/2009, 10h05
  2. R�ponses: 2
    Dernier message: 07/02/2008, 10h28
  3. Probl�me de tableau pour un exercice en C++
    Par tigresses57 dans le forum C++
    R�ponses: 14
    Dernier message: 05/03/2006, 23h27
  4. R�ponses: 3
    Dernier message: 11/01/2006, 17h44
  5. Probl�me tableau pour une requ�te
    Par LE NEINDRE dans le forum Langage
    R�ponses: 2
    Dernier message: 07/10/2005, 20h21

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