AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zuletzt geänderte Datei finden

Ein Thema von Tim Henford · begonnen am 11. Nov 2007 · letzter Beitrag vom 11. Nov 2007
Antwort Antwort
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#1

zuletzt geänderte Datei finden

  Alt 11. Nov 2007, 15:32
Hallo,

also, ich habe einenn Odner mit Dateien die in etwa alle so heißen:
abc_14_12_2006 16_20_16.txt
abc_14_12_2006 13_22_18.txt
abc_10_07_2006 12_20_16.txt
...

Nun möchte ich aus diesen Dateien möglichst schnell die finden, die die neuste ist.

Muss ich da jede mit jeder vergeleichen oder gibt es da eine schnellere Variante? Der Explorer kann die Dateien ja auch schön nach letzter Änderung sortieren, aber via Delphi??


Danke Tim
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#2

Re: zuletzt geänderte Datei finden

  Alt 11. Nov 2007, 15:40
Hallo,

ich habe mal etwas ähnlichers gemacht.
Lesen der Dateien mir "findFirst" und "FindNext"
Danach habe ich die Dateiattribute gelesen "FileGetAttr" und nach Zeit sortiert.
Fertig.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#3

Re: zuletzt geänderte Datei finden

  Alt 11. Nov 2007, 15:43
So also folgende Funktion liefert mir erstmal alle Dateien eines Ordners, das klappt soweit...

Delphi-Quellcode:
function allFiles(Verzeichnis, Endung: string): TStringList;
var
  SR : TSearchRec;
begin
  result:= TStringList.Create;
  if Verzeichnis[length(Verzeichnis)]<>'\then
    Verzeichnis:=Verzeichnis+'\';
  if FindFirst(Verzeichnis+Endung,$3F,SR)=0 then begin
    repeat
      if (SR.Name<>'.') and (SR.Name<>'..') and (SR.Attr<>faDirectory) then
        result.Add(SR.Name);
    until FindNext(SR)<>0;
    FindClose(SR);
  end;
end;

...aber wie nun nach Zeit sortieren?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#4

Re: zuletzt geänderte Datei finden

  Alt 11. Nov 2007, 16:02
Wenn es nicht um Sortierung geht, sondern nur darum, herauszufinden, welche Datei zuletzt geändert wurde, kannst Du es mal hiermit versuchen (schnell getippselt, kann noch Fehler enthalten):
Delphi-Quellcode:
function FindLatestModified(sPath: string): string;
var Data: TWin32FindData;
    LastModified: TDateTime;
    sTime: TSystemTime;
    FindHandle: Cardinal;
begin
  LastModified := 0;
  Result := '';
  sPath := IncludeTrailingPathDelimiter(sPath);
  FindHandle := FindFirstFile(PChar(sPath + '*.*'),Data);
  if FindHandle <> INVALID_HANDLE_VALUE then
    begin
      repeat
        if ((Data.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0) then
          begin
            FileTimeToSystemTime(Data.ftLastWriteTime,sTime);
            if (SystemTimeToDateTime(sTime) > LastModified) then
              begin
                LastModified := SystemTimeToDateTime(sTime);
                Result := Data.cFileName;
              end;
          end;
      until not FindNextFile(FindHandle,Data);
      Windows.FindClose(FindHandle);
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 04:31 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