Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet 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!
-
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
-
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
-
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
-
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)
-
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
-
Errorhandling: Klar, logisch, immer :D
Wollte nur auf den "Dir" - Befehl aufmerksam machen ;)
-
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
-
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