AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi GetFileTimes liefert mir ein anderes datum zurück
Thema durchsuchen
Ansicht
Themen-Optionen

GetFileTimes liefert mir ein anderes datum zurück

Ein Thema von Karstadt · begonnen am 2. Mai 2006 · letzter Beitrag vom 2. Mai 2006
Antwort Antwort
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

GetFileTimes liefert mir ein anderes datum zurück

  Alt 2. Mai 2006, 10:39
Hallo. Habe diesen Code verwendet. http://www.delphipraxis.net/internal...t=getfiletimes ab und zu kommt es bei mir zu einem Datumswert war in der Vergangenheit liegt. Wie kann das passieren?

Wie kann ich das korregieren? Abfangen und heutiges datum zuweisen? bzw. kann ich das irgenwie "auslesen" wenn es mit der obengenannte function nicht geht?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: GetFileTimes liefert mir ein anderes datum zurück

  Alt 2. Mai 2006, 10:50
Zitat von Karstadt:
ab und zu kommt es bei mir zu einem Datumswert war in der Vergangenheit liegt.
Da hat meine interne Fehlerkorrektur versagt.

Aber bei mir liegen immer alle Datumswerte in der Vergangenheit, wo auch sonst. In der Gegenwart und der Zukunft können sie nicht liegen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#3

Re: GetFileTimes liefert mir ein anderes datum zurück

  Alt 2. Mai 2006, 11:12
1979 anstatt 2005
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#4

Re: GetFileTimes liefert mir ein anderes datum zurück

  Alt 2. Mai 2006, 12:40
Zitat von Karstadt:
kann ich das irgenwie "auslesen" wenn es mit der obengenannte function nicht geht?
Die Funktion hat einen Rückgabewert.

Ansonsten probiere es damit
Delphi-Quellcode:
function GetLocalFileTimes(const FileName: string; out Created, Accessed, Modified: TDateTime): Boolean;
var
  FileHandle: THandle;
  CreationTime: TFileTime;
  LastAccessTime: TFileTime;
  LastWriteTime: TFileTime;
  LocalCreationTime: TFileTime;
  LocalLastAccessTime: TFileTime;
  LocalLastWriteTime: TFileTime;
  SystemCreationTime: TSystemTime;
  SystemLastAccessTime: TSystemTime;
  SystemLastWriteTime: TSystemTime;
begin
  Result := False;
  FileHandle := CreateFile(PChar(FileName), GENERIC_READ, FILE_SHARE_READ or
    FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, THandle(nil));
  if FileHandle <> INVALID_HANDLE_VALUE then
  try
    if GetFileTime(FileHandle, @CreationTime, @LastAccessTime, @LastWriteTime) and
      FileTimeToLocalFileTime(CreationTime, LocalCreationTime) and
      FileTimeToLocalFileTime(LastAccessTime, LocalLastAccessTime) and
      FileTimeToLocalFileTime(LastWriteTime, LocalLastWriteTime) and
      FileTimeToSystemTime(LocalCreationTime, SystemCreationTime) and
      FileTimeToSystemTime(LocalLastAccessTime, SystemLastAccessTime) and
      FileTimeToSystemTime(LocalLastWriteTime, SystemLastWriteTime) then
    begin
      try
        Created := SystemTimeToDateTime(SystemCreationTime);
        Accessed := SystemTimeToDateTime(SystemLastAccessTime);
        Modified := SystemTimeToDateTime(SystemLastWriteTime);
        Result := True;
      except
        // ignore exceptions;
      end;
    end;
  finally
    CloseHandle(FileHandle);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Created: TDateTime;
  Accessed: TDateTime;
  Modified: TDateTime;
begin
  if GetLocalFileTimes(ParamStr(0), Created, Accessed, Modified) then
    ShowMessage(
      'Created: ' + DateTimeToStr(Created) + #13#10 +
      'Accessed: ' + DateTimeToStr(Accessed) + #13#10 +
      'Modified: ' + DateTimeToStr(Modified));
end;
BTW: Nicht alle Dateisysteme unterstüzen alle drei Zeiten...
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#5

Re: GetFileTimes liefert mir ein anderes datum zurück

  Alt 2. Mai 2006, 12:59
Vielen Dank! BS: Win 2000 und XP

was micht gewundert hat, das dieses fehlverhalten ab und zu auftritt. Ich kann mich erinnern das es irendwann mal so was gab Das bei machen Dateien nicht möglich war die Datumswerte auslesen. weis ich aber nicht warum.

PS: Die Bilder liegen auf eine SD Karte der Digitalkamera..
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:19 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