AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Herausfinden wann ene Dtaei zuletzt geöffnet wurde
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden wann ene Dtaei zuletzt geöffnet wurde

Ein Thema von phlux · begonnen am 16. Jul 2003 · letzter Beitrag vom 16. Jul 2003
Antwort Antwort
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#1

Herausfinden wann ene Dtaei zuletzt geöffnet wurde

  Alt 16. Jul 2003, 11:33
Hi!
Ich hab verschiedene Ordner wo ich irgendwelche Files aufbewahre, jedoch ist meine Ordnung nach dem Motto aus den Augen aus dem sind, deshalb möchte ich ein dDelphiprogramm schrieben das mir sagt wann ich eine Datei zuletzt geöffnet habe, sprich benutzt, falls diese dann länger als ein angegebener zeitraum nicht mehr genutzt wurde soll eine gegebene Aktion stattfinden. Meine Frage nun, wie finde ich heraus wann eine Datei zu letzte geöffnet wurde???


mfg phlux
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: Herausfinden wann ene Dtaei zuletzt geöffnet wurde

  Alt 16. Jul 2003, 11:38
meinst du das Änderungsdatum? Wenn du das Änderungsdatum meinst, dann kuck dir das hier mal an
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Herausfinden wann ene Dtaei zuletzt geöffnet wurde

  Alt 16. Jul 2003, 11:41
Dazu benötigst Du die Funktion GetFileAttributesEx. Die liefert Dir die letzte Zugriffszeit zurück. ( MSDN) Verfügbar ab Windows 98 / Windows NT 4.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#4

Re: Herausfinden wann ene Dtaei zuletzt geöffnet wurde

  Alt 16. Jul 2003, 11:42
Ich habe gerade in meiner privaten Code-Library diesen Code gefunden:
Delphi-Quellcode:
function GetFileTimes(const FileName: string; var Created: TDateTime;
var Accessed: TDateTime; var Modified: TDateTime): Boolean;
var
  h: THandle;
  Info1, Info2, Info3: TFileTime;
  SysTimeStruct: SYSTEMTIME;
  TimeZoneInfo: TTimeZoneInformation;
  Bias: Double;
begin
  Result := False;
  Bias := 0;
  h := FileOpen(FileName, fmOpenRead or fmShareDenyNone);
  if h > 0 then
  begin
    try
      if GetTimeZoneInformation(TimeZoneInfo) <> $FFFFFFFF then
        Bias := TimeZoneInfo.Bias / 1440; // 60x24
      GetFileTime(h, @Info1, @Info2, @Info3);
      if FileTimeToSystemTime(Info1, SysTimeStruct) then
        Created := SystemTimeToDateTime(SysTimeStruct) - Bias;
      if FileTimeToSystemTime(Info2, SysTimeStruct) then
        Accessed := SystemTimeToDateTime(SysTimeStruct) - Bias;
      if FileTimeToSystemTime(Info3, SysTimeStruct) then
        Modified := SystemTimeToDateTime(SysTimeStruct) - Bias;
      Result := True;
    finally
      FileClose(h);
    end;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  Date1, Date2, Date3: TDateTime;
begin
  if GetFileTimes(Edit1.Text, Date1, Date2, Date3) then
  begin
    ShowMessage('Created: ' + DateTimeToStr(Date1));
    ShowMessage('Last Accessed: ' + DateTimeToStr(Date2));
    ShowMessage('Last Modified: ' + DateTimeToStr(Date3));
  end;
end;
Der sollte nun auch das letzte Zugriffsdatum liefern.
Wenn ich mich nicht irre, kommt der Code von Swissdelphicenter
Alexander
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Herausfinden wann ene Dtaei zuletzt geöffnet wurde

  Alt 16. Jul 2003, 11:42
Moin Phlux,

wenn Du Dir die Dateien mit FindFirst... auswählst, hast Du im TSearchRec.FindData Zugriff auf eine TWin32FindData Struktur. Diese entspricht der WIN32_FILE_ATTRIBUTE_DATA der API und enthält unter anderem den Eintrag LastAccessTime.

Wichtig ist, dass jeder andere Zugriff auf die Datei, und sei es ein anklicken im Explorer um sich die Eigenschaften anzusehen, oder ein Auswählen im OpenDialog, die LastAccessTime ändert.
Geöffnet bekommst Du also nicht damit heraus.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#6

Re: Herausfinden wann ene Dtaei zuletzt geöffnet wurde

  Alt 16. Jul 2003, 21:09
N'abend
Ich denke das Alexanders Vorschlag die Lösung ist, werds mal ausprobieren werd mich mal nochmal melden falls es nicht klappt.
Thx für die vielen Antworten

mfg phlux
Christian "phlux" Arndt
  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 00:50 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