Inserir foto em formulário de funcionários
Olá Pessoal,
Estou bolando um formulário de cadastro de funcionário e neste formulário eu gostaria de acrescentar a foto do funcionário, mas não estou sabendo como, já coloquei um dbimagem ,mas não sei que comando fazer para inserir a foto, por favor se alguém souber informar fico muito agradecido.
Atenciosamente,
Fabiano Ferreira
Estou bolando um formulário de cadastro de funcionário e neste formulário eu gostaria de acrescentar a foto do funcionário, mas não estou sabendo como, já coloquei um dbimagem ,mas não sei que comando fazer para inserir a foto, por favor se alguém souber informar fico muito agradecido.
Atenciosamente,
Fabiano Ferreira
Ferreirafabiano
Curtidas 0
Respostas
Mariocanel
27/06/2004
coloque as units jpeg e Clipbrd na clausula usis
adiciona um OpenPictureDialog1(dialogs)
e este códigono onclique de um botao qualquer, ah o dtsrc é um dataset que está ligado a uma tabela valewu..............
var jpg : TJPegImage;
begin
if (DtSrc.State = dsInsert) or (DtSrc.State = dsEdit) then
begin
if OpenPictureDialog1.Execute then
begin
jpg := TJpegImage.Create;
jpg.LoadFromFile(OpenPictureDialog1.FileName);
clipboard.Assign(jpg);
DBImage1.PasteFromClipboard;
jpg.Free;
end;
end
else
ShowMessage(´Tabela não está no modo de inclusão/edição´);
end;
adiciona um OpenPictureDialog1(dialogs)
e este códigono onclique de um botao qualquer, ah o dtsrc é um dataset que está ligado a uma tabela valewu..............
var jpg : TJPegImage;
begin
if (DtSrc.State = dsInsert) or (DtSrc.State = dsEdit) then
begin
if OpenPictureDialog1.Execute then
begin
jpg := TJpegImage.Create;
jpg.LoadFromFile(OpenPictureDialog1.FileName);
clipboard.Assign(jpg);
DBImage1.PasteFromClipboard;
jpg.Free;
end;
end
else
ShowMessage(´Tabela não está no modo de inclusão/edição´);
end;
GOSTEI 0
Ferreirafabiano
27/06/2004
Valeu pela dica, mas eu só não entendi a parte do dataset, pois eu estou trabalhando com o bde, e o dataset é um Clientdatset; datasetprovider??
Fabiano Ferreira
Fabiano Ferreira
GOSTEI 0
Misael
27/06/2004
Fabiano qual é o banco de dados que vc esta utilizando e quais componentes para acessar-los???
GOSTEI 0
Bon Jovi
27/06/2004
O exemplo funciona, mas usar clipboard nao vai matar algo que o usuário por acaso tenha colocado na área de transferência?
Costumo usar desse jeito:
Costumo usar desse jeito:
procedure TForm1.EscolheImagem(Imagem: TDBImage); var oJPEG: TJPEGImage; oDialogo: TOpenPictureDialog; begin if not Assigned(Imagem) then Exit; if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then Exit; if not Assigned(Imagem.DataSource.DataSet) then Exit; if not (Imagem.DataSource.DataSet.Active) then Exit; oDialogo := TOpenPictureDialog.Create(nil); try oDialogo.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]; oJPEG := TJPEGImage.Create; try if oDialogo.Execute then begin oJPEG.LoadFromFile(oDialogo.FileName); if not (Imagem.DataSource.DataSet.State in dsEditModes) then Imagem.DataSource.DataSet.Edit; Imagem.Picture.Graphic.Assign(oJPEG); end; finally FreeAndNil(oJPEG); end; finally FreeAndNil(oDialogo); end; end; procedure TForm1.Button1Click(Sender: TObject); begin EscolheImagem(DBImage1); end;
GOSTEI 0
Bon Jovi
27/06/2004
Melhorando pra aceitar ler BMP convertendo pra JPEG:
procedure TForm1.EscolheImagem(Imagem: TDBImage); var oJPEG: TJPEGImage; oDialogo: TOpenPictureDialog; oPicture: TPicture; begin if not Assigned(Imagem) then Exit; if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then Exit; if not Assigned(Imagem.DataSource.DataSet) then Exit; if not (Imagem.DataSource.DataSet.Active) then Exit; oDialogo := TOpenPictureDialog.Create(nil); try oDialogo.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]; oDialogo.Filter := ´Imagens (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp´; oPicture := TPicture.Create; try oJPEG := TJPEGImage.Create; try if oDialogo.Execute then begin oPicture.LoadFromFile(oDialogo.FileName); oJPEG.Assign(oPicture.Graphic); if not (Imagem.DataSource.DataSet.State in dsEditModes) then Imagem.DataSource.DataSet.Edit; Imagem.Picture.Graphic.Assign(oJPEG); end; finally FreeAndNil(oJPEG); end; finally FreeAndNil(oPicture); end; finally FreeAndNil(oDialogo); end; end; procedure TForm1.Button1Click(Sender: TObject); begin EscolheImagem(DBImage1); end;
GOSTEI 0