Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: gfunkus am 01.09.04 - 12:21:14

Titel: Verzeichnis Existenz verifizieren?
Beitrag von: gfunkus am 01.09.04 - 12:21:14
Hi,

Hat wer ne Idee wie ich festellen kann in LS das ein Vez. schon exisitiert? Vermute mit curdir$ oder so?

Danke für eure Hilfe!
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: koehlerbv am 01.09.04 - 13:02:46
CurDir gibt lediglich das gerade aktuelle Verzeichnis zurück.

Zur Prüfung auf die Existenz eines Directorys bleibt nur, auf den möglichen Fehlercode eines ChDir zu reagieren - oder die WinAPI zu bemühen, darüber sollte das auch gehen.

Bernhard
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: eknori am 01.09.04 - 13:15:15
Function checkDir( path As String ) As String
   
   On Error Resume Next
   
   CheckDir = False
   
   Chdrive Left( path, 1 )
   Chdir path
   
   If Curdir = path Then          
      CheckDir = True
   End If
   
End Function

Sub Click(Source As Button)
   Msgbox checkDir("c:\Winnt\system32\drivörs")
End Sub

Gibt TRUE zurück, wenn Dir existiert andernfalls FALSE
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: TMC am 01.09.04 - 19:37:47
Geht das nicht noch einfacher?

If dir$("c:\dokumente\test", 16) = "" Then
   Msgbox "Das Verzeichnis -test- gibt es nicht !"
Else
   Msgbox "Das Verzeichnis -test- ist vorhanden."
End If
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: Semeaphoros am 01.09.04 - 19:49:31
Sollte gehen, ausser man hat es mit einer leeren Partition zu tun, oder einen leeren Netzwerk-Share auf der Basis von Netzsoftware, die die beiden Verzeichnisse "." und ".." nicht mitliefern (zum Bleistift Samba in Abhängigkeit der Konfiguration)
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: Glombi am 01.09.04 - 20:36:08
Geht das nicht noch einfacher?

If dir$("c:\dokumente\test", 16) = "" Then
   Msgbox "Das Verzeichnis -test- gibt es nicht !"
Else
   Msgbox "Das Verzeichnis -test- ist vorhanden."
End If


Der fliegt auf die Nase, wenn das Laufwerk nicht da ist. Auch bei 8 anstelle von 16: Es kommt die Meldung "Path not found" (oder so). Also auch hier wäre ein Error Handling nötig.

Andreas
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: TMC am 01.09.04 - 20:40:24
Errorhandling: Klar, logisch, immer  :D

Wollte nur auf den "Dir" - Befehl aufmerksam machen  ;)
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: Glombi am 01.09.04 - 20:43:32
Ok, dann muss aber der Code anders aufgebaut sein. Er geht nicht in den If Zweig, sondern knallt gleich vor die Wand.

Ansonsten: Dir$ ist mir auch als erstes eingefallen, da ich das immer für sowas verwende.

Andreas
Titel: Re:Verzeichnis Existenz verifizieren?
Beitrag von: HarryB am 02.09.04 - 08:41:08
Function checkDir( path As String ) As String
   
   On Error Resume Next
   
   CheckDir = False
   
   Chdrive Left( path, 1 )
   Chdir path
   
   If Curdir = path Then          
      CheckDir = True
   End If
   
End Function

Sub Click(Source As Button)
   Msgbox checkDir("c:\Winnt\system32\drivörs")
End Sub

Gibt TRUE zurück, wenn Dir existiert andernfalls FALSE

Wäre es sinnvoll, am Ende der Funktion das Directory wieder auf den ursprünglichen Pfad zu setzen?

Viele Grüße
Harry