delphi(文件夹拷贝)

function TFilecopy.Opendirectory(path : string ;
 SitePath : string ; filters : TStringList ;start : Tdatetime;
 endtime :Tdatetime
 ):integer;
var
  FileName: string;
  filenametemp : string;
  time1 :integer;
  sr: TSearchRec;
  begin
    filenametemp :=Sitepath;

   if FindFirst(path+'\*.*',faAnyFile, sr) <> 0 then
    begin
       Result := 0 ;
       exit
    end
    else
    begin
      repeat
          if (sr.Name <> '.') and (sr.Name <> '..') then
          begin
            if sr.Attr <> faDirectory then
            begin
               if (sr.TimeStamp > start)and (sr.TimeStamp < endtime) and
                 CheckFile(sr.Name, Filters) then
                begin
                  FileName := Path + '\' + Sr.Name;
                  filenametemp :=Sitepath +'\'+sr.Name;
                   DirectoryExists(filenametemp);
                  CopyFile(pchar(FileName),pchar(filenametemp),true);
                end;
            end
            else
            begin
              FileName := Path + '\' + Sr.Name;
              SitePath := SitePath + '\'+ sr.Name;
              CreateDir(SitePath);

               Opendirectory(FileName,SitePath,filters,start,endtime);
            end;
          end;
      until FindNext(sr)<>0  ;
    end;
 end;
 

 

function  checkfile(name : string; List : TStringList): Boolean;
var
  I: Integer;
  FileExt: string;
begin
    if List.Count = 0 then
    begin
     Result :=True;
    end
   else
   begin
      FileExt := '';
      for I := Length(Name) downto 1 do
      begin
        if Name[I] = '.' then
        begin
          FileExt := Copy(Name, I + 1, MaxInt);
          Break;
        end;
      end;

      Result := List.IndexOf(FileExt) >= 0;
   end;

  // ExtractFileExt(Name);
end;

你可能感兴趣的:(delphi)