AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FindFirst TSearchRec setzen

Ein Thema von DelTurbo · begonnen am 12. Mai 2018 · letzter Beitrag vom 14. Mai 2018
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#4

AW: FindFirst TSearchRec setzen

  Alt 13. Mai 2018, 09:57
CreationTime wird IMHO niemals von einer WinAPI kopiert,
wenn die Datei irgendwo neu erstellt wird.

Beim MoveFile innerhalt der selben Partition gibt es eine Ausnahme, denn dabei wird nicht die Datei, sondern nur ihr Verzeichniseintrag bearbeitet.


Was das LastAccess-Datum betrifft, da könnte man sich streiten und ich weiß es jetzt auch nicht, aber da für den Kopiervorgang auf die originale Datei zugegriffen werden muß, so besteht nunmal ein Zugriff (LastAccess) und ich wäre nicht überrascht wenn sich diese Datum ändert.



Beim LastWrite könnte man nun sagen, dass die Datei eigentich neu beschrieben wird und sich somit das Datum ändern müsste, aber wenn man einfach bedenkt, dass "LastWrite" eigentlich mehr sowas wie letzte Änderung des Dateiinhaltes bedeudet, dann wird eher klar, warum diese Copy-APIs dieses Datum nach dem Erstellen der Kopie zurück setzen.


Mein Vorschlag wäre auch, dass mit CopyFileEx oder Dergleichen erstmal kopiert und dann anschließend die gewünschten Daten/Attribute nochmal gesetzt werden.
GetFileTime SetFileTime ... allerdings ohne unnötiges zwischenzeitliches Umwandeln der Zeitangaben, also einfach die 3 Werte direkt übergeben
GetFileAttributes SetFileAttributes

dwReserved0, dwReserved1 das kannst du vergessen, denn das sind keine Werte.

Und wenn es um Verschlüsselung oder Komprimierung geht, entweder schauen dass die genutzte WinAPI das mit kopiert.
Gerade bei Diesem und den Rechten nimmt CopyFile/CopyFileEx wohl oftmals nichts mit und übernimmt die Vorgaben des Zielverzeichnisses,
aber MSDN-Library durchsuchenSHFileOperation wäre dann eine Überlegung wert, da dieses teilweise mehr macht, zumindestens die Berechtigungen sollten da mitgenommen werden können.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (13. Mai 2018 um 09:59 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 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