AGB  ·  Datenschutz  ·  Impressum  







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

GetLastWriteTime ohne Exception?

Ein Thema von a.def · begonnen am 22. Mär 2017 · letzter Beitrag vom 24. Mär 2017
Antwort Antwort
Seite 2 von 2     12   
a.def
(Gast)

n/a Beiträge
 
#11

AW: GetLastWriteTime ohne Exception?

  Alt 23. Mär 2017, 11:03
Ich benutze jetzt TDirectory.Exists und TFile.Exists vorher.

Wenn eine Datei nicht existiert geht das damit wesentlich schneller als ohne denn ohne scheint der pro Datei etwa 1 bis 2 Sekunden im Dateisystem oder woanders noch zu suchen.

Delphi-Quellcode:
function TForm8.getPathLastWriteTime(const aPathName: string): TDateTime;
begin
 if JclFileUtils.DirectoryExists(aPathName) then
  begin
   try
    Result := FileTimeToDateTime(JclFileUtils.GetFileLastWrite(ExcludeTrailingBackslash(aPathName))); // mit "/" am Ende bekommt man kein Resultat
   except
    Result := 0;
   end;
  end
 else
  Result := 0;
end;

function TForm8.getFileLastWriteTime(const aFileName: string): TDateTime;
begin
 if JclFileUtils.FileExists(aFileName) then
  begin
   try
    Result := FileTimeToDateTime(JclFileUtils.GetFileLastWrite(aFileName));
   except
    Result := 0;
   end;
  end
 else
  Result := 0;
end;
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: GetLastWriteTime ohne Exception?

  Alt 23. Mär 2017, 12:12
EDIT:
Ich sehe Exceptions als Fehler an, nicht als Feature zur Businesslogik.
Ich denke, sooo schlimm ist das nicht. Wenn ich mich richtig erinnere ist für Windows eine Datei im Zugriff vorhanden, oder aber nicht, und es gibt einiges was den Zugriff verhindern kann. Ein Fileexists prüft ja nur, ob es einen Eintrag im Dateisystem für einen Dateinamen gibt. Wenn Du also weißt was Du tust, ist Fileexists brauchbar ansonsten bist Du mit der Methode "die Datei ist zu öffnen oder nicht" auf der sicheren Seite.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.095 Beiträge
 
Delphi 12 Athens
 
#13

AW: GetLastWriteTime ohne Exception?

  Alt 24. Mär 2017, 12:02
Exception: Wenn ich die nicht korrekt abfange fliegt mir u.U. wer weiss was um die Ohren.
Muss dann immer try except finally reinbauen und lokal drauf reagieren.
Kann aber viellleicht halb bearbeitet sein, halb nicht.

Da kann ich auch gleich FileExist und an der richtigen Stelle im Code korrekt reagieren.

Edit:
Nenn mich ruhig old-shool

Rollo

Geändert von Rollo62 (24. Mär 2017 um 12:04 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09:41 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