-
Добрый день. кто знаком с данными библиотеками? подскажите как добраться до их функций.. очень надо, перерыл все, нашел только на с++, но в нем непонимаю ничего. Если есть у кого ссылка или что то на пример использования функций конкретно этих библиотек. Заранее благодарен.
-
Скажи откуда стырил возможно и вспомним что. А так заголовочные файлы от них переводи на delphi.
-
это Futronic сканер отпечатка пальцев, управляющие библиотеки.
-
> нашел только на с++, но в нем непонимаю ничего
Кидай сюда заголовочный файл и сишный пример использования, если имеется. Посмотрим что там к чему, вряд ли это хоз-во сложно портировать в Делфи.
-
Interactive application example
// Application requires interaction with a user. if( FTRInitialize() != FTR_RETCODE_OK ) return;
// Use the specified sensor. if( FTRSetParam( FTR_PARAM_CB_FRAME_SOURCE, FSD_FUTRONIC_USB ) == FTR_RETCODE_OK ){
// Get the frame dimensions. FTRGetParam( FTR_PARAM_IMAGE_WIDTH, &dwWidth ); FTRGetParam( FTR_PARAM_IMAGE_HEIGHT, &dwHeight ); FTRGetParam( FTR_PARAM_IMAGE_SIZE, &dwSize );
pImage = malloc( dwSize ); // Reserve memory space for an image.
// Optional. Set the maximum number of frames in a template. This call must precede // the FTRGetParam(FTR_PARAM_MAX_TEMPLATE_SIZE, … ) call. FTRSetParam( FTR_PARAM_MAX_MODELS, 3 );
// Get the maximum template size in bytes. FTRGetParam( FTR_PARAM_MAX_TEMPLATE_SIZE, &dwTempSize ); FTR_DATA Template; Template.pData = malloc( dwTempSize ); // Reserve memory for a template.
// Establish the user interaction callback function. // Note, that the cbUserSuppliedFunc must be declared accordingly to the FTR_CB_STATE_CONTROL, // see details in the FTRAPI.h header file. FTRSetParam( FTR_PARAM_CB_CONTROL, cbUserSuppliedFunc );
// Build a template for the verification purpose. FTR_USER_CTX myContext; FTREnroll( myContext, FTR_PURPOSE_ENROLL, &Template );
// Verify if a user matches the specified template with the FAR = 0.05 BOOL bIsVerified; FTRSetParam( FTR_PARAM_MAX_FAR_REQUESTED, 107374182 ); // 107374182 / (2**31 - 1) = 0.05 if( FTRVerify( myContext, &Template, &bIsVerified, NULL ) == FTR_RETCODE_OK ){ if( bIsVerified ){ // Proceed a match! } else{ // Match was not detected. } } }
FTRTerminate();
-
#if defined(__WIN32__) #pragma pack(pop) #endif
FTR_API_PREFIX FTRHANDLE FTR_API ftrScanOpenDevice(); FTRHANDLE FTR_API ftrScanOpenDeviceOnInterface( int nInterface ); FTR_API_PREFIX void FTR_API ftrScanCloseDevice( FTRHANDLE ftrHandle ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSetOptions( FTRHANDLE ftrHandle, FTR_DWORD dwMask, FTR_DWORD dwFlags ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetOptions( FTRHANDLE ftrHandle, FTR_PDWORD lpdwFlags ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetDeviceInfo( FTRHANDLE ftrHandle, PFTRSCAN_DEVICE_INFO pDeviceInfo );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetInterfaces( PFTRSCAN_INTERFACES_LIST pInterfaceList ); FTR_API_PREFIX FTR_BOOL FTR_API ftrSetBaseInterface( int nBaseInterface ); FTR_API_PREFIX int FTR_API ftrGetBaseInterfaceNumber(); FTR_API_PREFIX FTR_BOOL FTR_API ftrSetLoggingFacilityLevel( FTR_DWORD dwLogMask, FTR_DWORD dwLogLevel, char * lpFileName );
FTR_API_PREFIX FTR_DWORD FTR_API ftrScanGetLastError(); FTR_API_PREFIX void FTR_API ftrScanSetLastError( FTR_DWORD dwErrCode );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetVersion( FTRHANDLE ftrHandle, PFTRSCAN_VERSION_INFO pVersionInfo ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanIsScannerFeaturePresent( FTRHANDLE ftrHandle, int nScannerFeature, FTR_PBOOL pIsPresent );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetFakeReplicaInterval( double *pdblMinFakeReplicaValue, double *pdblMaxFakeReplicaValue ); FTR_API_PREFIX void FTR_API ftrScanSetFakeReplicaInterval( double dblMinFakeReplicaValue, double dblMaxFakeReplicaValue );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetLFDParameters( PFTRSCAN_LFD_CONSTANTS pLFDParameters ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSetLFDParameters( PFTRSCAN_LFD_CONSTANTS pLFDParameters ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetScanParameters( FTRHANDLE ftrHandle, FTR_DWORD dwParamCode, FTR_PVOID pOutBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetImageSize( FTRHANDLE ftrHandle, PFTRSCAN_IMAGE_SIZE pImageSize ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetImage( FTRHANDLE ftrHandle, int nDose, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetImage2( FTRHANDLE ftrHandle, int nDose, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetFuzzyImage( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetBacklightImage( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetDarkImage( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetColourImage( FTRHANDLE ftrHandle, FTR_PVOID pDoubleSizeBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetSmallColourImage( FTRHANDLE ftrHandle, FTR_PVOID pSmallBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetColorDarkImage( FTRHANDLE ftrHandle, FTR_PVOID pDoubleSizeBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetImageByVariableDose( FTRHANDLE ftrHandle, int nVariableDose, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGet4in1Image( FTRHANDLE ftrHandle, FTR_PVOID pBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetPartOfImageSize( FTRHANDLE ftrHandle, PFTRSCAN_IMAGE_SIZE pPartOfImageSize); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetPartOfImage( FTRHANDLE ftrHandle, int nDose, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetPartOfBacklightImage( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetPartOfDarkImage( FTRHANDLE ftrHandle, FTR_PVOID pBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanIsFingerPresent( FTRHANDLE ftrHandle, PFTRSCAN_FRAME_PARAMETERS pFrameParameters ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetFrame( FTRHANDLE ftrHandle, FTR_PVOID pBuffer, PFTRSCAN_FRAME_PARAMETERS pFrameParameters );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSave7Bytes( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanRestore7Bytes( FTRHANDLE ftrHandle, FTR_PVOID pBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetExtMemorySize( FTRHANDLE ftrHandle, int *pnSize ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSaveExtMemory( FTRHANDLE ftrHandle, FTR_PVOID pBuffer, int nOffset, int nCount ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanRestoreExtMemory( FTRHANDLE ftrHandle, FTR_PVOID pBuffer, int nOffset, int nCount );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetSerialNumber( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSaveSerialNumber( FTRHANDLE ftrHandle, FTR_PVOID pReserved );
typedef FTR_BOOL (*PFTRCALIBRATEFNCB)( FTR_PVOID pContext, FTR_PVOID pParams ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanZeroCalibration( PFTRCALIBRATEFNCB pfnCallbackProc, FTR_PVOID pContext ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanZeroCalibration2( FTR_DWORD dwOptions, PFTRCALIBRATEFNCB pfnCallbackProc, FTR_PVOID pContext ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetCalibrationConstants( FTRHANDLE ftrHandle, FTR_PBYTE pbyIRConst, FTR_PBYTE pbyFuzzyConst ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanStoreCalibrationConstants( FTRHANDLE ftrHandle, FTR_BYTE byIRConst, FTR_BYTE byFuzzyConst, FTR_BOOL bBurnToFlash );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetFakeReplicaParameters( FTRHANDLE ftrHandle, PFTRSCAN_FAKE_REPLICA_PARAMETERS pFakeReplicaParams ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetFakeReplicaBuffer( FTRHANDLE ftrHandle, PFTRSCAN_FAKE_REPLICA_BUFFER pFakeReplicaBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSetNewAuthorizationCode( FTRHANDLE ftrHandle, FTR_PVOID pSevenBytesAuthorizationCode ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSaveSecret7Bytes( FTRHANDLE ftrHandle, FTR_PVOID pSevenBytesAuthorizationCode, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanRestoreSecret7Bytes( FTRHANDLE ftrHandle, FTR_PVOID pSevenBytesAuthorizationCode, FTR_PVOID pBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSetDiodesStatus( FTRHANDLE ftrHandle, FTR_BYTE byGreenDiodeStatus, FTR_BYTE byRedDiodeStatus ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanGetDiodesStatus( FTRHANDLE ftrHandle, FTR_PBOOL pbIsGreenDiodeOn, FTR_PBOOL pbIsRedDiodeOn );
FTR_API_PREFIX FTR_BOOL FTR_API ftrScanSave7ControlBytes( FTRHANDLE ftrHandle, FTR_PVOID pBuffer, FTR_BOOL bBurnToFlash ); FTR_API_PREFIX FTR_BOOL FTR_API ftrScanRestore7ControlBytes( FTRHANDLE ftrHandle, FTR_PVOID pBuffer );
FTR_API_PREFIX FTR_BOOL FTR_API ftrSweepGetSlice( FTRHANDLE ftrHandle, FTR_PVOID pBuffer ); FTR_API_PREFIX FTR_BOOL FTR_API ftrSweepGetMultipleSlices( FTRHANDLE ftrHandle, int nSlices, FTR_PVOID pBuffer );
#define FTR_BLACKFIN_MAX_WRITE_DATA_LEN 4096 FTR_API_PREFIX FTR_BOOL FTR_API ftrBlackfinDataExchange( FTRHANDLE ftrHandle, FTR_PVOID pWriteBuffer, int nWriteBufferLength, FTR_PVOID pReadBuffer, int nReadBufferLength );
#ifdef __cplusplus } #endif
-
это кусок h-ки если полностью кидать он здоровый...
-
-
> FTRHANDLE FTR_API ftrScanOpenDeviceOnInterface( int nInterface > );
const ftrScanAPI = 'ftrScanAPI.dll';
function ftrScanOpenDeviceOnInterface(nInterface: integer): FTRHANDLE; stdcall; external ftrScanAPI;
stdcall - это в случае, если там что-то типа #define FTR_API stdcall
по аналогии все остальное переводишь
|