Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sérgio_BR

Como ter fotos/imagens em seu aplicativo

Recommended Posts

Sempre precisei das dicas do Imasters, agora, com a devida licença, estou compartilhando uma dica, para aqueles que querem exibir fotos/imagens em seus aplicativos, sem gravá-las no BD...o que ocuparia muito espaço...

Esta dica foi usada em um aplicativo em que o BD foi criado no Paradox...testei e funcionou perfeitamente!!!

 

 

Código do botão inserir foto:

 

procedure TfrmCadastro.btnInserirFotoClick(Sender: TObject);
  begin
If OpenPictureDialog1.Execute then
tbSuaTabela.Edit;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
tbSuaTabela.FieldByName('Foto').AsString:= OpenPictureDialog1.FileName;
if tbSuaTabela.state in [dsedit,dsinsert] then
   tbSuaTabela.Post;
 end;

No evento OnActivate digite:

 

procedure TfrmCadastro.FormActivate(Sender: TObject);
begin
 tbMembros.Open;
 frmSuaTabela.Image1.Picture.Assign(nil);
If Not tbMembros.FieldByName('Foto').IsNull then
frmCadastro.Image1.Picture.LoadFromFile(tbSuaTabela.FieldByName('Foto').AsString);
end;

Código do botão excluir foto:

 

procedure TfrmCadastro.btnExcluirFotoClick(Sender: TObject);
begin
If tbSuaTabelas.FieldByName('Foto').IsNull then
Application.MessageBox('Este registro não contém foto!', 'A V I S O', MB_Ok + MB_ICONERROR)
else
If Application.MessageBox('Deseja excluir a foto deste registro?','A T E N Ç Ã O', MB_YesNo + MB_ICONQUESTION)= IDYes then
Begin
tbSuaTabela.Edit;
tbSuaTabela.FieldByName('Foto').Clear;
tbSuaTabela.Post;
tbSuaTabela.First;
end;

end;

 

Aqui, o código colocado no evento OnClick do DBNavigator:

 

 

procedure TfrmCadastro.NavRegistrosClick(Sender: TObject;
  Button: TNavigateBtn);
begin
frmCadastro.Image1.Picture.Assign(nil);
If Not tbSuaTabela.FieldByName('Foto').IsNull then
frmCadastro.Image1.Picture.LoadFromFile(tbSuaTabela.FieldByName('Foto').AsString);

end;

E, para gravar fisicamente os dados, selecione a tabela em questão e no evento AfterPost, digite:

(Não se esqueça de digitar: DBIProcs, na cláusula Uses...)

 

procedure TfrmCadastro.tbMembrosAfterPost(DataSet: TDataSet);
begin
   DbiSaveChanges(tbSuaTabela.Handle);
end;

Espero ter ajudado.

 

Qualquer coisa...

 

selferbr@yahoo.com.br.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.