24 de fev. de 2011

como copiar pasta com subdiretorio ( delphi )

uses ShellApi;

function rtnBackup_Total(DirFonte,DirDest : String) : Boolean;
var
  ShFileOpStruct : TShFileOpStruct;
begin
  Result := False;
  if DirFonte = '' then
    raise Exception.Create(
      'Diretório fonte não pode ficar em branco');
  if DirDest = '' then
    raise Exception.Create(
      'Diretório destino não pode ficar em branco');
  if not DirectoryExists(DirFonte) then
    raise Exception.Create('Diretório fonte inexistente');
  DirFonte := DirFonte+#0;
  DirDest := DirDest+#0;
  FillChar(ShFileOpStruct,Sizeof(TShFileOpStruct),0);
  with ShFileOpStruct do begin
    Wnd := Application.Handle;
    wFunc := FO_COPY;
    pFrom := PChar(DirFonte);
    pTo := PChar(DirDest);
    fFlags := FOF_ALLOWUNDO or FOF_SIMPLEPROGRESS or
       FOF_NOCONFIRMATION;
  end;
  ShFileOperation(ShFileOpStruct);
end;

Nenhum comentário:

Postar um comentário