como copiar arquivos
Boa Tarde......
Alguem poderia me dizer como eu faço para copiar todos os arquivos de uma pasta para outra pelo delphi?
Alguem poderia me dizer como eu faço para copiar todos os arquivos de uma pasta para outra pelo delphi?
Leandro Jacomete
Curtidas 0
Respostas
Carnette
08/07/2003
Copiando arquivos de diretório para diretório
procedure CopyDir(const cFrom, cTo : string);
var
OpStruc : TSHFileOpStruct;
frombuf, tobuf : array[0..128] of Char;
begin
FillChar(frombuf, Sizeof(frombuf), 0);
FillChar(tobuf, Sizeof(tobuf), 0);
StrPCopy(frombuf, cFrom);
StrPCopy(tobuf, cTo);
with OpStruc do
begin
Wnd := Application.Handle;
wFunc := FO_COPY;
pFrom := @frombuf;
pTo := @tobuf;
fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end; // with
ShFileOperation(OpStruc);
end; // CopyDir
Chamada da procedure
CopyDir(Origem,Destino);
procedure CopyDir(const cFrom, cTo : string);
var
OpStruc : TSHFileOpStruct;
frombuf, tobuf : array[0..128] of Char;
begin
FillChar(frombuf, Sizeof(frombuf), 0);
FillChar(tobuf, Sizeof(tobuf), 0);
StrPCopy(frombuf, cFrom);
StrPCopy(tobuf, cTo);
with OpStruc do
begin
Wnd := Application.Handle;
wFunc := FO_COPY;
pFrom := @frombuf;
pTo := @tobuf;
fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end; // with
ShFileOperation(OpStruc);
end; // CopyDir
Chamada da procedure
CopyDir(Origem,Destino);
GOSTEI 0
Thaisandrade
08/07/2003
Você pode usar a função CopyFile(Origem,Destino). Para isso você deve acresentar FileCtrl. Essa função necessita de um arquivo chamado ´fmxutils.dcu´. O arquivo que gera esse .dcu ´fmxutils.pas´, encontra-se na pasta do Delphi (Não sei o local exatamente).
GOSTEI 0
Marcelo Saviski
08/07/2003
procedure TForm1.Button2Click(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;
Tirei isso aqui do Clube Delphi de Dicas e macetes
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;
Tirei isso aqui do Clube Delphi de Dicas e macetes
GOSTEI 0