Copiar Arquivos de uma pasta p/ outra.
Oi galera!!!
Tipo assim, eu queria criar uma pasta num diretório X, e depois copiar os arquivos do diretório Y para esta pasta X.Porém, eu gostaria que somente fossem copiados os arquivos de extensão *dfm.
E aí, alguém pode me dar um help aí?Como faço para criar uma pasta, copiar de uma pasta para outra somentes os arquivos de extensão *dfm?
Tipo assim, eu queria criar uma pasta num diretório X, e depois copiar os arquivos do diretório Y para esta pasta X.Porém, eu gostaria que somente fossem copiados os arquivos de extensão *dfm.
E aí, alguém pode me dar um help aí?Como faço para criar uma pasta, copiar de uma pasta para outra somentes os arquivos de extensão *dfm?
Vagner Monteiro
Curtidas 0
Respostas
Vieira_alex
20/02/2004
Amigo tente assim:
procedure TForm1.btCriaPastaClick(Sender: TObject);
var
Dir: string;
begin
Dir := ´C:\Teste\Teste01´;
if not DirectoryExists(Dir) then
ForceDirectories(Dir);
Label1.Caption := Dir + ´ foi criado´;
end;
procedure TForm1.btCopiaArquivoClick(Sender: TObject);
var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
I := FindFirst(´c:\Aster01\*.doc´, faAnyFile, SR); // Local de Origem
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := ´c:\Aster01\´ + SR.Name;
Destino := ´c:\Teste\´ + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), true) then
ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino);
end;
I := FindNext(SR);
end;
end;
********
Não esqueça de declarar FileCtrl na USES da UNIT.
Espero ter ajudado....
procedure TForm1.btCriaPastaClick(Sender: TObject);
var
Dir: string;
begin
Dir := ´C:\Teste\Teste01´;
if not DirectoryExists(Dir) then
ForceDirectories(Dir);
Label1.Caption := Dir + ´ foi criado´;
end;
procedure TForm1.btCopiaArquivoClick(Sender: TObject);
var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
I := FindFirst(´c:\Aster01\*.doc´, faAnyFile, SR); // Local de Origem
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := ´c:\Aster01\´ + SR.Name;
Destino := ´c:\Teste\´ + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), true) then
ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino);
end;
I := FindNext(SR);
end;
end;
********
Não esqueça de declarar FileCtrl na USES da UNIT.
Espero ter ajudado....
GOSTEI 0
Vieira_alex
20/02/2004
Desculpa amigo esquci de te informar mais duas coisas.
1 ) antes de fazer seus testes faça uma copia da sua pasta que vc. vai copiar, desta forma poderá alterá sua função a vontade.
2) 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.
1 ) antes de fazer seus testes faça uma copia da sua pasta que vc. vai copiar, desta forma poderá alterá sua função a vontade.
2) 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.
GOSTEI 0