Copiar arquivos de uma pasta para outra em Delphi

17/10/2012

0

Boa tarde amigos.

Tenho a seguinte situação.
Pasta Origem - Local onde deverei pegar os arquivos a serem copiados
Pasta Destino - Local onde os arquivos copiados serão colados.

Tenho a seguinte situação.
uma procedure que pega os caminhos e faz a cópia.

Veja:
procedure TForm1.btCopiarClick(Sender: TObject);
var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
I := FindFirst('c:\Origem\*.*', faAnyFile, SR);
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := 'c:\Origem\' + SR.Name;
Destino := 'c:\Destino\' + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), true) then
ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);
end;
I := FindNext(SR);
end;
end;

O que quero fazer é colocar o caminho da origem e do destino em um Edit, fazer com que o Delphi pegue do Edit e copie, porém após a primeira cópia da erro.
vejam as alterações?

procedure TForm1.btCopiarClick(Sender: TObject);
var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
Origem := edtPastaArquivoOriginal.text;
Destino := edtPastaDestino.text;
I := FindFirst(Origem + '\*.*', faAnyFile, SR);
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := Origem + '\' + SR.Name;
Destino := Destino + '\' + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), true) then
ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);
end;
I := FindNext(SR);
end;
end;

Alguma solução.
Fábio Sela

Fábio Sela

Responder

Posts

17/10/2012

Joel Rodrigues

Qual é o erro?
Responder

17/10/2012

Alessandro Yamasaki

Qual erro e qual o conteudo da informação ?

Verifica se não é as aspas do seu componente.

// Remova as aspas
if Copy(edtPastaArquivoOriginal.Text, 1, 1) = '"' then
edtPastaArquivoOriginal.Text := Copy(edtPastaArquivoOriginal.Text, 2, (Length(edtPastaArquivoOriginal.Text) - 2));
Responder

17/10/2012

Fábio Sela

Erro ao copiar E:\...... para C:\....
Responder

17/10/2012

Fábio Sela

mas não tem aspas no código
Responder

18/10/2012

Thiago Santana

Utilize a função FileCopy
irá facilitar!
Responder

10/07/2018

Dernivaldo Silva

Eu uso o componente RxDirectory, e em sua propriedade InitialDir eu coloco o diretório que quero, veja<br />
var<br />
caminho: string;<br />
begin<br />
caminho := RxDirectory.InitialDir;<br />
...<br />
<br />
//Nisso vc já pode implementar quantos componentes quiser em seu projeto<br />
end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar