SetAllReplicationClasses

SetAllReplicationClasses

Messagepar Stephane Maillard » 01 Août 2005 à 13:32

[syntax="ls"]Const wAPIModule = "NNOTES" ' Windows/32



Declare Private Sub IDDestroyTable Lib wAPIModule Alias "IDDestroyTable" _

( Byval hT As Long)

Declare Private Function IDScan Lib wAPIModule Alias "IDScan" _

( Byval hT As Long, Byval F As Integer, ID As Long) As Integer



Declare Private Function NSFDbOpen Lib wAPIModule Alias "NSFDbOpen" _

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

Declare Private Function NSFDbClose Lib wAPIModule Alias "NSFDbClose" _

( Byval hDB As Long) As Integer

Declare Private Function NSFDbGetModifiedNoteTable Lib wAPIModule Alias "NSFDbGetModifiedNoteTable" _

( Byval hDB As Long, Byval C As Integer, Byval S As Currency, U As Currency, hT As Long) As Integer



Declare Private Function OSPathNetConstruct Lib wAPIModule Alias "OSPathNetConstruct" _

( Byval NullPort As Long, Byval Server As String, Byval FIle As String, Byval PathNet As String) As Integer



Declare Private Sub TimeConstant Lib wAPIModule Alias "TimeConstant" _

( Byval C As Integer, T As Currency)





Sub SetAllReplicationClasses(db As NotesDatabase, mask$)

If mask$ = "" Then mask$ = "30719"



With db

np$ = Space(1024)

OSPathNetConstruct 0, db.Server, db.FilePath, np$

End With



Dim hDB As Long

NSFDbOpen np$, hDB



Dim ever As Currency, last As Currency

TimeConstant 2, ever



Dim hT As Long

NSFDbGetModifiedNoteTable hDB, &H0800, ever, last, hT



Dim RRV As Long

found% = 0

changed% = 0

done = (IDScan(hT, True, RRV) = 0)

While Not done

If RRV > 0 Then

Dim doc As NotesDocument

Set doc = db.GetDocumentByID(Hex$(RRV))

A = doc.~$ReplClassMasks

ok = True

For i% = 0 To Ubound(A)

found% = found% + 1

If Not A(i%) = mask$ Then

A(i%) = mask$

changed% = changed% + 1

ok = False

End If

Next

If Not ok Then

doc.~$ReplClassMasks = A

doc.Save True, False

End If

End If

done = (IDScan(hT, False, RRV) = 0)

Wend



IDDestroyTable hT



NSFDbClose hDB



Messagebox "Found " & Cstr(found%) & ", changed " & Cstr(changed%)

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