Fileexists liefert für Dateien, die älter sind als Delphi 7 erlaubt (also vor dem 01.01.1970) den Wert FALSE.
function FileExists(const FileName: string): Boolean;
{$IFDEF MSWINDOWS}
begin
Result := FileAge(FileName) <> -1;
end;
{$ENDIF}
function FileAge(const FileName: string): Integer;
{$IFDEF MSWINDOWS}
var
Handle: THandle;
FindData: TWin32FindData;
LocalFileTime: TFileTime;
begin
Handle := FindFirstFile(PChar(FileName), FindData);
if Handle <> INVALID_HANDLE_VALUE then
begin
Windows.FindClose(Handle);
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi,
LongRec(Result).Lo) then Exit;
end;
end;
Result := -1;
end;
{$ENDIF}
Die Datei ist ein Foto und wurde von einer Kamera mit dem Datum 0 aufgenommen:
In den EXIF-Daten steht das Datum 01.01.1970
Das Dateidatum ist:
$ ls -l
-rw-r--r-- 1 wnf wnf 2815785 Nov 25 1961 PICT0003.JPG
Tags: Delphi-Programmierung