Adicionar Objetos: StringGrid no Delphi
Veja nesta Quick como podemos adicionar em um StringGrid objetos
Olá galera, nesta Quick Tips, irei mostrar como podemos adicionar em um StringGrid objetos inteiros, assim como podemos fazer em Combobox, ListBox, por exemplo. Ao contrário do que muitos pensam StringGrid, não serve apenas para armazenar texto, mas também objetos, que é o foco do nosso exemplo. Vamos então a construção do exemplo.
Vamos criar uma unit uCliente.pas, e salvar ela. Veja seu código completo.
unit uCliente;
interface
Type
TCliente = class
private
FCodigo: String;
FSexo: String;
FNome: String;
procedure SetCodigo(const Value: String);
procedure SetNome(const Value: String);
procedure SetSexo(const Value: String);
{ private declarations }
protected
{ protected declarations }
public
{ public declarations }
property Codigo: String read FCodigo write SetCodigo;
property Nome: String read FNome write SetNome;
property Sexo: String read FSexo write SetSexo;
published
{ published declarations }
end;
implementation
{ TCliente }
procedure TCliente.SetCodigo(const Value: String);
begin
FCodigo := Value;
end;
procedure TCliente.SetNome(const Value: String);
begin
FNome := Value;
end;
procedure TCliente.SetSexo(const Value: String);
begin
FSexo := Value;
end;
end.
Agora vamos criar um form, e salvar o mesmo como uFrmPrincipal, vamos adicionar 1 StringGrid, e 2 BitBtn(BtnGravar, BtnCarregar), suas implementações são bem simples, mas antes disso precisamos dar uses em uCliente.pas.
{ Registrando no StringGrid 2 Objetos }
procedure TFrmPrincipal.BtnGravarClick(Sender: TObject);
Var
C : TCliente;
Begin
{ Criamos aqui um primeiro objeto e armazenamos na posição 1,1 }
C := TCliente.Create;
C.Codigo := '1';
C.Nome := 'Wesley Y';
C.Sexo := 'M';
StringGrid1.Objects[1,1] := C;
StringGrid1.Cells[1,1] := C.Nome;
{ Criamos aqui um segundo objeto e armazenamos na posição 1,2 }
C := TCliente.Create;
C.Codigo := '2';
C.Nome := 'Waleska';
C.Sexo := 'F';
StringGrid1.Objects[1,2] := C;
StringGrid1.Cells[1,2] := C.Nome;
end;
{ Recuperando no StringGrid o primeiro objeto }
procedure TFrmPrincipal.BtnRecuperarClick(Sender: TObject);
begin
ShowMessage(TCliente(StringGrid1.Objects[1,1]).Codigo + #13+ TCliente(StringGrid1.Objects[1,1]).Nome + #13 + TCliente(StringGrid1.Objects[1,1]).Sexo ) ;
end;
Podemos notar como é simples adicionar um objeto, porém é interessante como vocês podem ver, que temos de adicionar uma descrição pra célula que contém o objeto, ilustrando assim sua identificação
Fico por aqui até a próxima parte.
Um abraço
Wesley Y
wesley@lithic.com.br
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo