![]() |
Ein Konzept für korrekte Pfadprüfung, oder ...
... wie viel Überprüfung auf Fehler ist genug?
Nehmen wir an ich will einen neuen Ordner erstellen. Ich hab den Pfad "c:\beispiel\test" und will einen weiteren Unterordner anlegen. In dem Editfeld steht "c:\beispiel\test" und der Nutzer kann den Pfad um einen weiteren Ordner erweitern. Dank ForceDirectories braucht man sich um nichts weiter zu kümmern. Ich persönlich mag keine Systemfehlermeldungen, ich fange evtl. Fehler gerne vorher selbst ab. Löscht der Nutzer den Editeintrag, so dass Pfad ein leerer String ist, kann ich das leicht überprüfen. Ist der Pfad vor der Erweiterung ok, gibt es keinen Fehler. Was aber tun wenn der Nutzer in das Editfeld Unsinn eingibt und der Pfad nun "jhskdfhiues" lautet. Wie kann man sowas auf einen korrekten Pfad prüfen? DirectoryExists geht nicht, da selbst wenn der Pfad korrekt wäre er neue Unterordner enthält und somit nicht funktioniert. Oder einfach lassen und auf die Systemmeldung warten? Ein Möglichkeit wäre alles zu zerlegen und den Pfad Ordner für Ordner auf Plausibilität zu prüfen? |
AW: Ein Konzept für korrekte Pfadprüfung, oder ...
Es gibt glaub ich so eine Funktion IsUNCPath oder so. Damit kann man den Fall schonmal prüfen. Wie man da aber genau prüft ob der UNC-Pfad auch Sinn macht, weiß ich gerade nicht.
Für nicht UNC-Pfade könnte man noch aus dem Pfad die Directory extrahieren 'd:\' und vllt. da auf exists prüfen. Das ist ja das minimale was gehen muss. |
AW: Ein Konzept für korrekte Pfadprüfung, oder ...
Zitat:
![]() Damit wäre es aber immer noch möglich, daß eine gleichnamige Datei bereits existiert und der Pfad somit nicht angelegt werden kann. |
AW: Ein Konzept für korrekte Pfadprüfung, oder ...
Auch das noch. Gerade habe ich überlegt den Pfad von vorne Ordner für Ordner zu prüfen, aber du hast Recht, das muß ich nun auch einkalkulieren.
|
AW: Ein Konzept für korrekte Pfadprüfung, oder ...
Uwe hat ja schon auf die relativen Pfade hingewiesen, dann mußt Du wohl auch noch
Code:
auseinander rupfen.
..\.\.\mfgvhergse
Gruß K-H |
AW: Ein Konzept für korrekte Pfadprüfung, oder ...
Sonstige Prüfungen:
unter Windows sind bestimmte Namen reserviert und können nicht als Verzeichnis- oder Dateinamen verwendet werden, zum Beispiel
Fehlermeldung von Windows: der angegebene Gerätename ist unzulässing |
AW: Ein Konzept für korrekte Pfadprüfung, oder ...
Boah :shock: ... wollte nur kurz obige Aussage verifizieren und habe ein Verzeichnis mit dem Namen 'COM1' erstellt. Erstellen ging, löschen nimmer. Muss ich wohl oder übel mit ner LiveCd ran 8-)
Edit: System Win 7 Pro 64 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr. |
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-2025 by Thomas Breitkreuz