bonjour
j'utilise une comboBox et je souhaite ajouter du texte dans ma combobox mais lorsque jai deja ce texte, je ne veux pas quil soit rajouté a la suite
bonjour
j'utilise une comboBox et je souhaite ajouter du texte dans ma combobox mais lorsque jai deja ce texte, je ne veux pas quil soit rajouté a la suite
sans rentrer dans le detail, je pense qu'il faut que tu compare le texte a ajouter a chaque text de ta combobox (compare deux chaine de caractere!!)
penchetoi sur cette piste
(netant que deutant en bcb, je ne peut que te dire ca - dsl)
tu fais comme ça:
si ça te renvoi -1 tu ajoute monTexte a la liste du combobox
Code : Sélectionner tout - Visualiser dans une fenêtre à part Combobox->Items->IndexOf(monTexte);
sinon tu fais rien
ca fait comme jusqu'a maintenant, c a dire que ca ajoute a ma combobox meme si le texte est le meme
si tu suis ce que j'ai ecrit tu dois avoir
et ça marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (ComboBox1->Items->IndexOf(monTexte)==-1){ //si monTexte n est pas ds la liste du combobox ComboBox1->Items->Add(monTexte); // tu ajoutes ton texte } else { ShowMessage("texte deja ds la liste"); // on ajoute pas }
Salut,
Tu peux te faire un truc comme ca:
Texte_a_ajouter est une AnsiString que tu compares à toutes les AnsiStrings de ta ComboBox. Si tu les a tous vu, elle n'y est pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int i; for(i=0;i<ComboBox1->Items->Count;i++) { if(Texte_a_ajouter == ComboBox1->Items->Strings[i]) break; } if(i == ComboBox1->Items->Count) { //le texte n'y est pas } else { //le texte y est }
ca ne fonctionne pas et je ne comprend pas pourquoi
montre nous le (les) code que tu as essayé.
Et eventuellement les code d'erreurs si il y en a.
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
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 .
jai mis sa pour que ca le mette a chaque fois:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
AnsiString NOM;
TGestionMateriaux->First();
while(!TGestionMateriaux->Eof)
{
NOM=TGestionMateriaux->FieldByName("Famille")->AsString;
ComboBox1->Items->Add(NOM) ;
TGestionMateriaux->Next();
}
}
mais sa le rajoute meme sil est deja dans la combobox
C'est normal, dans ton code, tu n'a pas fait le test pour savoir si le texte existe deja ou pas, il faut que tu test si il est deja, par les differentes méthodes que mike600river ou bandit boy ton montré précédamment.
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
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 .
c ce que jai fait, jai essayer les 2 methodes et aucune marche
je sais pas sil faut que je garde ma partie de prog ou que je mette juste leur partie seule
c'est pas compliqué, met ceci :
Normalement avec ca ya plus de probleme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { AnsiString NOM; TGestionMateriaux->First(); while(!TGestionMateriaux->Eof){ NOM=TGestionMateriaux->FieldByName("Famille")->AsString; if (ComboBox1->Items->IndexOf(NOM)==-1){ ComboBox1->Items->Add(NOM); } TGestionMateriaux->Next(); } }
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
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 .
tu as raison, plus de problemes
merci tt le monde
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager