Einzelnen Beitrag anzeigen

Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#1

Dateidatum auslesen liefert nur "Nullen"

  Alt 15. Jul 2008, 14:11
Hallo,

ich hab jetzt zwei verschiedene Methoden verwendet um das Datum von Dateien aus einem Netzwerkordner auszulesen. Die Dateien sind physisch vorhanden und zeigen in den Dateieigenschaften über den Explorer auch normale Informationen an.

Zur Fehlersuche verwende ich momentan folgendes:

Delphi-Quellcode:
    u := QuotedStr( q_FileLinkTemp.FieldByName('dirlink').AsString + q_FileLinkTemp.FieldByName('filelink').AsString );
    s := GetFileDate( u );
    try
        t := DateToStr( FileDateToDateTime( FileAge( u ) ) );
    except
      t := '0';
    end;
hier die GetFileData Funktion:
Delphi-Quellcode:

function Tf_main.GetFileDate(const aName:String):String;
var fh :THandle;
    fdata :TWin32FindData;
    ft, wt :TFileTime;
    st :TSystemTime;
begin
{  if FileExists(aName) then
  begin
    Result := FormatDateTime('yyyy-mm-dd', FileDateToDateTime(FileAge(aName)));
  end
  else
  begin
    Result := FormatDateTime('yyyy-mm-dd',MaxInt);
  end;
}

  Result:='';
  fh:=FindFirstFile(PChar(aName), fdata);
  if (fh<>Invalid_Handle_Value) then
  begin
    ft:=fdata.ftLastWriteTime;

    FileTimeToLocalFileTime(ft, wt);
    FileTimeToSystemTime(wt, st);
    with st do Result:=Format('%0.2d.%0.2d.%0.4d', [wDay, wMonth, wYear]);
  end; // If
  Windows.FindClose(fh);

end;
Als Ergebnis erhalte ich eben bei beiden Methoden 0 (aus dem TryExcept) oder "0000-00-00" (aus der Funktion). Und da es sich um knapp 400.000 Dateien handelt, die nicht "auslesbar" sind, kann ich einen Einzelfall ausschließen.


Danke euch!
  Mit Zitat antworten Zitat