Ir para conteúdo
Fórum Script Brasil
  • 0

Paradox + Jpeg + Gif


Paulo Nobre

Pergunta

Relutei um pouco em colocar esta pergunta, pois com o google e as pesquisas em foruns você encontra um monte de respostas e dicas.

A pergunta é a seguinte: Como colocar imagem jpeg(gif) numa tabela paradox e quando abrir o programa ter a imagem aparecendo num DBImage?

Para GIF não encontrei nada (na rede e nos foruns) respondendo a pergunta.

Para JPEG as tradicionais são(parece que todo mundo usa o mesmo código copiado):

Ler imagem JPG da tabela Paradox

Procedure Le_Imagem_JPEG(Campo:TBlobField; Foto:TImage);

var BS:TBlobStream;

MinhaImagem:TJPEGImage;

Begin

if Campo.AsString <> '' Then

Begin

BS := TBlobStream.Create((Campo as TBlobField), BMREAD);

MinhaImagem := TJPEGImage.Create;

MinhaImagem.LoadFromStream(BS);

Foto.Picture.Assign(MinhaImagem);

BS.Free;

MinhaImagem.Free;

End

Else Foto.Picture.LoadFromFile('c:\temp\limpa.jpg');

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

Le_Imagem_JPEG(TbClientesCli_Foto, Image1);

// TbClientesCli_Foto é um variavel da tabela do tipo Blob

// Image1 é um componente

end;

------

Gravar imagem JPG em tabela Paradox

Procedure Grava_Imagem_JPEG(Tabela:TTable; Campo:TBlobField;

Foto:TImage; Dialog:TOpenPictureDialog);

var BS:TBlobStream;

MinhaImagem:TJPEGImage;

Begin

Dialog.InitialDir := 'c:\temp';

Dialog.Execute;

if Dialog.FileName <> '' Then

Begin

if not (Tabela.State in [dsEdit, dsInsert]) Then

Tabela.Edit;

BS := TBlobStream.Create((Campo as TBlobField), BMWRITE);

MinhaImagem := TJPEGImage.Create;

MinhaImagem.LoadFromFile(Dialog.FileName);

MinhaImagem.SaveToStream(BS);

Foto.Picture.Assign(MinhaImagem);

BS.Free;

MinhaImagem.Free;

Tabela.Post;

DBISaveChanges(Tabela.Handle);

End;

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

Grava_Imagem_JPEG(TbClientes,TbClientesCli_Foto, Image1,

OpenPictureDialog1);

// TbClientes é o nome de alguma Tabela

// TbClientesCli_Foto é um variavel da tabela do tipo Blob

// Image1 é um componente

// OpenPictureDialog1 é o componente para abrir a figura

end;

ou então

procedure TForm1.DBImage1Click(Sender: TObject);

var jpg : TJPegImage;

begin

if OpenPictureDialog1.Execute then

begin

jpg := TJpegImage.Create;

jpg.LoadFromFile(OpenPictureDialog1.FileName);

clipboard.Assign(jpg);

DBImage1.PasteFromClipboard;

jpg.Free;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

close;

end;

end.

// colocar JPEG e Clipbrd na USES.

É só desta maneira mesmo ou existe uma maneira mais simples.

No meu caso tenho uma tabela com três campos número, nome e informações.

No form existem: 2 dbedits, 1 dbmemo e 1 dbimage.

A figura jepeg e gif já está aparecendo no dbimage1, quero apenas clicar no botão gravar(table1.post)

e transferir a figura para o paradox(não preciso de opendialog-já usei ele para colocar antes a figura lá)

e quando abrir o programa que ela(a figura) apareça no dbgrid.

Tenho que usar este código acima ou tem uma coisa mais simples para se fazer?

Em relação ao gif alguém sabe alguma coisa?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...