Olá
galera, nesta Quick Tips, irei mostrar como podemos armazenar uma imagem em
nossos objetos, como a foto de um cliente, irei usar uma property do tipo TPicture,
esta por sua vez é a propriedade do componente TImage, no qual conseguimos ilustrar e exibir imagens no Delphi
Vamos criar uma unit uCliente.pas, e salvar ela. Veja seu
código completo.
unit
uCliente;
interface
uses
ExtCtrls,
Graphics;
Type
TCliente = class
private
FCodigo:
String;
FSexo:
String;
FNome:
String;
FFoto:
TPicture;
procedure
SetCodigo(const
Value:
String);
procedure
SetNome(const
Value:
String);
procedure
SetSexo(const
Value:
String);
procedure
SetFoto(const
Value:
TPicture);
{ 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;
property
Foto:
TPicture read
FFoto
write
SetFoto;
published
{
published declarations }
end;
implementation
{
TCliente }
procedure
TCliente.SetCodigo(const
Value:
String);
begin
FCodigo
:= Value;
end;
procedure
TCliente.SetFoto(const
Value:
TPicture);
begin
FFoto := 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), 2 TImage,
suas implementações são bem simples, mas antes disso precisamos dar uses em uCliente.pas.
{ Registrando no StringGrid 1
objeto com a imagem carregada no primeiro TImage}
procedure
TFrmPrincipal.BtnGravarClick(Sender:
TObject);
Var
C : TCliente;
begin
C := TCliente.Create;
C.Codigo := '1';
C.Nome := 'Wesley Y';
C.Sexo := 'M';
C.Foto := Image1.Picture;
StringGrid1.Objects[1,1]
:= C;
StringGrid1.Cells[1,1]
:= C.Nome;
end;
{ Recuperando a imagem para um
outro TImage, armazenada no Objeto }
procedure
TFrmPrincipal.BtnRecuperarClick(Sender:
TObject);
begin
Image2.Picture :=
TCliente(StringGrid1.Objects[1,1]).Foto;
end;
Vimos como é fácil
armazenar imagens, assim como podemos armazenar strings ou integer, bem
simples.
Fico
por aqui até a próxima parte.
Um
abraço
Wesley Y
wyamazack@rwsolution.com.br