Fórum Copiar Arquivos de uma pasta p/ outra. #215673
20/02/2004
0
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
Curtir tópico
+ 0
Responder
Posts
20/02/2004
Vieira_alex
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....
Responder
Gostei + 0
20/02/2004
Vieira_alex
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)