Récupérer le contenu d'un checklistbox c++ builder

Signaler
Messages postés
15
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
3 février 2005
-
Messages postés
15
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
3 février 2005
-
salut à tous
je voudrais savoir comment on récupère la valeur d'un checklistbox lorsque la case est cochée.. avec c++ builder 6.
Ce que je voudrais faire c'est la meme chose que
CheckListBox1->CopySelection(ListBox1);
sauf que ici il me le copie sans avoir coché la case, le fait de le mettre en surbrillance suffit pour le copier. Mais moi je veux copier seulement ceux qui ont été coché.

En bref ce qu'il doit faire:
checklistBox->case cochée->alors je copie le texte associé
A voir également:

5 réponses

Messages postés
74
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
3 mai 2006

salut,



voici un petit exemple qui copie tous les elements selectionnés d'une CheckListBox dans une ListBox.



void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

int i ;

ListBox1->Items->Clear() ;

for(i=0 ; i < CheckListBox1->Items->Count ; i++)

{

if(CheckListBox1->Checked[i])

{

ListBox1->Items->Add(CheckListBox1->Items->Strings[i]) ;

}

}

}


j'espère que ça répondra à ta question.


DvdMizo
Messages postés
15
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
3 février 2005

je te remercie beaucoup DvdMizo
ton code marche très bien, il fait meme les controles que j'essayai de faire (doublon dans la listbox,supprimer les ceux qui ont été décoché..).
Maintenant je passe à un stade au dessus, je vais essayer de copier ca dans un fichier .txt au lieu de la listbox.
mais je vois pas comment manipuler le fichier .txt à ce moment là. si tu pourrais aussi m'eclairer un peu la dessus ce serait gentil.
Messages postés
74
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
3 mai 2006

on va repartir plus ou moins du même modèle.



void __fastcall TForm1::BitBtn2Click(TObject *Sender)

{

int i ;

FILE *pointeur_fichier ;



// on ouvre le fichier avec fopen

// il faut inclure le fichier <stdio.h>

pointeur_fichier = fopen("sortie.txt", "wt") ;



if(pointeur_fichier == NULL) // l'ouverture a échoué

{

Application->MessageBoxA("Impossible
d'ouvrir le ficher 'sortie.txt'", "Erreur", MB_ICONSTOP|MB_OK) ; // on
averti l'utilisateur

return ; // et on quitte la fonction

}

for(i=0 ; i < CheckListBox1->Items->Count ; i++)

{

if(CheckListBox1->Checked[i])

{


fprintf(pointeur_fichier, "%s\n",
CheckListBox1->Items->Strings[i].c_str() ; // le '.c_str()'
renvoie le contenu d'un AnsiString sous forme d'un char *

}

}

fclose(pointeur_fichier) ; // on ferme le fichier

}


voilà ... la prochaine étape serait peut-être d'utiliser un un
SaveDialog pour demander à l'utilisateur le nom du fichier à utiliser
pour la sortie...



j'espère t'avoir aidé un peu plus ...


DvdMizo
Messages postés
74
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
3 mai 2006

oops je viens de me rendre compte qu'il manque une parenthèse à la fin de la ligne suivante :



fprintf(pointeur_fichier, "%s\n", CheckListBox1->Items->Strings[i].c_str()) ;

DvdMizo
Messages postés
15
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
3 février 2005

merci beaucoup , surtout pour les commentaires...Je vais essayer ca ..