| Back | Main view | Parent doc

Using and customizing IMiS/ICR client

IMiS ICR verification button is part of IMiS Forms subform. LotusScript code is not hidden so developer can customize it if needed. Lets see the code first and then we will comment it:

Sub Click(Source As Button)

Dim IMiSWorkspace As New NotesUIWorkspace

Dim IMiSSem As Integer
Dim IMiSICRProfDocKey As String

Set IMiSUIDoc = IMiSWorkspace.CurrentDocument
Set IMiSDoc = IMiSUIDoc.Document

IMiSICRHWND = IMiSGetForegroundWindow
Call IMiSSetActiveWindow(IMiSICRHWND)

IMiSSem% = 0

'select KEY for getting profile document with ICR settings
'KEY is usually Notes form name, but it can be changed if needed
IMiSICRProfDocKey = Lcase$(IMiSDoc.Form(0))

'initialize ICR objects and add image to batch
'form image is always first in the IMiS table!
If IMiSICRInitObjects(IMiSDoc, IMiSICRProfDocKey) <> 0 Then Exit Sub
Call IMiSSetActiveWindow(IMiSFRObject.HWND)
Call IMiSSetForegroundWindow(IMiSFRObject.HWND)

'recognize and verify in mode 1 - group and/or field verification
Call IMiSICRVerify1
Call IMiSSetActiveWindow(IMiSICRHWND)
Call IMiSSetForegroundWindow(IMiSICRHWND)

'starting loop sequence
IMiSVerifierLoop:
If IMiSSem% <> 0 Then
'verify in mode 2 - document verification
Call IMiSSetActiveWindow(IMiSFRObject.HWND)
Call IMiSSetForegroundWindow(IMiSFRObject.HWND)
Call IMiSICRVerify2
IMiSSem% = 0
End If

'write results to Notes document
Call IMiSICRWriteToNotesDoc(IMiSDoc)

'RESULTS VALIDATION - it is up to Notes developer. Recognized data is in Notes fields. The only important thing that in case of failed
'validation go back to IMiSVerifierLoop for second phase of verification and set IMiSSem variable to <> 0.
'enter your validation code here...

'end validation code

'clearing objects
Call IMiSICRClearObjects

End Sub

| Back | Main view | Parent doc