Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Änderungsdatum einer Datei abfragen (https://www.delphipraxis.net/22042-aenderungsdatum-einer-datei-abfragen.html)

seifman 11. Mai 2004 17:54


Änderungsdatum einer Datei abfragen
 
Hallo!

Ich stehe vor folgendem Problem: Ich soll einige Dateien in eine Zip-Datei packen, da diese dann verschickt werden soll muss sie also recht klein bleiben. Daher ist es ja sinnvoll, nur die Dateien in die Zip zu packen, die seit der letzten zusammenstellung geändert wurden. Nun zu meiner frage: Wie kann ist das Änderungsdatum jeder einzelnen Datei bestimmen? Dabei sollen auch alle Unterordner des gewählten verzeichnisses mit einbezogen werden.

Danke im Voraus.

seifman

Christian Seehase 11. Mai 2004 17:58

Re: Änderungsdatum einer Datei abfragen
 
Moin Seifmann,

such' hier mal nach Hier im Forum suchenGetFileTime

nieurig 11. Mai 2004 18:26

Re: Änderungsdatum einer Datei abfragen
 
Hallo Seifman,
Du könntest auch auf das gute alte Archiv-Bit von DOS zurückgreifen.
Im Prinzip müßte Dein Programm das Bit nach der Sicherung löschen. Wird die Datei geändert setzt Windows (DOS?) das Bit wieder.

Habe aber leider keine Ahnung wie du da ran kommst.
Niels

Duffy 11. Mai 2004 18:34

Re: Änderungsdatum einer Datei abfragen
 
Hallo nieurig,
das mit den Attributen geht so ...

Zitat:

Zitat von Delphi Hilfe
function FileGetAttr(const FileName: string): Integer;

C++ Syntax:

extern PACKAGE int __fastcall FileGetAttr(const AnsiString FileName);

Beschreibung

FileGetAttr gibt die Attribute der Datei als Bit-String zurück. Dieser Wert entspricht dem Feld Attr des Typs TSearchRec. Einzelne Attribute können Sie z.B. mit dem folgenden Code überprüfen:

Delphi-Beispiel:

Attrs := FileGetAttr('MyFile.sys');

if Attrs and faHidden <> 0 then
FileSetAttr('MyFile.sys', Attrs – faHidden);

Delphi-Beispiel:

int Attrs = FileGetAttr("MyFile.sys");

if (Attrs & faHidden)
FileSetAttr("MyFile.sys", Attrs & !faHidden);

Der Rückgabewert -1 gibt an, dass ein Fehler aufgetreten ist.

Hinweis: Unter TSearchRec finden Sie eine Beschreibung der einzelnen Attributkonstanten.
Hinweis: FileGetAttr ist nur unter Windows verfügbar.

und

Zitat:

Zitat von Delphi Hilfe
Delphi-Syntax:

function FileSetAttr(const FileName: string; Attr: Integer): Integer;

C++ Syntax:

extern PACKAGE int __fastcall FileSetAttr(const AnsiString FileName, int Attr);

Beschreibung

FileSetAttr setzt die Dateiattribute der in FileName angegebenen Datei auf den in Attr festgelegten Wert. Der Wert von Attr wird gebildet, indem die geeigneten Dateiattributkonstanten wie im folgenden kombiniert werden:

FileSetAttr('MyFile.sys', faReadOnly or faSysFile); // Delphi
FileSetAttr("MyFile.sys", faReadOnly | faSysFile); // C++

FileSetAttr gibt Null zurück, wenn die Funktion erfolgreich ausgeführt wurde. Ansonsten wird ein Fehlercode zurückgeliefert.

Hinweis: Unter TSearchRec finden Sie eine Beschreibung der einzelnen Attributkonstanten.
Hinweis: FileSetAttr ist nur unter Windows verfügbar.

bye
Claus

glkgereon 11. Mai 2004 18:45

Re: Änderungsdatum einer Datei abfragen
 
ich würd einfach die delphi-lösung nehmen, getfiletime oder getfiledate, guck mal in der oh in der unit DateTimeUtils, da müsste das drin sein


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 Uhr.

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