[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]