Fórum Não adiciona foto no ClientDataSet (era:Código não funciona) #344486
14/08/2007
0
Alguém pode me ajudar com esse código, não sei o que está errado. Ele não funciona, ou seja, não adiciona a foto no ClientDataSet.
var Nome, Path : string; J : TJPEGImage; P: TMemoryStream; begin if OpenDialog.Execute then begin Nome := ExtractFileName(OpenDialog.FileName); Path := OpenDialog.FileName; if FotoCDS.Locate(´nome´,UpperCase(Nome),[]) then begin MessageBox(Handle,´Foto já cadastrada´,´Atenção´,MB_OK + MB_ICONEXCLAMATION); btnAddFoto.Click; end else begin P := TMemoryStream.Create; J := TJPEGImage.Create; J.LoadFromFile(Path); J.CompressionQuality := 70; J.Compress; J.SaveToStream(P); P.Seek(0,soFromBeginning); FotoCDS.Insert; FotoCDS.FieldByName(´nome´).AsString := UpperCase(Nome); TBlobField(FotoCDS.FieldByName(´foto´)).LoadFromStream(P); FotoCDS.Post; J.Free; P.Free; end; end;
Marcelo.mileris
Curtir tópico
+ 0
Responder
Posts
15/08/2007
Alexsandroraulino
Olá
Tu não precisa carregar o jpeg, criando somente a memorystream, será o necessário para manipulação.
Segue abaixo o exemplo.
procedure TForm.ManipulateExecuteOpenDialog;
var
loMemoryStream: TMemoryStream;
lsPath : String ;
begin
inherited;
try
if OpenDialog.Execute then
begin
lsPath := OpenDialog.FileName;
if FileExists(lsPath) then
begin
loMemoryStream := TMemoryStream.Create;
loMemoryStream.LoadFromFile(lsPath);
ClientDataSet.LoadFromStream(loMemoryStream);
end;
end;
except
on e: exception do
Mensagem.Erro(´Arquivo seleciona inválido!´, e.message);
end;
end;
Tu não precisa carregar o jpeg, criando somente a memorystream, será o necessário para manipulação.
Segue abaixo o exemplo.
procedure TForm.ManipulateExecuteOpenDialog;
var
loMemoryStream: TMemoryStream;
lsPath : String ;
begin
inherited;
try
if OpenDialog.Execute then
begin
lsPath := OpenDialog.FileName;
if FileExists(lsPath) then
begin
loMemoryStream := TMemoryStream.Create;
loMemoryStream.LoadFromFile(lsPath);
ClientDataSet.LoadFromStream(loMemoryStream);
end;
end;
except
on e: exception do
Mensagem.Erro(´Arquivo seleciona inválido!´, e.message);
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)