|
@@ -398,14 +398,18 @@ Function FileAge (Const FileName : UnicodeString): Int64;
|
|
var
|
|
var
|
|
Handle: THandle;
|
|
Handle: THandle;
|
|
FindData: TWin32FindDataW;
|
|
FindData: TWin32FindDataW;
|
|
|
|
+ tmpdtime : longint;
|
|
begin
|
|
begin
|
|
Handle := FindFirstFileW(Pwidechar(FileName), FindData);
|
|
Handle := FindFirstFileW(Pwidechar(FileName), FindData);
|
|
if Handle <> INVALID_HANDLE_VALUE then
|
|
if Handle <> INVALID_HANDLE_VALUE then
|
|
begin
|
|
begin
|
|
Windows.FindClose(Handle);
|
|
Windows.FindClose(Handle);
|
|
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
|
|
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
|
|
- If WinToDosTime(FindData.ftLastWriteTime,Result) then
|
|
|
|
- exit;
|
|
|
|
|
|
+ If WinToDosTime(FindData.ftLastWriteTime,tmpdtime) then
|
|
|
|
+ begin
|
|
|
|
+ result:=tmpdtime;
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
Result := -1;
|
|
Result := -1;
|
|
end;
|
|
end;
|
|
@@ -565,6 +569,8 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
Function FindMatch(var f: TAbstractSearchRec; var Name: UnicodeString) : Longint;
|
|
Function FindMatch(var f: TAbstractSearchRec; var Name: UnicodeString) : Longint;
|
|
|
|
+var
|
|
|
|
+ tmpdtime : longint;
|
|
begin
|
|
begin
|
|
{ Find file with correct attribute }
|
|
{ Find file with correct attribute }
|
|
While (F.FindData.dwFileAttributes and cardinal(F.ExcludeAttr))<>0 do
|
|
While (F.FindData.dwFileAttributes and cardinal(F.ExcludeAttr))<>0 do
|
|
@@ -576,7 +582,8 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
{ Convert some attributes back }
|
|
{ Convert some attributes back }
|
|
- WinToDosTime(F.FindData.ftLastWriteTime,F.Time);
|
|
|
|
|
|
+ WinToDosTime(F.FindData.ftLastWriteTime,tmpdtime);
|
|
|
|
+ F.Time:=tmpdtime;
|
|
f.size:=F.FindData.NFileSizeLow+(qword(maxdword)+1)*F.FindData.NFileSizeHigh;
|
|
f.size:=F.FindData.NFileSizeLow+(qword(maxdword)+1)*F.FindData.NFileSizeHigh;
|
|
f.attr:=F.FindData.dwFileAttributes;
|
|
f.attr:=F.FindData.dwFileAttributes;
|
|
Name:=F.FindData.cFileName;
|
|
Name:=F.FindData.cFileName;
|
|
@@ -627,10 +634,14 @@ end;
|
|
Function FileGetDate (Handle : THandle) : Int64;
|
|
Function FileGetDate (Handle : THandle) : Int64;
|
|
Var
|
|
Var
|
|
FT : TFileTime;
|
|
FT : TFileTime;
|
|
|
|
+ tmpdtime : longint;
|
|
begin
|
|
begin
|
|
If GetFileTime(Handle,nil,nil,@ft) and
|
|
If GetFileTime(Handle,nil,nil,@ft) and
|
|
- WinToDosTime(FT,Result) then
|
|
|
|
- exit;
|
|
|
|
|
|
+ WinToDosTime(FT,tmpdtime) then
|
|
|
|
+ begin
|
|
|
|
+ result:=tmpdtime;
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
Result:=-1;
|
|
Result:=-1;
|
|
end;
|
|
end;
|
|
|
|
|