Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 02.08.03 21:01 
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:
ausblenden 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 ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
Tryer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 226
Erhaltene Danke: 7



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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......

_________________
MFG
Michael Springwald, "kann kein englisch...."
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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 ???

_________________
MFG
Michael Springwald, "kann kein englisch...."
Tryer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 226
Erhaltene Danke: 7



BeitragVerfasst: Sa 02.08.03 23:58 
Ist vielleicht noch ein FileTimeToLocalFileTime nötig ?

MfG,
Tryer
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 03.08.03 00:42 
FindFirst liefert wohl das Datum und ie Uhrzeit als UTC-Zeit.
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 03.08.03 10:52 
was heiß "UTC-Zeit"?
werde ich mal ausprobieren...

_________________
MFG
Michael Springwald, "kann kein englisch...."
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 03.08.03 11:03 
was heiß "UTC-Zeit"?
werde ich mal ausprobieren...

Edit:
es funktioniert, die zeiten werden richtig ausgeben, danke....

_________________
MFG
Michael Springwald, "kann kein englisch...."
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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.

_________________
MFG
Michael Springwald, "kann kein englisch...."
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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?
Tryer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 226
Erhaltene Danke: 7



BeitragVerfasst: So 03.08.03 13:45 
Das Posting sollte wohl eigentlich da hin ;)

MfG,
Tryer