segunda-feira, 8 de agosto de 2016

Como copiar um arquivo em Delphi usando a função CopyFile() da API do Windows

Há situações nas quais gostaríamos de copiar um determinado arquivo. Até a versão 2009 as bibliotecas de tempo de execução do Delphi não nos fornecia uma função ou procedure para realizar tal tarefa. No entanto, é possível chamar a função CopyFile() da WinAPI a partir de nossas aplicações sem quaisquer esforços adicionais. Esta função requer o nome e caminho do arquivo a ser copiado, o nome e caminho do novo arquivo e um valor true ou false indicando se a função deve falhar caso o segundo arquivo já exista. O retorno será true se a operação for realizada com sucesso e false em caso contrário.

Veja um trecho de código no qual efetuamos a cópia de um arquivo:

procedure TForm1.Button1Click(Sender: TObject);
var
  arquivo_original, novo_arquivo: string;
begin
  // diretorio e nome do arquivo original
  arquivo_original := 'C:\arquivo de codigos\dados.txt';

  // diretorio e nome do novo arquivo
  novo_arquivo := 'C:\arquivo de codigos\dados2.txt';

  // vamos copiar o arquivo
  if CopyFile(PChar(arquivo_original), PChar(novo_arquivo), true) then
    ShowMessage('O arquivo foi copiado com sucesso')
  else
    ShowMessage('Não foi possível copiar o arquivo');
end;

Nenhum comentário:

Postar um comentário