Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: klaussal am 25.04.03 - 12:15:04

Titel: alle db's aus directory anzeigen
Beitrag von: klaussal am 25.04.03 - 12:15:04
hi zusammen,

habe da eine freitags-kurz-vor-feierabend-frage:

möchte mir aus einem bestehenden verzeichnis alle datenbanken anzeigen lassen.
bei u.a. script sagt er mir immer, dass es das verzeichnis "Bereiche" nicht gibt. LÜGE !!!
wo liegt der fehler  ??? ??? ???
danke für tipps !

--------------------------------------------------------------
Dim dbdir As New NotesDbDirectory("Bereiche")
Dim db As NotesDatabase
Set db = dbdir.GetFirstDatabase(DATABASE)
Set docNew = dbziel.createDocument   
Msgbox db.Title, , db.FileName
Titel: Re:alle db's aus directory anzeigen
Beitrag von: Rob Green am 25.04.03 - 12:22:54
Dim variableName  as New NotesDbDirectory( serverName$ )
or
Set notesDbDirectory = New NotesDbDirectory( serverName$ )
Parameter
serverName$
String. The name of the server whose database files you want to navigate.  Use an empty string ("") to indicate the current computer.

"Bereiche" ist bei Dir ein Verzeichnis und kein Server...da hat es schon recht, das Notes. Notes lügt nicht  ;D

Wenn Du ein Unterverzeichnis ausschließlich haben möchtest, mußt Du über den "db.FilePath" den Pfad auslesen und alles, was mit BEREICHE übereinstimmt in eine Liste schmeissen und nachher ausspucken.
Titel: Re:alle db's aus directory anzeigen
Beitrag von: klaussal am 25.04.03 - 12:28:26
... danke rob.

möchte ja "nur" einen pfad öffen und daraus dann alle db's anzeigen lassen. kann ich nicht sofort den pfad öffnen ?
Titel: Re:alle db's aus directory anzeigen
Beitrag von: Rob Green am 25.04.03 - 12:32:55
mir ist leider keine Methode aus den Klassen bekannt, die das so kann...schade an sich...denn unnütz ist es auf keinen Fall...NotesDBDirectory sollte eigentlich einen weiteren Parameter haben..na ja...R7 vielleicht
Titel: Re:alle db's aus directory anzeigen
Beitrag von: klaussal am 25.04.03 - 12:37:08
ok.
dann eben auf die steinige tour. ;D
Titel: Re:alle db's aus directory anzeigen
Beitrag von: eknori am 25.04.03 - 12:42:04
vielleicht nicht ganz passend zum Thema;
hier mal eine kleine Fingerübung in LS.

Der code gibt in einer Textdatei alle volltextindizierten Dateien auf einem Server aus.
Vielkleicht kann das ja jemand mal brauchen  ;D

Const C_DEFAULTFILENAME$ = "FULLTEXT.TXT"
Const C_DEFAULTSERVER$ = "DEWVX01"

Class FileGuard
   filenumber As Integer
   isopen As Integer
   
   Public Property Get Handle
      Handle = filenumber
   End Property
   
   Sub New()
      filenumber = Freefile( )
      isopen = True
   End Sub
   
   Sub Close
      If isopen Then
         On Error Resume Next
         Close filenumber
         isopen = False
      End If
   End Sub
   
   Sub Delete
      Me.Close
   End Sub
End Class

Sub Click(Source As Button)
   On Error Resume Next
   Dim dbdir As New NotesDbDirectory ( C_DEFAULTSERVER$ )
   Dim db As NotesDatabase
   Set db = dbdir.GetFirstDatabase ( DATABASE )
   Dim FG1 As New FileGuard
   outfile% = FG1.Handle
   Open TempDir + C_DEFAULTFILENAME$ For Output As outfile%
   Dim outString As String
   i% = 0
   k% = 0
   While Not(db Is Nothing)
      Call db.Open( "", "" )
      If db.IsFTIndexed Then
         outstring = db.FilePath + Chr(9) + Chr(9) + Chr(9) +db.Title         
         Print #outfile%, outString
         i% = i% + 1
         outstring = ""
      End If      
      Print db.Title, , db.FileName
      k% = k% + 1      
      Set db = dbdir.GetNextDatabase
   Wend
   Print #outfile%, Chr(10) + Chr(13) + Chr(10) + Chr(13)
   Print #outfile%, Cstr(k%) + " databases on server, " + Cstr(i%) + " databases with fulltext index"
   FG1.Close
End Sub

Function TempDir As String
   Dim tmp As String
   tmp = Environ( "TEMP" )
   If tmp = "" Then
      tmp = Environ( "TMP" )
      If tmp = "" Then
         tmp = "C:"
      End If
   End If
   TempDir = tmp +"\"
End Function

Titel: Re:alle db's aus directory anzeigen
Beitrag von: klaussal am 25.04.03 - 12:44:29
... nicht GAAAAAAAANZ passend, aber gut  :D

schönes WE
klaus
Titel: Re:alle db's aus directory anzeigen
Beitrag von: eknori am 25.04.03 - 13:15:16
Quick and dirty für alle Script und Formel Muffel :

catalog.nsf öffnen und nachsehen  ;D

Voraussetzungen:

alle DBs haben das Flag "Show in database catalog"
catalog task läuft auf dem Server

 :D :D ;D ;D ;D 8) 8) :P :P

** oh mann, der Salat war gestern wohl doch zu gesund **