Componete CheckListBox

24/07/2008

1

Boa tarde, atualmente trabalho com administração de redes, suporte, implatação de sistemes e melhorias.

Estou fazendo o segundo curso em delphi(Developer), já conclui o básico.

Estou fazendo um exercício de sala de aula e estou com uma dificuldade em usar o componente CheckListBox. No seguinte caso:

O usuário é obrigado a inserir algum item no CheckListBox que é o meu (chklstEnderecos) , no caso do usuário tentar usar o butão remover, sem ter inserido nehum endereço no (chklstEnderecos) do a mensagem seguinte:

procedure TFormCadastroCliente.btnRemoverEnderecoClick(Sender: TObject);
begin
if chklstEnderecos.ItemIndex <> 0 then
ShowMessage(´Não existe item à ser removido!´);
end;

Tudo bem até ai... o usuário poderá colocar os seguintes endereços:

um endereço residencial que é chklstEnderecos[0]

um endereço comercial que é chklstEnderecos[1]

A minha duvida é, se a forma que usei para checar o meu (chklstEnderecos), me da uma situação de poder verificar se existe

um endereço residencial que é chklstEnderecos[0]

um endereço comercial que é chklstEnderecos[1]

E depois remover o item que foi selecionado.

Pessoal, em quanto vcs não podem responder estou queimando a pestana aqui...


Grato


Responder

Posts

olá,

o componente CheckListBox tem uma propriedade chamada Checked, que retorna se o respectivo checkbox está marcado. Não sei se era bem isso que vc está precisando.

if not chklstEnderecos.Checked[0] then
   //comandos


flw


Responder

25/07/2008

Gpassos

Olá Fabricio, realmente para checar essa opção é muito boa, pesquisando também encontrei:

procedure TFormCadastroCliente.btnRemoverEnderecoClick(Sender: TObject);
begin
if (chklstEnderecos.ItemIndex<0)or (chklstEnderecos.Items.Count <=chklstEnderecos.ItemIndex)then
ShowMessage(´Não existe item selecionado´);

Até ai tudo bem da forma que vc informou eu poderia dar uma mesagem como da forma acima??

Para deletar eu tenho o seguinte código.

procedure TFormCadastroCliente.btnRemoverEnderecoClick(Sender: TObject);
var
i: integer;

for i := 0 to chklstEnderecos.Count - 1 do
if chklstEnderecos.Checked[i] then

Quando coloco + 1 for com outra variavel no caso (var e: integer;) para deletar o item (1) não consigo.

Já sei que estou bem próximo de resolver...

Ainda estou lutando para fazer... sei que o forum serve para ajudar e também tenho que fazer a minha parte estudar, pesquisar etc..


Responder