Domino 9 und frühere Versionen > ND6: Entwicklung

Überprüfen ob Ordner vorhanden

<< < (3/3)

TomLudwig:
MakePath legt nur einen Ordner ohne Unterordner an....

TomLudwig:
Sorry, wenn das abschließende Zeichen ein "\" ist. Werden alle (Unter-)Ordner erstellt....

Axel:
Hi,

ich hab vor einiger Zeit mal was aus dem Web gefischt.

Das Ganze besteht aus zwei Funktionen:


--- Zitat ---
Function IsValidDir(sPath As String) As Integer
   
   On Error Resume Next
   
   attr% = Getfileattr(sPath)
   If Err > 0 Then
      IsValidDir = 1
      Exit Function
   End If
   
   If (attr% And ATTR_DIRECTORY) Then IsValidDir = 0
   
End Function


Function MakeDir (sPath As String) As Integer
   
   Dim sNewPath As String
   Dim iPosi As Integer
   
   If Right$(sPath,1) <> "\" Then sPath = sPath & "\"
   MakeDir = 1
   
   On Error Goto MakeDirError
   
   Do
      iPosi = Instr(iPosi + 1, sPath, "\")
      If iPosi > 0 Then
         sNewPath = Left$(sPath, iPosi - 1)
         If IsValidDir(sNewPath) = 1 Then
            Mkdir sNewPath
         End If  'IsValidDir(sNewPath) = 0...
      End If  'iPosi > 0...
   Loop Until iPosi = 0
   
   MakeDir = 0
   Exit Function
   
MakeDirError:
   Messagebox "Error " & Str(Err) & " : " & Error$
   Resume Next
   
End Function


--- Ende Zitat ---


Beispiel:

Sub Click(Source As Button)
   
   If MakeDir("E:\Test\Test1") = 1 Then
      Messagebox "Fehler beim Anlegen des Verzeichnisses."
   Else
      Messagebox "Verzeichnis wurde erfolgreich angelegt."
   End If
   
End Sub

Das Ergebnis sieht dann so aus:

E:\
   |_ Test
          |__Test1

Du darfst der Funktion nur einen Pfad übergeben. Der darf keinen Dateinamen enthalten.

Ich hoffe das hilft dir weiter.


Axel
 

TomLudwig:
Ich habs einfach mit der Funktion von eknori gelöst und festgelegt, dass Benutzer ein abschliesendes "\" Zeichen eingeben müssen.

Und siehe da... es funktioniert....

Danke....

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln