Autor Thema: Prüfen, ob ein Pfad vorhanden ist  (Gelesen 2866 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Prüfen, ob ein Pfad vorhanden ist
« am: 13.04.05 - 15:45:32 »
Hi,

kennt jemand eine Möglichkeit, wie ich das machen kann?

lG
« Letzte Änderung: 13.04.05 - 16:22:37 von rar »
†090620141300

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #1 am: 13.04.05 - 15:54:10 »
Pfad im Betriebssystem? Oder wo? Mit LS? Schau Dir Dir$ an, oder gib etwas mehr Infos
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #2 am: 13.04.05 - 15:57:58 »
Ein Pfad im Betriebssystem mit LS.
Z.B. "C:\Daten\Notes\Unterordner\"

Dir$ geht (glaub ich) nicht, da ich mit Dir nur Files aber keine Pfade auslesen kann.  :-\
†090620141300

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #3 am: 13.04.05 - 16:03:39 »
Aber sicher doch, schau Dir mal die Option Attr-Mask an und verwende die Maske  mit dem Wert 16
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #4 am: 13.04.05 - 16:21:27 »
Uups...  :-[
hab ich doch irgendwie übersehen. *peinlich*

Danke Jens. Klappt wunderbar

-daniel
†090620141300

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #5 am: 13.04.05 - 16:42:14 »
Aber sicher doch, schau Dir mal die Option Attr-Mask an und verwende die Maske mit dem Wert 16
Das geht aber unter Umständen in die Hose. Z.B. bei Dateien ohne Endung. Die erkennt er nämlich auch als Dir.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Wusste ich doch das ich das noch habe.
« Antwort #6 am: 13.04.05 - 16:51:22 »
Die Variante die ich mal entwickelt habe und die wirklich (unter Windows) hundertprozentig funktioniert versucht das Dir zu öffne und erkennt dadurch den unterschied zwischen Dir und File ohne Extention.
Declarations:
Dim directorylist List As String
Dim startentryposition As Integer

Sub finddirectories(basedir As String)
   ' finds all directory entries and subentries in a given path
   Dim filename As String
   Dim fileattribute As Integer
   Dim isdir As Integer
   Dim fromcount As Integer
   Dim setfirstentryposition As Integer
   Dim setlastentryposition As Integer
   Dim dircount As Integer
   Dim i As Integer
   
   On Error Resume Next
   
   ' save the entryposition due to the recursion
   setfirstentryposition = startentryposition   
   
   ' get the file names
   fileName = Dir$(basedir & "\*.*",16)
   Do While fileName$ <> ""
      fileattribute = Getfileattr (basedir + "\" + fileName )
      If fileattribute = 16 Then
         ' check if this is really a directory
         isdir = checkdir(basedir + "\" + Filename)
         If isdir = True Then
            If filename <> "." And filename <> ".." Then
               directorylist(Cstr(startentryposition)) = basedir & "\" & Filename
               startentryposition = startentryposition + 1
            End If
         End If
      End If
      filename = Dir$()
   Loop
   
   If setfirstentryposition < startentryposition Then
      setlastentryposition = startentryposition
      For i = setfirstentryposition To setlastentryposition -1
         Call finddirectories(directorylist(Cstr(i)))   
      Next
   End If
   
End Sub

Function checkDir( path As String ) As Integer
   
   On Error Resume Next
   
   CheckDir = False
   
   Chdrive Left( path, 1 )
   Chdir path
   
   If Curdir = path Then         
      CheckDir = True
   End If
   
End Function
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #7 am: 13.04.05 - 17:11:55 »
Ich glaube in meinem Fall reicht das Dir.
Aber trotzdem vielen Dank für die Funktion, Thomas.
Kann ich sicher noch gebrauchen :)
†090620141300

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #8 am: 13.04.05 - 18:07:32 »
Das geht aber unter Umständen in die Hose. Z.B. bei Dateien ohne Endung. Die erkennt er nämlich auch als Dir.

Falsch, Thomas, die Attributmaske sorgt dafür, dass das eben nicht schief läuft. Braucht keine Verrenkungen über einen Versuch, die Datei zu öffnen. Das funktioniert einwandfrei. Einzig das Root-Verzeichnis lässt sich so nicht findnen (aber da gibts eigentlich auch kein Bedürfnis für)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #9 am: 13.04.05 - 19:35:47 »
Sorry, Thomas, Du hast Recht, ich hab das verwechselt mit dem zugrundeliegenden API-Call, dort bekommt man neben dem Directory-Namen auch noch die Attribute des Eintrages zurück und kann dann natürlich direkt damit überprüfen, um was für eine Rückgabe es sich handelt. Basic/LotusScript unterdrückt diesen Rückgabewert leider, da nur ein einziger Rückgabewert zurückgeliefert wird.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Prüfen, ob ein Pfad vorhanden ist
« Antwort #10 am: 13.04.05 - 20:41:27 »
Probier mal

Code
strDirTest = Dir$ (strPathName & "\*")

Wenn das Verzeichnis nicht existent ist, geht das mit dieser simplen Methode in die Hose - das ergibt dann eine auswertbare Fehlermeldung, die man mit einer Kombination aus

Vor dem Aufruf:
On Error Goto ErrorDirTest

und

in der Fehlerroutine mit einem
<Lege das Verzeichnis an oder wie auch immer>
On Error Goto <Normale Fehlerroutine>
Resume Next

zur gewünschten Ergebnisgestaltung benutzen kann.

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz