Fórum OpenDialog ou OpenPictureDialog FileName Com o Caminho reduzido #573433
02/01/2017
0
Ola meu povo!
Eu to tentando pegar o nome da Imagem com a Propriedade FileName de uma TOpenPictureDialog só que em vez de vir o Caminho Completo vem reduzido
Ex:
O erro ocorre pelo motivo que (opdParametros.FileName) em vez de vir "C:\\Users\\NomeUser\\Pictures\\Nome_da_imagem.jpg" vem "Imagens\\Nome_da_imagem.jpg"
ai o Delphi não consegue achar a imagem
Eu estou utilizando Delphi 10.1 se tiver algum outro modo de fazer isso e alguém poder me ajudar...
Eu to tentando pegar o nome da Imagem com a Propriedade FileName de uma TOpenPictureDialog só que em vez de vir o Caminho Completo vem reduzido
Ex:
ImgLogo.Picture.LoadFromFile(opdParametros.FileName); // Dar erro!!
O erro ocorre pelo motivo que (opdParametros.FileName) em vez de vir "C:\\Users\\NomeUser\\Pictures\\Nome_da_imagem.jpg" vem "Imagens\\Nome_da_imagem.jpg"
ai o Delphi não consegue achar a imagem
Eu estou utilizando Delphi 10.1 se tiver algum outro modo de fazer isso e alguém poder me ajudar...
procedure TfrmManutencaoParametros.opdParametrosSelectionChange(Sender: TObject);
var
vDir : String;
begin
// Muda a imagem no Quadro de imagens
if opdParametros.FileName <> '' then
begin
inherited;
vDir := ExtractFileName(opdParametros.FileName);
vDir := ReverseString(vDir);
delete(vDir, pos('.', vDir), length(vDir));
vDir := ReverseString(vDir);
if (vDir = 'gif') or (vDir = 'jpg') or (vDir = 'jpeg') or (vDir = 'bmp') or
(vDir = 'GIF') or (vDir = 'JPG') or (vDir = 'JPEG') or (vDir = 'BMP') or
(vDir = 'png') or (vDir = 'PNG') then
begin
if (FileExists(Trim(DataModuleGeral.tbParametrosPASTA_BD.AsString + '\\Logo-Escritorio.'+vDir))) then
DeleteFile(Trim(DataModuleGeral.tbParametrosPASTA_BD.AsString+'\\'+DataModuleGeral.tbParametrosIMAGEM_LOGO.AsString));
// Se já tem arquivo definido, apresenta mensagem para usuário decidir se atualiza
if (DataModuleGeral.tbParametrosIMAGEM_LOGO.AsString ='') or
(DataModuleGeral.tbParametrosIMAGEM_LOGO.AsString <>'') then
begin
DataModuleGeral.tbParametrosIMAGEM_LOGO.AsString := 'Logo-Escritorio.'+vDir;
if not CopyFile(PChar(opdParametros.FileName), PChar(Trim(DataModuleGeral.tbParametrosPASTA_BD.AsString+'\\Logo-Escritorio.'+vDir)), False) then
ShowMessage('Atenção! Erro ao copiar o arquivo.')
else
ImgLogo.Picture.LoadFromFile(opdParametros.FileName);
end;
end
end;
end;
Eduardo Silva
Curtir tópico
+ 0
Responder
Posts
04/01/2017
Raimundo Pereira
Estou usando o XE7
OpenPictureDialog1.Execute();
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
OpenPictureDialog1.Execute();
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)