Autor Beitrag
funkymick
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 04.06.04 12:32 
Hallo, möchte das Erstelldatum eines Ordners auslesen. Benutze dazu die funktion GetFileAttributesEx... das datum+uhrzeit soll dann als TDateTime zurückgegeben werden... mein quellcode sieht so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function GetFileCreationDateTime(Filename:String):TDateTime;
var t:TWin32FileAttributeData;
    Zeit:SYSTEMTIME;
begin
 GetFileAttributesEx(pchar(FileName),GetFileExInfoStandard,@t);
 FileTimeToSystemTime(t.ftCreationTime,Zeit);
 Result:=SystemTimeToDateTime(zeit);
end;


Das dumme ist im windows-eigenschaften fenster wird mir die erstellzeit 9:44 angezeigt, was auch richtig ist. der TDateTime gibt mir aber 7:44 zurück...

jemand ne idee, was ich da beachten muss? vielleicht die verschiebung der zeit durch die zeitzone oder so? wenn ja: was muss ich ändern, damit ich auch die richtige zeit zurückbekomme?


Zuletzt bearbeitet von funkymick am Fr 04.06.04 14:07, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 04.06.04 12:47 
Zitat:

jemand ne idee, was ich da beachten muss?

Die Zeitzone und Sommer- / Winterzeit würde ich sagen.
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Fr 04.06.04 12:47 
Hallo,

kannst du um deinen Code bitte [delphi] und [/delphi] schreiben?
Oder Du markierst dienen Source-Code und klickst den Delphi-Button oben.

Damit kann man den Quelltext wesentlich leichter lesen weil die Syntax hervorgehoben wird.

Danke.

PS: :welcome:

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
funkymick Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 04.06.04 14:12 
Luckie hat folgendes geschrieben:
Zitat:

jemand ne idee, was ich da beachten muss?

Die Zeitzone und Sommer- / Winterzeit würde ich sagen.


so hab es jetzt vollständig... inklusive abfrage der sommer / winterzeit und zeitverschiebung... hat auch lange genug gedauert... :roll:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function GetFileCreationDateTime(Filename:String):TDateTime;
var t:TWin32FileAttributeData;
    Zeit:SYSTEMTIME;
    MyTimeZoneInformation: TTimeZoneInformation;
    Bias:Double;
begin
 result:=now;
 if not (FileExists(Filename) or DirectoryExists(Filename)) then exit;
 case GetTimeZoneInformation(MyTimeZoneInformation) of
  1: Bias := (MyTimeZoneInformation.StandardBias+MyTimeZoneInformation.Bias) / 1440;
  2: Bias := (MyTimeZoneInformation.DaylightBias+MyTimeZoneInformation.Bias) / 1440;
 else
  Bias:=0
 end;
 GetFileAttributesEx(pchar(FileName),GetFileExInfoStandard,@t);
 FileTimeToSystemTime(t.ftCreationTime,Zeit);
 Result:=SystemTimeToDateTime(zeit)-Bias;
end;
Bollwerk
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 18.08.04 10:37 
TSearchrec...

Um an das Datum zu kommen geht das doch mit der Routine

FindNext

schneller ?
aber einfacher zu lesen ;)

Aber dank der routine hat man wieder ein paar funktionen dazugelernt....