LBarCode::GetFirstDuplicated

#include "ltwrappr.h"

L_INT LBarCode::GetFirstDuplicated (nIndex)

L_INT nIndex;

index value

Returns the index of the first barcode, in the class object's barcode data array, that is a duplicate of the barcode at the specified index.

Parameter

Description

nIndex

Index of a barcode in the class object's barcode data array. This is a zero-based index. nIndex must be >= 0 and less than the total number of barcodes read using LBarCode::Read.

Returns

>=0

Index of the barcode, in the class object's barcode data array, that is the first duplicate of the barcode at the specified index.

<0

An error occurred. Refer to Return Codes.

Comments

As an example, a call to LBarCode::Read reads ten barcodes into the class object's barcode data array. LBarCode::IsDuplicated is called for the item at index 3 in the array, and TRUE is returned. Therefore one or more barcodes in the array are duplicates of the specified item.

Calling LBarCode::GetFirstDuplicated returns the index of the first barcode in the array that is a duplicate of the barcode at index 3 in the array. Suppose this value is 0. The barcode present at index zero in the array is the first duplicate of the barcode at index 3.

Calling LBarCode::GetNextDuplicated with nIndex set to 3 will return the index of the next barcode in the array that is a duplicate of the barcodes at index 0 and 3. Suppose this value is 9. Therefore the barcodes at index 0, index 3, and index 9 of the array are all duplicates.

LBarCode::Read returns the total number of barcodes read.

Required DLLs and Libraries

LTBAR

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

See Also

Functions:

LBarCode::LBarCode, LBarCode::Read, LBarCode::GetBarCodeDataItem, LBarCode::GetDuplicatedCount, LBarCode::IsDuplicated, LBarCode::GetNextDuplicated, LBarCode::Write, Class Members

Topics:

Programming with LEADTOOLS Barcode

Barcode Function Functions: Finding DuplicatedBarCodes

Example

For complete sample code refer to BarCode demo.

L_INT LBarCode_GetFirstDuplicatedExample(HWND hWnd, LBarCode &LeadBarCode) 
{ 
   L_INT nRet; 
   pBARCODEDATA   pBarCodeData=NULL; 
   L_INT          nDupIndex, nDupCount; 
   if (LeadBarCode.IsDuplicated(3)) 
   { 
      L_TCHAR szBuffer[1024]; 
      memset(szBuffer, 0, sizeof(szBuffer)); 
      nDupCount = LeadBarCode.GetDuplicatedCount(3); 
      nDupIndex = LeadBarCode.GetFirstDuplicated(3); 
      wsprintf(szBuffer, TEXT("This Bar Code is duplicated in %d different locations."), nDupCount); 
      MessageBox(hWnd, szBuffer, TEXT("Notice!"), MB_OK); 
      if (nDupIndex >= 0) 
      { 
         pBarCodeData = LeadBarCode.GetBarCodeDataItem(nDupIndex); 
         if (!pBarCodeData) 
            LBase::DisplayErrorFromList(hWnd); 
         memset(szBuffer, 0, sizeof(szBuffer)); 
         // Print the first duplicated barcode data 
         wsprintf(szBuffer, TEXT("Data is %hs\nType %d\nUnits %d\nPosX %d\nPosY %d\nWidth %d\nHeight %d\n\n"), 
         pBarCodeData->pszBarCodeData, 
         pBarCodeData->ulType, 
         pBarCodeData->nUnits, 
         pBarCodeData->rcBarLocation.left, 
         pBarCodeData->rcBarLocation.top, 
         abs(pBarCodeData->rcBarLocation.right - pBarCodeData->rcBarLocation.left), 
         abs(pBarCodeData->rcBarLocation.bottom - pBarCodeData->rcBarLocation.top)); 
         MessageBox(hWnd, szBuffer, TEXT("BarCode Info."), MB_OK); 
         nRet = LeadBarCode.Free(pBarCodeData); 
         if(nRet != SUCCESS) 
            return nRet; 
         pBarCodeData = NULL; 
         // find the next (second) duplicated barcode 
         nDupIndex = LeadBarCode.GetNextDuplicated(nDupIndex); 
         if (nDupIndex >= 0) 
         { 
            pBarCodeData = LeadBarCode.GetBarCodeDataItem(nDupIndex); 
            if (!pBarCodeData) 
               LBase::DisplayErrorFromList(hWnd); 
            memset(szBuffer, 0, sizeof(szBuffer)); 
            wsprintf(szBuffer, TEXT("Data is %hs\nType %d\nUnits %d\nPosX %d\nPosY %d\nWidth %d\nHeight %d\n\n"), 
            pBarCodeData->pszBarCodeData, 
            pBarCodeData->ulType, 
            pBarCodeData->nUnits, 
            pBarCodeData->rcBarLocation.left, 
            pBarCodeData->rcBarLocation.top, 
            abs(pBarCodeData->rcBarLocation.right - pBarCodeData->rcBarLocation.left), 
            abs(pBarCodeData->rcBarLocation.bottom - pBarCodeData->rcBarLocation.top)); 
            MessageBox(hWnd, szBuffer, TEXT("BarCode Info."), MB_OK); 
            LeadBarCode.Free(pBarCodeData); 
            pBarCodeData = NULL; 
         } 
      } 
   } 
   else 
      MessageBox(hWnd, TEXT("This Barcode is not duplicated ..."), TEXT("Error!"), MB_OK); 
   return SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Barcode C++ Class Library Help