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;