Copia com Savedialog

05/02/2016

4

Bom dia.
Estou tentando copiar um determinado arquivo, que vai ficar em um caminho fixo, depois salvar ele em um caminho que o usuário escolhesse.
Por exemplo pegaria o arquivo 'C:\teste.txt', e copiaria para um caminho qualquer estou tentando fazer com um savedialog, aqui vai o código que estou usando.
procedure TForm1.Button2Click(Sender: TObject);
var
arquivo_original: string;
novo_arquivo: string;
begin
arquivo_original:= 'C:\teste.txt';
novo_arquivo:= SaveDialog1.FileName;
If SaveDialog1.Execute then
begin
CopyFile(PChar(arquivo_original), PChar(novo_arquivo), true)
ShowMessage('Cópia com sucesso');
end
else
ShowMessage('Erro durante a cópia');
end;

end.

Não ocorre nenhum erro, compila o programa clico no button2, chama o savedialo porem quando clico em salvar ele "salva", quando vou verificar no caminho que teoricamente deveria estar o arquivo não salvou nada, não tem o arquivo.
Desde de já agradeço a atenção!
PS: Utilizo Delphi7
Responder

Post mais votado

05/02/2016

Teste seu código assim:

var
  arquivo_original, novo_arquivo: string;
begin
  arquivo_original := 'C:\teste.txt';

  If SaveDialog1.Execute then
  begin
    novo_arquivo := SaveDialog1.FileName + '.txt';
    if CopyFile(PChar(arquivo_original), PChar(novo_arquivo), true) then
      ShowMessage('Cópia com sucesso')
    else
      ShowMessage('Erro durante a cópia');
  end;
end;
Responder

Mais Posts

Perfeito muito abrigado por sua ajuda amigão.
Responder