Fórum Dados duplucados no CheckListBox #374268

29/08/2009

0

Olá,

Alguém pode me ajudar?

Quero inserir os dados em um CheckListbox, mas eles ficaram duplicados.

Por exemplo, selecionei os itens Banana, Maçã e Pera. No checklistbox aparece assim

Banana||Maçã||Pera
Banana||Maçã||Pera
Banana||Maçã||Pera

O que estou fazendo de errado? É no laco?
Usei o CheckListBox.AddItem (j,nil)


Obrigada!


Jaqque

Jaqque

Responder

Posts

31/08/2009

Osocram

tenta assim CheckListBox1.Items.Append();


Responder

Gostei + 0

31/08/2009

Osocram

Olha testei o aqui com o codigo que vc usar e funciona normal tbm...
posta o laço que vc fez p agente ver. O problema deve estar nele.


Responder

Gostei + 0

23/09/2009

Jaqque

Olá,

Depois de algum tempo consegui fazer o seguinte:

procedure TForm1.Button1Click(Sender: TObject);
var i, j :Integer ;
begin
for i := 0 to Pred(ListBox1.Items.Count) do
if ListBox1.Selected[i] then
begin
if ListBox1.Items.Text <> CheckListBox1.Items.Text then
begin
CheckListBox1.Items.AddStrings(ListBox1.Items);
end;
end;
end;

Mas ainda não deu certo, porque ao selecionar um, ele adiciona todos.

Usei os Itens no ListBox:

Azul
Amarelo
Verde
Branco


Responder

Gostei + 0

24/09/2009

Osocram

agora acho que entendi exatamente o que quer fazer.

este aqui é o seu problema
CheckListBox1.Items.AddStrings(ListBox1.Items); 


o que acontece, vc verifica se um item do listbox esta selecionado, se tiver vc esta adicionando a lista inteira do listBox no Checkbox.

o problema esta nesta linha mesmo...
vou postar o codigo que vc passou, ja corrigido
var
  i:Integer ;
begin
  for i := 0 to Pred(ListBox1.Items.Count) do
    if ListBox1.Selected[i] then begin
      if ListBox1.Items.Text <> CheckListBox1.Items.Text then begin
      //CheckListBox1.Items.AddStrings(ListBox1.Items);
      CheckListBox1.Items.Append(ListBox1.Items[i]);
      end;
    end;
  end;



Responder

Gostei + 0

24/09/2009

Jaqque

Olá osocram!

Obrigada! É isso mesmo que eu precisava...

Valeu mesmo pela ajuda!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar