AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Ein Konzept für korrekte Pfadprüfung, oder ...
Thema durchsuchen
Ansicht
Themen-Optionen

Ein Konzept für korrekte Pfadprüfung, oder ...

Ein Thema von Popov · begonnen am 19. Sep 2012 · letzter Beitrag vom 20. Sep 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 19. Sep 2012, 16:12
... 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?
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 19. Sep 2012, 16:24
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 19. Sep 2012, 16:36
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?
Wäre das denn überhaupt ein gültiger Pfadname? Windows würde zumindest nicht darüber meckern, wenn man das als relativen Pfad behandelt. Ob es ein prinzipiell gültiger Pfadname ist kann mittels TPath.GetFullPath geprüft werden, das ggf. eine Exception auswirft.

Damit wäre es aber immer noch möglich, daß eine gleichnamige Datei bereits existiert und der Pfad somit nicht angelegt werden kann.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 19. Sep 2012, 16:46
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.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 19. Sep 2012, 17:43
Uwe hat ja schon auf die relativen Pfade hingewiesen, dann mußt Du wohl auch noch
Code:
..\.\.\mfgvhergse
auseinander rupfen.

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

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 19. Sep 2012, 18:45
Sonstige Prüfungen:

unter Windows sind bestimmte Namen reserviert und können nicht als Verzeichnis- oder Dateinamen verwendet werden, zum Beispiel
  • COM1, 2, 3 ...
  • LPT1, 2, 3 ...
  • CON
  • PRN
  • AUX
  • NUL

Fehlermeldung von Windows: der angegebene Gerätename ist unzulässing
Michael Justin
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#7

AW: Ein Konzept für korrekte Pfadprüfung, oder ...

  Alt 20. Sep 2012, 20:53
Boah ... 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

Edit: System Win 7 Pro 64
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  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 02:08 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