Entwickler-Ecke
Dateizugriff - DateiInfos
mimi - Sa 02.08.03 21:01
Titel: DateiInfos
Hallo,
habe die suchfunktion gefunden wurde auch fündig, doch leider geht das nicht was ich haben will.
ich brauche folgnede infos von der datei
1: Erstellungs Datum\Uhrzeit der Datei
2: Änderungs Datum\Uhrzeit der Datei
3: Letzer lese zugrief der datei
habe es mit folgender funktion versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TMfa.Packe; var Datei:TStream; i,len:Integer; DateiHeader:String; begin Datei := TFileStream.Create(FileName, fmCreate); Len:=Dateien.Count; Datei.Write(Len, SizeOf(Len));
for i:=0 to Dateien.Count-1 do begin DateiHeader:=Dateien.Strings[i] + ';' + DateTimeToStr(FileDateToDateTime(FileAge(Dateien.Strings[i]))) + ';' + DateTimeToStr(FileTimeToDateTime(GetFileLastWrite(Dateien.Strings[i]))) + ';' + DateTimeToStr(FileTimeToDateTime(GetFileLastAccess(Dateien.Strings[i])))+ ';' + 'Größe' + ';' + 'Beschreibung' + ';' + 'PositionA' + ';' + 'PositionE'; Len:=StrLen(PChar(DateiHeader)); Datei.Write(Len, SizeOf(Len)); Datei.Write(PChar(DateiHeader)^,Len); DateiHeader:=''; end; Datei.Free; end; |
doch leider wird immer nur der letzeschreibzugrief abgespeicher warum ?
Tryer - Sa 02.08.03 22:39
- FileAge gibt auch nur den Zeitpunkt des letzten Schreibzugriffes an, liefert also nicht mehr Informationen als GetFileLastWrite.
- Das Datum des letzten Zugriffs wird im FAT / FAT32-Dateisystem nicht vermerkt, es steht nur unter NTFS zur Verfügung. (Und auch da nur optinal, das Speichern dieser Information läßt sich über die Registry abschalten)
MfG,
Tryer
mimi - Sa 02.08.03 22:45
achso, aber wenn ich auf ein laufwerk bin was mit fat16 ? fomatier ist zeigt mir windows auch diese infos an oder dos....
und wie kann ich das jetzt machen ?
arbeite heute zum erstenmal mit TFieleStream und habe das primzip auch soweit verstanden.
jetzt wollte ich einfach ein arichvprogramm schreiben(so wie tar)
und wollte das oben der datei hader steht der soll folgender masen aufgebaut sein:
Verzeichnisname + Dateiname; Erstellungsdatum\Uhrzeit der datei Lezterzugrif(Datum\Uhrzeit); Letzer schreibzugrief: Datei Größe. und noch die position wie das progamm die datei findet wie und wie weit es lesen darf......
mimi - Sa 02.08.03 23:09
ich habe das jetzt soweit geschaft, doch leider sind diese funktionen womit ich es mache zwei stunden zurück wie ich gemerkt habe.
ich nutze FindFirst und fertig.
aber egal welche funktion ich nutz delphi ist zwei stunden zurück wobei die Windows uhr genau geht, wie kann ich Delphi beibringen das es zwei stunden dazurechnet ???
Tryer - Sa 02.08.03 23:58
Ist vielleicht noch ein FileTimeToLocalFileTime nötig ?
MfG,
Tryer
Delete - So 03.08.03 00:42
FindFirst liefert wohl das Datum und ie Uhrzeit als UTC-Zeit.
mimi - So 03.08.03 10:52
was heiß "UTC-Zeit"?
werde ich mal ausprobieren...
mimi - So 03.08.03 11:03
was heiß "UTC-Zeit"?
werde ich mal ausprobieren...
Edit:
es funktioniert, die zeiten werden richtig ausgeben, danke....
mimi - So 03.08.03 12:55
weiß den fehler:
1. D = 4
2. D = 140
3. D = 276
4. D = 412
kann mir wer ne rechnung sagen wie ich jetzt die postion erechnen kann da folgendes passieren kann:
die länge der datensätze ist variable und die pos kann es auch sein.
Delete - So 03.08.03 13:42
Was hast du jetzt für ein Problem mit "Datensätzen"? Ich dachte es geht um das Datum und die Zeit?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!