Comparar 2 ListBox

Delphi

09/08/2009

Estou tentando comparar 2 ListBox
Recebo todos os valores em um 1º ListBox. Posterior alguns desses valores em um 2º ListBox. Sendo que esses valores são itens em comum com o mesmo Nome.
O que estou tentando fazer é:
Todo o valor que estiver no 2º listbox seja deletado do 1º listbox.

algo tipo:

if listbox1.items = listbox2.items then
deletar item do listbox1;

agradeço a ajuda!


Maiquelnet

Maiquelnet

Curtidas 0

Respostas

Steve_narancic

Steve_narancic

09/08/2009

faz um laço (for) percorrendo os itens do primeiro combox comparando os itens do segundo combobox


GOSTEI 0
Maiquelnet

Maiquelnet

09/08/2009

isto...
tentei comparar mas código esta errado. ele lista apenas a primeira instancia.

procedure TFormcalendario.BitBtn3Click(Sender: TObject);
var
quant, i, x, quantx: integer;
begin
quant:=ListBox1.Count;
quantx:=ListBox2.Count;
for x:=0 to quant do begin
for i:=0 to quantx do begin
if (ListBox1.Items.Text[x]) <> (ListBox2.Items.Text[i]) then
ListBox3.Items.Add(ListBox1.Items.Text);
end;
end;
end;

tenho todos os items no 1º listbox, e alguns deles no 2º lisbox. Clicando no botão gostaria que apenas os que não repetem fossem para um 3º listbox.


GOSTEI 0
Osocram

Osocram

09/08/2009

Ei amigo... tenta isso.
procedure TForm1.btnClick(Sender: TObject);
var
 i:integer;
begin
  for I:=0 to ListBox2.Count -1 do begin
    if ListBox1.Items.IndexOf(ListBox2.Items[i]) <> -1 then
      ListBox1.Items.Delete(ListBox1.Items.IndexOf(ListBox2.Items[i]));
  end;
end;



GOSTEI 0
Maiquelnet

Maiquelnet

09/08/2009

ok. show de bola osocram...
seu código funcionou perfeitamente...
o meu estava muito incorreto, nunca iria chegar neste resultado!!!!!

MUITO OBRIGADO, mesmooooooooo!!!!!!!!!


GOSTEI 0
POSTAR