Hallo,
ich hab gerade festgestellt, daß das Dateidatum falsch ausgelesen wird.
und zwar wird das z.B. bei einem (LastChange)Dateidatum vom 1.1.1970 2:22:13 in der Variablen SearchRec.time gar nicht aktualisiert. Es wird [in der Schleife] einfach das des vorherigen beibehalten, bis wieder eine Datei mit einem gültigen Datum kommt.
Was kann ich denn tun?
ich mein - der Dateimanager zeigt doch auch das richtige Datum (1.1.1970) an?
Kann vielleicht einer eine Lösung für Delphi5 geben?
(Weiß ja nciht, ob die neuren Delphi's das schon alles nicht mehr müssen ....)
Delphi-Quellcode:
procedure GetAllFiles2(mask: string);
var searchRec: TSearchRec; begin
if FindFirst(mask, $23, search) = 0 then
begin
repeat
nummer := nummer + 1;
Form1.MeinARray[Nummer].DTime := FileDateToDateTime(searchRec.time);
until FindNext(searchRec) <> 0;
end;end;
Delphi-Quellcode:
// Unterverzeichnisse scannen
if FindFirst(directory + '*.*', faDirectory, search) = 0 then
begin
repeat
if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> '.') then
GetAllFiles(directory + search.Name + '\' + ExtractFileName(mask));
until FindNext(search) <> 0;
FindClose(search);
end;
und wo ich schon einmal dabei bin ... ich möchte das Dateidatum auch möglichst präzise als NICHT-Rational speichern (am besten als was ganzzahliges)
also hab ich das mal mit z.B: 100.000 mal genommen und wollte dann alle Reste abschneiden.
FullTIME := trunc(100000 * FileDateToDateTime(search.time));
Dummerweise wird FullTime dann aber negativ.
Kennt jemand noch ne andere Möglichkeit das Dateidatum irgendwie als Zahl
und später auch als String exportier und zurück importierbar zu speichern?
Danke Euch. Wäre wirklich nett.