Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Alternative zu FileAge? (https://www.delphipraxis.net/59036-alternative-zu-fileage.html)

hitzi 16. Dez 2005 08:24


Alternative zu FileAge?
 
Hallo,

ab Delphi 2006 ist FileAge als "deprecated" markiert. Welche Alternative hat man dann direkt über den Dateinamen und ohne die Datei zu öffnen das Dateidatum zu ermitteln?

Gruss
Thomas

marabu 16. Dez 2005 08:56

Re: Alternative zu FileAge?
 
Hallo Thomas,

die Funktionen für die Dateiverwaltung (FindFirst, FindNext,...) liefern dir alle Informationen, die das Dateisystem unter Windows bereit hält. Schau dir dazu mal TSearchRec.FindData.ftCreationTime an.

Grüße vom marabu

Bernhard Geyer 16. Dez 2005 09:05

Re: Alternative zu FileAge?
 
Zitat:

Zitat von marabu
die Funktionen für die Dateiverwaltung (FindFirst, FindNext,...) liefern dir alle Informationen, die das Dateisystem unter Windows bereit hält. Schau dir dazu mal TSearchRec.FindData.ftCreationTime an.

FindFirstFile basiert doch auf diesen Funktionen. Es ist ein anderes Problem...
Es gibt 'ne überladenen Version von FileAge (function FileAge(const FileName: string; out FileDateTime: TDateTime): Boolean;) die nicht das Problem hat das -1 der Kennzeichner ist das es die Datei nicht gibt (Siehe Kommentare in SysUtils.pas

marabu 16. Dez 2005 09:23

Re: Alternative zu FileAge?
 
Hallo Bernhard,

wenn du wüsstest, wie oft ich deinen Beitrag lesen musste, bevor er für mich einen Sinn ergab. Ich habe zwar kein D2006, aber der Grund für die Einstufung als deprecated scheint mir nicht die -1 für das FILENOTFOUND signaling zu sein, sondern man will wohl endlich die Kompatibilität zu MS DOS 1.1 los werden. Schön, dass es schon eine alternative Implementierung von FileAge gibt.

Freundliche Grüße vom marabu

Bernhard Geyer 16. Dez 2005 09:29

Re: Alternative zu FileAge?
 
Zitat:

Zitat von marabu
wenn du wüsstest, wie oft ich deinen Beitrag lesen musste, bevor er für mich einen Sinn ergab. Ich habe zwar kein D2006, aber der Grund für die Einstufung als deprecated scheint mir nicht die -1 für das FILENOTFOUND signaling zu sein, sondern man will wohl endlich die Kompatibilität zu MS DOS 1.1 los werden. Schön, dass es schon eine alternative Implementierung von FileAge gibt.

Die Implementierung ist praktisch identisch bis darauf da mittels abschließenden Aufruf von EncodeDate und Encode/EncodeTime das Ergebnis noch nach TDateTime gewandelt wird.

himitsu 16. Dez 2005 09:51

Re: Alternative zu FileAge?
 
Also könnte dieses deprecated wohl daruaf zurückzuführen sein, daß Borland jetzt langsam mal versucht ein einheitliches Zeitformat zu verwenden?

Bernhard Geyer 16. Dez 2005 10:12

Re: Alternative zu FileAge?
 
Zitat:

Zitat von himitsu
Also könnte dieses deprecated wohl daruaf zurückzuführen sein, daß Borland jetzt langsam mal versucht ein einheitliches Zeitformat zu verwenden?

Macht doch Borland schon. Borland kann doch nichts dafür das es in der WinAPI mehrere unterschiedliche Repräsentationen für Zeitstempel gibt. Da gibt es halt von MS-Seite her Wildwuchs. Jetzt gibt es halt eine Version von FileAge die alle NTFS-Möglichen Zeitstempel abbilden kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz