You are on page 1of 3


Fingerspot FlexCode SDK DeveloperS Guide


Thank you for purchasing the Fingerspot FlexCode SDK!

FlexCode SDK is very simple and easy to use in accordance with the demands of your applica?on needs. FlexCode SDK provide more
advanced solu?on, suitable for those who need more freedom in crea?ve. The func?ons in FlexCode SDK are not too basic, the func?ons
concept are instant, you simply call the func?ons required for registering and verify ngerprints then FlexCode SDK will do registra?on
process and verica?on process without you need to be directly involved in it . The registra?on process will produce a ngerprint template
in a text format that is easy to stored and distributed. If you want to iden?fy a nger, the templates is used to compare the ngerprints are
scanned. You will receive the results of the verica?on whether the same nger or not. FlexCode SDK greatly save your ?me to integrate
ngerprint technology into any applica?on required .

The advantages and the exibility you get on FlexCode SDK:

Template in a text format that is easily stored and distributed. Template secure because it is encrypted with your own password.
The balance between speed and accuracy of the kind currently compares with an average of up to 200 ngerprint templates per second.
Use mul?ple devices in a PC.
Display the ngerprint image is integrated into the applica?on.
Supports verica?on 1 to 1 and 1 to N.
Opera?ng system Windows Xp / Vista / 7 / 8 32 & 64bit.
Designed for the Digital Persona U.are.U ngerprint reader. Compa?ble devices are U.are. U 4000B and U.are. U 4500.



Make sure your computer does not installed any U.are.U driver. If there are, uninstall it rst. Then restart your computer.
Run the setup le FlexCodeSDKSetup32.exe or FlexCodeSDKSetup64.exe.
Follow the steps on the screen to install the SDK FlexCode and U.are.U driver. Then restart your computer.
Plug the device to the USB port of the computer.


Template is a digital form of ngerprint pacerns generated from the ngerprint registra?on process. This template is a text format (string)
so it is easy to be stored and distributed. Template instead of ngerprint images. Templates can not be converted into a ngerprint image.
Template is unique, meaning that if the same nger repeatedly registered then generates the templates are dierent. Templates should
not be changed because it would lead to the failure of the verica?on process. Make sure the string is stored template perfectly without
any addi?on or subtrac?on. There is only one way to compare the scanned nger on the device to the registered template by using the
verica?on func?on provided by FlexCode SDK.


Fingerprint Registra?on is the process to create a template of the nger prints are scanned in the device. The same nger will be scanned
four ?mes. FlexCode SDK will generate a unique template for the nger. FlexCode SDK comes with a special algorithm to reduce the error
when the registra?on process is done, for example, scanned images are not clear enough ngers or nger posi?ons dierent in the four
ngerprint image capture. Within certain limits FlexCode SDK can s?ll produce a good and accurate template of the registra?on process
was not perfect.

Following command to register a nger :

Dim WithEvents FPReg as FlexCodeSDK.FinFPReg
Set FPReg = New FlexCodeSDK.FinFPReg
FPReg.PictureSamplePath = "C:\FPTemp.BMP"
FPReg.PictureSampleHeight = 2050
FPReg.PictureSampleWidth = 1600
Use PictureSamplePath, PictureSampleHeight and PictureSampleWidth only if needed to display the scanned image to view the applica?on.


Ager the declara?on, do command to ll the ac?va?on code so that the device can be used in FlexCode SDK. This ac?va?on is unique,
meaning that each device has a dierent ac?va?on code with other devices.
FPReg.DeviceInfo device_serial_number, verification_code, activation_code

To start the registra?on process do the following command :

FPReg.FPRegistrationStart "MySecretKey"

For secure templates are created, the template is encrypted by using a key word that can be dened by yourself. The same keywords will
be used when the process of verica?on.

The next step, a same nger should be scanned four ?mes. Ideally fourth scanned images must be clear with the same rela?ve posi?on. In
some cases it may be FlexCode SDK will ask several repeated scans to produce a becer image, so it takes more than four ?mes in the nger
scanned on device. FlexCode SDK inform the number of ngerprint images need to generate a template through FPSampleNeeded event. So
scan your nger un?l FPSampleNeeded return a zero value.

When the ngerprint image has been created, FlexCode SDK will generate FPRegistrationImage event. Fingerprint images are available in
accordance with the dened path in PictureSamplePath. If necessary ngerprint images for documenta?on, this image can be saved by
changing the name or rename the le. Because the ngerprint template instead of the template image and can not be converted into an
image. Please add the command lines to save / change the image le name.


Fingerspot FlexCode SDK Developers Guide

Once the registra?on process is completed when the event returns a value of zero then FPSampleNeeded, So FPRegistrationStatus will
return r_OK value and templates will be generated in the event FPRegistrationTemplate. Furthermore, the template can be saved to your
database or le and distributed as needed.


To cancel the registra?on process, please call FPReg.FPRegistrationStop command.

If the registra?on process fails, for example because the device has not been plugged into the USB port, wrong ac?va?on code. Error code
can be known from FPRegistrationStatus event.
FlexCode SDK can only create a template from a scanned ngerprint nger directly over the device. FlexCode SDK can not be used to
process the le ngerprint images into the template. Therefore, even though you have a le ngerprint images can then be used to create
a template. These restric?ons are for security reasons. Fingerprint technology was created to ensure that you there (you are you).


Verica?on is the process of comparing between the scanned nger and the ngerprint template. Verica?on can be done 1 to 1, which
means one nger scan compared with one par?cular template. Verica?on can also be done 1 to N or more suitable called iden?ca?on,
which means one nger scans compared to some of the template so that it can be determined whether there is a template that matches
the scanned nger. FlexCode SDK can do both of these means of verica?on.

Following command to verify the nger :

Dim WithEvents FPVer As FlexCodeSDK.FinFPVer
Set FPVer = New FlexCodeSDK.FinFPVer
FPVer.PictureSamplePath = "C:\FPTemp.BMP"
FPVer.PictureSampleHeight = 2050
FPVer.PictureSampleWidth = 1600
Use PictureSamplePath, PictureSampleHeight and PictureSampleWidth only if needed to display the scanned image to view the applica?on.


FlexCode SDK can handle up to 10.000 devices ac?va?on code. Using the mul? devices in one computer is not to speed up the verica?on
process because only one device that can actually be used at a ?me.
FPVer.AddDeviceInfo(device_serial_number, verification_code, activation_code)
Next is the load ngerprint templates that will be used in the verica?on process to the SDK. Here is the command to load the ngerprint
template, FPVer.FPLoad (id, finger_index, finger_template, "MySecretKey")
This command can be called repeatedly, un?l all the required template in the SDK. FlexCode can handle up to 30000 templates in a single
verica?on. The more the number of templates are listed in the verica?on process it takes a longer ?me to be able to recognise
ngerprints scanned on device. So load templates as needed. Templates are already loaded in the SDK can be used for next verica?on

To remove a template from the template list, use the command FPVer.FPUnload (id, finger_index). Use FPVer.GetFPCount command to
determine the number of templates that have been registered. To redene or eliminate the en?re templates from the SDK \ memory, use
the command FPVer.FPListClear.

The verica?on process FlexCode SDK can be done in the background, meaning that remain ac?ve even FlexCode SDK applica?on running
in non-ac?ve condi?on for example applica?on is minimized. This command requires administrator privileges on Windows Vista, 7 and 8. In
other words, you have to run the applica?on in a state run as admin. Give true value in order to arrange FlexCode WorkingInBackground
SDK can s?ll be used even if the applica?on is minimized, otherwise give a false value.

Ager the templates are load to SDK, then the verica?on process can begin. To begin the verica?on process using command
FPVer.FPVerificationStart or FPVer.FPVerificationStart id. If id not informed the SDK will verify FlexCode 1 to N, otherwise it will
verify 1 to 1. Upon this command, FlexCode SDK in a state wai?ng for a nger scanned on device.

