Announcement

Collapse
No announcement yet.

FileTime

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • FileTime

    Hi !

    Ich habe es mit der Suche hier schon mal versucht aber nichts passendes gefunden.
    Auch die Hilfe im Builder sagt mir mit meinem bisherigen Wissen nicht viel ;-)))
    Ich brauche einen Syntax der mir das Erstellungsdatum bzw Zeit einer bestimmten
    Datei anzeigt und zwar im Klartext ( int, char oder String ) so das ich das mit TEdit
    anzeigen kann.
    Könnte mir da jemand weiterhelfen ??

    Mfg Raldus

  • #2
    <br>
    //---------------------------------------------------------------------------<br>
    // @Member bestimmt das Datum der übergebenen Datei<br>
    // @Returns int32_t Datum im Format YYYYYMMDD, bei Fehler 0<br>
    //---------------------------------------------------------------------------<br>
    int32_t GetFileDateAsLong(<br>
    const string& strFilename // @Arg Dateiname (IN)<br>
    )<br>
    {<br>
    long lDate = 0;<br>
    HANDLE hFile;<br>
    SYSTEMTIME sSystemTime;<br>
    FILETIME sFileTime;<br>
    <br>
    // hole Dateihandle<br>
    hFile = CreateFile(strFilename.c_str(),<br>
    GENERIC_READ,<br>
    0,<br>
    NULL,<br>
    OPEN_EXISTING,<br>
    FILE_ATTRIBUTE_NORMAL ,<br>
    NULL);<br>
    <br>
    if (hFile)<br>
    {<br>
    // hole das Dateidatum<br>
    GetFileTime(hFile, NULL, NULL, &sFileTime);<br>
    <br>
    // wandle in Sytemdatum um<br>
    FileTimeToSystemTime(&sFileTime, &sSystemTime);<br>
    <br>
    // erzeuge long im Format yyyymmdd<br>
    lDate = sSystemTime.wYear * 10000L;<br>
    lDate += sSystemTime.wMonth * 100;<br>
    lDate += sSystemTime.wDay;<br>
    <br>
    // schließe Dateihandle<br>
    CloseHandle(hFile);<br>
    }<br>
    <br>
    return lDate;<br>
    }<br>
    <br>
    //---------------------------------------------------------------------------<br>
    // @Member bestimmt die Zeit der letzten Änderung der übergebenen Datei<br>
    // @Returns int32_t Zeit im Format hhmmss, bei Fehler 0<br>
    //---------------------------------------------------------------------------<br>
    int32_t GetFileTimeAsLong(<br>
    const string& strFilename // @Arg Dateiname (IN)<br>
    )<br>
    {<br>
    long lTime = 0;<br>
    HANDLE hFile;<br>
    SYSTEMTIME SystemTime;<br>
    FILETIME FileTime;<br>
    <br>
    // hole Dateihandle<br>
    hFile = CreateFile(strFilename.c_str(),<br>
    GENERIC_READ,<br>
    0,<br>
    NULL,<br>
    OPEN_EXISTING,<br>
    FILE_ATTRIBUTE_NORMAL,<br>
    NULL);<br>
    <br>
    if (hFile)<br>
    {<br>
    // hole das Dateidatum<br>
    GetFileTime(hFile, NULL, NULL, &FileTime);<br>
    <br>
    // wandle in Sytemdatum um<br>
    FileTimeToSystemTime(&FileTime, &SystemTime);<br>
    <br>
    // erzeuge long im Format hhmmss<br>
    lTime = SystemTime.wHour * 10000L;<br>
    lTime += SystemTime.wMinute * 100;<br>
    lTime += SystemTime.wSecond;<br>
    <br>
    // schließe Dateihandle<br>
    CloseHandle(hFile);<br>
    }<br>
    <br>
    return lTime;<br>
    }<br&gt

    Comment


    • #3
      Hallo und vielen Dank jetzt hats gefunkt !!!

      Ich habe die Sache so beendet :
      .
      .
      .
      .

      // wandle in Sytemdatum um
      FileTimeToSystemTime(&sFileTime, &sSystemTime);

      CloseHandle(hFile);
      }

      Edit1->Text = DateTimeToStr(SystemTimeToDateTime(sSystemTime));

      Gruß Raldu

      Comment

      Working...
      X