sylviecl
Messages postés26Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 1 février 2006
-
1 févr. 2006 à 12:07
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
5 févr. 2006 à 12:25
Bonjour,
J'essaye de trouver une façon de récupérer rapidement toutes les données cochées d'une checklistbox, pour ensuite les renvoyer à l'utilisateur.
J'y arrive en passant chque champs un par un mais je voulais savoir s'il n'y a pas un moyen plus rapide, du style une propriété qui récupérerait dans une list toutes les données cochées.
Si quelqu'un a une idée, ça m'aiderait beaucoup.
Merci
sylviecl
Messages postés26Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 1 février 2006 1 févr. 2006 à 17:21
en fait, je me suis débrouillée :
//récupération des éléments cochés des checklistbox
ListFAM:=TStringList.Create;
ListART:=TStringList.Create;
for i:=0 to CheckListCatalogue.Items.Count -1 do
begin
if CheckListCatalogue.checked[i] then
ListFAM.Add(Trim(CheckListCatalogue.Items[i]));
end;
for i:=0 to CheckListBox1.Items.Count -1 do
begin
if CheckListBox1.checked[i] then
ListART.Add(Trim(CheckListBox1.Items[i]));
end;
et après j'utilise les stringlist, ce qui fait que mon application est quand même plus rapide que si j'utilisais que le checklistbox
Merci quand même !
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 1 févr. 2006 à 16:41
for i:= 0 to ComponentCount-1 do
begin
if Components[i] is TCheckBox then
begin
if (Components[i] as TCheckBox).Checked = true then showmessage(((Components[i] as TCheckBox).Name) +' est checké');
end;
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 1 févr. 2006 à 16:48
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:= 0 to Checklistbox1.Count-1 do
begin
if Components[0] is TCheckListBox then
begin
if (Components[0] as TCheckListBox).Checked[i] = true then showmessage( (Components[0] as TCheckListBox).Items.Strings[i] +' est checké');
end;
end;
end;
voila exemple ac un Tchecklistbox si tu en veix plusieus suffit de changer Components[0] en Components[1] pour le deuxieme ...
en esperant que c ca que tu veux ...
slt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 1 févr. 2006 à 16:52
voila la tu la ds un memo donc sur ta fiche il te faut au min un memo une tchecklistbox et un bouton
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:= 0 to Checklistbox1.Count-1 do
begin
if Components[0] is TCheckListBox then
begin
if (Components[0] as TCheckListBox).Checked[i] = true then memo1.Lines.Add( ( (Components[0] as TCheckListBox).Items.Strings[i] +' est checké'));
end;
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 1 févr. 2006 à 17:25
Salut,
il y avait ça aussi :
procedure TForm1.Button2Click(Sender: TObject);
Const BoolChars : Array[Boolean] OfString = ('Faux', 'Vrai');
Var I : Integer;
begin Memo1.Clear;
For I : = 0 To Checklistbox1.Items.count - 1 do Memo1.Lines.Add(Format('Name : %s Checked : %s',
[Checklistbox1.Items[I], BoolChars[Checklistbox1.Checked[I]]]));
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 5 févr. 2006 à 12:25
Salut f0xi,
aurrais-tu un problème avec la propreté
serais-tu maniaque
tu sais ça se soigne très bien aujourd'hui
Bon assé rigolé, un peut de sérieux maintenant,
le seul hic dans ta manière de procéder c'est que tu récupère dans une liste à part les Items Checked où Not Checked peut importe mais pas l'index. En supposant que tu ais plusieurs entrées dans une CheckListBox et que tu dois effectuer un traitement en fonction de leurs états jusque là pas de soucis mais si tu dois remettre à Not Checked que ceux dont le traitement à réussi il te faut une troisième liste puisque tu n'as plus aucune concordance entre les index de la CheckListBox et celle de ta liste où refaire une recherche par nom pour retrouver les Items.