Olá galera, nesta Quick Tips, irei mostrar como podemos adicionar um objeto em um CheckListBox, porém este objeto será preenchido a partir de uma tabela de um determinado Banco de Dados.

 

Para iniciarmos precisaremos criar uma classe, que será a estrutura do objeto a ser adicionado no CheckListBox, vamos então a criação da classe, esta por sua vez terá 3 propriedades( IDCliente, Nome, Sexo).

 

Criaremos agora uma nova Aplicação em Delphi, e adicionaremos a ela uma unit, salve a mesma como uCliente, e implemente o seguinte código nela.

 

unit uCliente;

interface

Type

    TCliente = class

    private

    FIDCliente: String;

    FSexo: String;

    FNome: String;

    { private declarations }

    protected

    { protected declarations }

    public

    { public declarations }

    property IDCliente : String read FIDCliente write FIDCliente;

    property Nome : String read FNome write FNome;

    property Sexo : String read FSexo write FSexo;

    published

    { published declarations }

  end;

implementation

{ TCliente }

end.

 

 

Agora em nosso formulário vamos adicionar SQLConnection, SQLDataSet, DataSetProvider, ClientDataSet, CheckListBox, além de dois TButton.

 

checklistbox

 

 

 

 

 

No clique do TButton – Carregar implemente o seguinte :

 

procedure TFrmCheckListBox_BD.Button1Click(Sender: TObject);

Var

    Cliente: TCliente;

begin

  CDS.First;

 CheckListBox1.Items.Clear;

  while not CDS.Eof do

  begin

    Cliente := TCliente.Create;

    Cliente.IDCliente := CDS.FieldByName('IDCliente').AsString;

    Cliente.Nome := CDS.FieldByName('Nome').AsString;

    Cliente.Sexo := CDS.FieldByName('Sexo').AsString;

    CheckListBox1.Items.AddObject(' [ ' +Cliente.IDCliente + ' ] ' + Cliente.Nome, Cliente);

    CDS.Next;

  end;

end;

 

No clique do TButton – Ver Registro implemente o seguinte :

 

procedure TFrmCheckListBox_BD.Button2Click(Sender: TObject);

begin

  if CheckListBox1.ItemIndex > -1 then

    ShowMessage(TCliente(CheckListBox1.Items.Objects[CheckListBox1.ItemIndex]).IDCliente + #13 +

    TCliente(CheckListBox1.Items.Objects[CheckListBox1.ItemIndex]).Nome + #13 +

    TCliente(CheckListBox1.Items.Objects[CheckListBox1.ItemIndex]).Sexo);

end;

 

 

Desta forma teremos como adicionar todo um objeto dentro de um item do CheckListBox, através da propriedade Objects[], podemos adicionar e recuperar um determinado item facilmente.

 

Veja o resultado, ao carregarmos os itens, e logo em seguida clicarmos no TButton Ver Registro.


checklistbox 


 

Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

Wesley Y