When a nger is scanned, the FlexCode SDK will inform you if the ngerprint image is ready to be displayed through FPVerificationImage
event. If there is a template that matches the nger are scanned , then FPVerificationID event will inform the id and finger_index . If it
turns out there is more than one template that matches the scanned nger FPVerificationID the event will be called repeatedly. It is
important to prevent the registra?on of the same or similar template using dierent id or finger_index. To determine whether the nger
is recognise or not it is successful ager the process is completed, FPVerificationStatus event return v_OK if the nger is recognise and
there is only one template matching of all exis?ng templates in the SDK , v_NotMatch status if the nger is not recognise , the status
v_MultiplelMatch if there is more than one template that matches the scanned nger and other statuses in the event of failure of
verica?on or cancella?on .


The SDK is ready for the next nger scan or do FPVerificationStop command calling for stop verica?on process. When you call
FPVerificationStop command, the loaded templates is s?ll in memory, so you can call FPVerificationStar any?me.


If you only need a ngerprint image, without requiring registra?on process and do the ngerprint verica?on. Use this variable declara?on
as follows:
Dim WithEvents FPImage As FlexCodeSDK.FinFPImg
Set FPImage = New FlexCodeSDK.FinFPImg
FPImage.PictureSamplePath = "C:\FPTemp.BMP"
FPImage.PictureSampleHeight = 2050
FPImage.PictureSampleWidth = 1600

Fingerspot FlexCode SDK DeveloperS Guide


The next step, input the ac?va?on code to SDK. FPImage.

DeviceInfo device_serial_number, verification_code, activation_code

To start a scan of a nger, please use the FPImageStart, then the ngers can be scanned over the device. When ready ngerprint image is
displayed, FlexCode SDK will inform through FPImage event, please stored the displayed picture accordance with the purposes. To dismiss
the process of shoo?ng, calling FPImage.FPImageStop command.


In the event of failure to capture an ngerprint image, SDK will inform you via FPImageStatus event.

Do not run the registra?on, verica?on or ngerprint image class together. One moment only one class is allowed to use the device.


1. Override the old SDK le with new ones. This le is usually located in C:\Windows\System32 for Windows 32 bit or C:\Windows\SysWOW64
for Windows 64 bit or C:\Program Files\FlexCodeSDK or in the folder you specied during installa?on.
2. Please register the new SDK le to the system registry of Windows by using the command RegSvr32.
Example of command C:\RegSvr32 FlexCodeSDK.dll or C:\RegSvr32 C:\Program Files\FlexCodeSDK\FlexCodeSDK.dll
3. Please open the sample code or your project then replace references to refer to the new SDK.



The easiest way to distribute FlexCode SDK with your applica?on is install the FlexCode SDK setup le. This setup le help you install the
SDK and the driver les of U.are.U ngerprint reader. If you do not want to separate your applica?on setup le into 2 les, then you can
use packager applica?ons such as Inno Setup to run hidden the FlexCode SDK setup. FlexCode SDK le is only one le, that is
FlexCodeSDK.dll but the driver of U.are.U ngerprint reader is very complex, will waste a lot of ?me if you try to ?nker with the setup le.



For use in Delphi, please install the addi?onal components. Before installing,
make sure the sample VB6 (the executable le) can run normally to sure the
SDK have been installed properly. Ager that do the following steps:
Run the Delphi, go to menu Component \ Install Component
Click on Into new package, browse the path le component
FlexCodeSDK.pas (1), enter a name in Package le name,
example C:\programfiles\Borland\Delphi7\Lib\dcluser.dpk
(2). Click the OK bucon when done.

Conrm when exit window, press the Yes bucon. Exit Informa?on window, press the OK
bucon. On window Package - excode.dpk, click the Install icon.



If successfule, the you will see 3 FlexCode SDK components.

General informa?on :

Technical Support