Rotina para copiar um arquivo

Delphi

12/12/2003

Olá pessoal,

estou precisando de uma rotina para copiar um arquivo que está em um compartilhamento da rede para outro compartilhamento.

Alguém saberia me dizer como posso fazer esta rotina ?

Obrigado.


Mascotepc

Mascotepc

Curtidas 0

Respostas

Fabio.hc

Fabio.hc

12/12/2003

Eu tenho esta rotina:

Copiar arquivos
{ - Coloque um Button no Form;
- Altere o evento OnClick deste Button conforme abaixo: }

procedure TForm1.Button2Click(Sender: TObject);
var
  Origem, Destino: string;
begin
  Origem := ´c:\Origem\NomeArq.txt´;
  Destino := ´c:\Destino\NomeArq.txt´;
  if not CopyFile(PChar(Origem), PChar(Destino), true) then
    ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino);
end;

Observações
No exemplo acima, se o arquivo já existir no destino, a função falha (não copia). Para que a função possa sobreescrever o arquivo destino (caso exista), altere o último parâmetro de CopyFile para false. CUIDADO! Se um arquivo for sobreescrito, estará perdido para sempre!


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

12/12/2003

tentei usar esta rotina mas não faz nada só aparece o message...

quero copiar do drive a:\ para uma pasta específica...

o que pode estar errado?

Douglas.


GOSTEI 0
Elmc2003

Elmc2003

12/12/2003

Se ajudar baixe o arquivo [url]http://www.aqualid.com.br/backup.exe[/url], fui eu quem fiz, o código é meio feinho mais funciona.


GOSTEI 0
Fabio.hc

Fabio.hc

12/12/2003

tentei usar esta rotina mas não faz nada só aparece o message... quero copiar do drive a:\ para uma pasta específica... o que pode estar errado? Douglas.



Origem := ´a:\´;
Destino := pasta específica;

origem vc coloca drive a:\
destino vc coloca a pasta específica...


GOSTEI 0
Elmc2003

Elmc2003

12/12/2003

Baixe o programa zipado do link [url]http://www.propoolline.com.br/soft/backup.exe[/url], descompile em uma pasta, inicie o Delphi, abra o project1 e compile.
Assim funciona.

Qualquer coisa me retorne.[/url]


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

12/12/2003

obrigado elmc2003 pelo link (vou testar)
obrigado Fabio.HC pela dica (vou testar tb)


GOSTEI 0
Tales

Tales

12/12/2003

Tentei usar o copyfile, mas da erro... acho que tenho que declarar alguma UNIT, mas não sei qual... :roll:


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

12/12/2003

vc declara a Unit [b:1e7d9b90d1]IdGlobal[/b:1e7d9b90d1].

no meu caso só leu o drive mas não copio nada (o copyfile), mas...
to nos testes ae...


GOSTEI 0
Xmagno

Xmagno

12/12/2003

Eu tenho um programa de atualizacao de executaveis, que pega parametros da linha de comando, faz a copia e chama o programa:
Ele copia da rede (Origem) e grava em pasta local (Destino)

[]´s
xMagno

var
O, D : String;
Origem : Array[0..255] of char;
Destino: Array[0..255] of char;

begin
O := ParamStr(1);

D := ´C:\APL\´+ExtractFileName(ParamStr(1));
strPCopy( Destino, D );
strPCopy( Origem, O );

//....

TRY
copyFile( Origem, Destino, False );
FINALLY
END;

//.....

end;


GOSTEI 0
POSTAR