Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Herausfinden ob eine Datei existiert (https://www.delphipraxis.net/211495-herausfinden-ob-eine-datei-existiert.html)

Dennis07 26. Sep 2022 12:45

AW: Herausfinden ob eine Datei existiert
 
Grundsätzlich muss man auch beachten, dass FilExists leider unter Windows mglw. nicht korrekt True bzw. False, sondern 1 -1 bzw. 0 zurückliefert. Das hatte ich auch schonmal, deshalb am besten "not FileExists(...)" anstelle von "FileExists(...) = False" verwenden.

himitsu 26. Sep 2022 13:16

AW: Herausfinden ob eine Datei existiert
 
Gut, =False wird immer funktionieren, da es nur EIN False gibt,
aber =True fängt schon damit an, dass es -1, 1 oder bis zu 2 Milliarden andere Werte sein kann, aber die Konstante "True" nur einen Wert davon hat (im Delphi Boolean = 1 Byte ... im C++ oft 4 Byte signed oder auch ein 1 BYTE oder 1 SHORT oder 2 Byte oder ...)

also besser garnicht erst machen




Hier ist aber das Problem, dass "kann auf Verzeichnis nicht zugreifen und somit keine Dateien finden" auch als "existiert nicht" angesehn wird.
Es gibt halt nur JA und NEIN, aber kein VIELLEICHT.

Dafür könnte man entweder im FileExist eine Exception werfen, wenn es "Fehler" gibt, aber dieses Verhalten wäre jetzt nicht so toll, wenn es plötzlich knallen könnte,
also eine neue Funktionen ala "FileAccessCheck", welche z.B. einen Enum zurück gibt, mit Existiert, ExistiertReadOnly, ExistiertAberWederLeseNochSchreibzugriff ZugriffVerweigert, DateiExistiertNicht, VerzeichnisExistiertNicht, PfadUngültig, VielleichtNochwasDasMirGradeNichtEinfällt


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz