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