Erreur d'imbrication des boucles? Comparer 2 listbox
dhp9951
Messages postés10Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention 6 novembre 2009
-
29 sept. 2008 à 21:32
dhp9951
Messages postés10Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention 6 novembre 2009
-
29 sept. 2008 à 22:43
Bonsoir, par utilisation des boucles, je veux comparer le contenu d'une listbox2 avec le contenu d'une listebox1 et si un item est identique, copier cet item dans une troisième listbox.
Voici mon code:
procedure TForm1.SpeedButton14Click(Sender: TObject);
var
i,y: integer;
strl2;strl1: string;
begin
for i := 0 to listbox2.ItemIndex - 1 do begin
strl2 := listbox2.Items[i];
for y:= 0 to listbox1.ItemIndex -1 do begin
strl1:= listbox1.Items[y];
if strl2 = strl1 then listbox3.Items.Add(listbox2.Items[i]);
end;
end; end;
avec strl1 et strl2 la variable qui stocke les valeurs des items de listbox 1 et 2.
Seulement, à l'execution, rien ne se passe, probablement une erreur dans la gestion des boucles, pourtant, tout a l'ai correct.
ca fait une heure que je tourne autour et n'ai pas trouvé la solution.
Merci pour votre aide
A voir également:
Erreur d'imbrication des boucles? Comparer 2 listbox
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 29 sept. 2008 à 22:20
procedure TForm1.SpeedButton14Click(Sender: TObject);
var
i: integer;
begin
ListBox3.Items.BeginUpdate;
try
for i := 0 to listbox2.Count-1 do
if ListBox1.Items.IndexOf(listbox2.Items[i]) <> -1 then
listbox3.Items.Add(listbox2.Items[i]);
finally
ListBox3.Items.EndUpdate;
end;
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 29 sept. 2008 à 22:24
Salut,
essaye comme ça:
procedure TForm1.btn_GoClick(Sender: TObject);
var I: Integer;
begin
for I := 0 to ListBox1.Items.Count - 1 do
if ListBox2.Items.IndexOf(ListBox1.Items[I]) > -1 then
ListBox3.Items.Add(ListBox1.Items[I]);
end;
dhp9951
Messages postés10Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention 6 novembre 2009 29 sept. 2008 à 22:43
Merci pour vos réponses mais je dois avoir un probleme ailleurs car aucune de vos deux procedures ne fonctionne.
rien ne s'affiche dans listbox3.
j'ai d'abord cru qu'il fallait que les valeurs soit dans chaque lisbox sur le même n° d'index [i] mais non, ca ne marche pas.
pourtant une prog directe (listbox3.Items.Add(listbox2.Items[0]) fonctionne donc pas de probleme d'entrée de données sur le composant listbox3.