DisplayFTIndexInfo

DisplayFTIndexInfo

Messagepar Stephane Maillard » 01 Août 2005 à 12:49

[syntax="ls"]Type TimeDate

Innards(1) As Long

End Type



Const APIModule = "NNOTES" ' Windows

' Const APIModule = "libnotes_r.a" ' AIX



Declare Private Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" _

( Byval zP As Long, Byval S As String, Byval F As String, Byval N As String) As Integer



Declare Private Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" _

( Byval P As String, hDB As Long) As Integer

Declare Private Function NSFDbClose Lib APIModule Alias "NSFDbClose" _

( Byval hDB As Long) As Integer

Declare Function NSFDbGetExtendedInfo Lib APIModule Alias "NSFDbGetExtendedInfo" _

( Byval hDB As Long, hM As Long) As Integer

Declare Private Function FTGetLastIndexTime Lib APIModule Alias "FTGetLastIndexTime" _

( Byval hDB As Long, T As TimeDate) As Integer



Declare Private Function OSLockObject Lib APIModule Alias "OSLockObject" _

( Byval hM As Long) As Long

Declare Private Sub OSUnlockObject Lib APIModule Alias "OSUnlockObject" _

( Byval hM As Long)

Declare Private Function OSMemFree Lib APIModule Alias "OSMemFree" _

( Byval hM As Long) As Integer



Declare Function ConvertTIMEDATEToText Lib APIModule Alias "ConvertTIMEDATEToText" _

( Byval zI As Long, Byval zT As Long, T As TimeDate, Byval S As String, Byval nS As Integer, nT As Integer) As Integer



Declare Sub Peek Lib APIModule Alias "Cmovmem" _

( Byval P As Long, N As Any, Byval B As Long)





Sub DisplayFTIndexInfo(db As NotesDatabase)

With db

np$ = Space(1024)

OSPathNetConstruct 0, .Server, .FilePath, np$

End With



Dim hDB As Long

NSFDbOpen np$, hDB

If hDB = 0 Then Exit Sub



Dim hM As Long

NSFDbGetExtendedInfo hDB, hM

If hM = 0 Then

NSFDbClose hDB

Exit Sub

Else

p& = OSLockObject(hM)

Peek p& + 2, idx%, 2

Peek p& + 6, opt%, 2

Peek p& + 8, frq%, 2

OSUnlockObject hM

OSMemFree hM

End If



Dim T As TimeDate

FTGetLastIndexTime hDB, T

If Not T.Innards(0) = 0 Then

last$ = Space(256)

ConvertTIMEDATEToText 0, 0, T, last$, 256, l%

last$ = Left$(last$, l%)

End If



NSFDbClose hDB



lf$ = Chr$(10) & " " & Chr$(10)



If idx% = 0 Then m$ = "No full-text index" Else m$ = "Last indexed: " & last$



m$ = m$ & lf$ & "Index attached files: "

If (opt% And &H20) Then m$ = m$ & "YES" Else m$ = m$ & "NO"



m$ = m$ & Chr$(10) & " Conversion filters: "

If (opt% And &H80) Then m$ = m$ & "YES" Else m$ = m$ & "NO"



m$ = m$ & lf$ & "Encrypted fields: "

If (opt% And &H40) Then m$ = m$ & "YES" Else m$ = m$ & "NO"



m$ = m$ & lf$ & "Sentence and paragraph: "

If (opt% And &H10) Then m$ = m$ & "YES" Else m$ = m$ & "NO"



m$ = m$ & lf$ & "Case-sensitive: "

If (opt% And &H02) Then m$ = m$ & "YES" Else m$ = m$ & "NO"



m$ = m$ & lf$ & "Update: "

Select Case frq%

Case 0 : m$ = m$ & "Daily"

Case 1 : m$ = m$ & "Scheduled"

Case 2 : m$ = m$ & "Hourly"

Case 3 : m$ = m$ & "Immediate"

Case Else : m$ = m$ & "?"

End Select



Messagebox m$, 64, "FT Iindex - " & db.Title

End Sub[/syntax]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Retour vers API

cron