Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Wie function IsNetworkPath(APath : string) : Boolean; umsetzen? (https://www.delphipraxis.net/166325-wie-function-isnetworkpath-apath-string-boolean%3B-umsetzen.html)

TiGü 8. Feb 2012 09:13

Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Hallo miteinander,

für einen speziellen Fall in meiner Anwendung, darf ich nur UNC-Netzwerkpfade und keine lokalen Pfade zulassen.
Meine erste Idee war zu überprüfen, ob die ersten beiden Zeichen im String '\\' sind, aber gibt es vielleicht noch eine elegantere Lösung?

himitsu 8. Feb 2012 09:17

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
\\?\C:\Program Files

Nun ja, wozu willst du das unbedingt erreichen und UNC-Pfade können sonstwo hinzeigen.
Oder soll es gar nur auf bestimmte Pfade beschränkt sein?

Morphie 8. Feb 2012 09:20

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Da gibt es eine API für...
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

TiGü 8. Feb 2012 09:35

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Zitat:

Zitat von himitsu (Beitrag 1149820)
Nun ja, wozu willst du das unbedingt erreichen und UNC-Pfade können sonstwo hinzeigen.
Oder soll es gar nur auf bestimmte Pfade beschränkt sein?

Beispiel:
\\de-stor-1\Archiv\_Allgemein

Nur solche Pfade und Pfadangaben dürfen zulässig sein.

Warum ich das brauche:
Mein Programm stößt einen Service im Netzwerk an, bestimmte Dateien auf den Netzwerkpfad zu speichern.
In meinen Programm gibt es dann einen einfachen Dateibrowser, der fest auf diesen Netzwerkpfad zugreifen muss.
Damit der Nutzer keinen Quatsch einträgt, also nicht freigegebene Netzwerkordner, sondern lokale Pfade, will ich eine Fehlermeldung sichtbar machen, wenn der Nutzer dagegegen verstößt.

TiGü 8. Feb 2012 09:38

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Zitat:

Zitat von Morphie (Beitrag 1149821)

Hm, soweit, so gut!
Ist die standardmäßig irgendwo gewrappt?
In der RAD Studio 2009 Windows.pas ist sie nicht!

DeddyH 8. Feb 2012 09:46

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Shlwapi steht unten unter Header.

Uwe Raabe 8. Feb 2012 09:58

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Unter D2010+ hätte ich jetzt
Delphi-Quellcode:
TPath.IsUNCPath
aus IOUtils.pas eingeworfen.

Luckie 8. Feb 2012 10:18

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Zitat:

Zitat von DeddyH (Beitrag 1149826)
Shlwapi steht unten unter Header.

Und in der Shlwapi.pas sollte es schon drin sein.

himitsu 8. Feb 2012 11:11

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Und der Service sieht immer die selben Netzwerkpfade, wie der eingeloggte Benutzer?

Lösung: Den Service fragen, ob der angegebene Pfad für ihn OK ist.

Christian Seehase 8. Feb 2012 17:08

AW: Wie function IsNetworkPath(APath : string) : Boolean; umsetzen?
 
Moin TiGü,

sollen jetzt zwingend UNC-Pfade verwendet werden, oder darf grundsätzlich nicht auf lokale Daten zugegriffen werden?
In letzterem Falle hilft Dir die Abfrage auf UNC-Pfad oder nicht auch nicht vollständig weiter, da man diese auch in Form eines UNC-Pfades angeben kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:37 Uhr.
Seite 1 von 2  1 2      

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