L_BarCodeIsDuplicated

#include "ltbar.h"

L_LTBAR_API L_BOOL L_BarCodeIsDuplicated(pBarCodeDataItem)

pBARCODEDATA pBarCodeDataItem;

/* pointer to a BARCODEDATA structure */

Returns a value that indicates whether the specified barcode is duplicated or not.

Parameter

Description

pBarCodeDataItem

Pointer to the BARCODEDATA structure that contains the barcode information.

Returns

TRUE

The specified barcode is duplicated.

FALSE

The specified barcode is not duplicated.

Comments

This function determines if a barcode is duplicated in another location in the bitmap.

LEADTOOLS provides a number of functions to let you work with duplicated barcodes. They let you:

To determine whether a barcode is duplicated, use the L_BarCodeIsDuplicated function. If a barcode is duplicated, L_BarCodeGetDuplicated will return the index of the first barcode in the array after the specified barcode, which is a duplicate of the specified barcode.

If you know the index of a barcode within an array, you can get the index of the first duplicate of the specified barcode using L_BarCodeGetFirstDuplicated. Use the L_BarCodeGetNextDuplicated to get the next instance of a duplicated barcode.

To find out how many sets of barcodes are duplicated, use the following:

int GetSetsCount(pBARCODEDATA   pBarCodeData)

{

   L_INT i, j, nCount;

   L_BOOL * pbVisited = (L_BOOL *)malloc(pBarCodeData->nTotalCount*sizeof(L_BOOL));

   memset(pbVisited, 0, pBarCodeData->nTotalCount*sizeof(L_BOOL));

   nCount = 0;

   for (i=0; i<pBarCodeData->nTotalCount; i++)

   {

      if(pbVisited[i])

         continue;

      pbVisited[i] = TRUE;

      nCount++;

      j = i;

      while(pBarCodeData[j].nIndexDuplicate != -1 &&

            pBarCodeData[j].nIndexDuplicate != 255)

      {

         j = pBarCodeData[j].nIndexDuplicate;

         pbVisited[j] = TRUE;

      }

   }

   free(pbVisited);

   return nCount;

}

For example, in an array of ten barcodes, the first, third, and fifth might be duplicates of each other, while the 4th, 8th and 9th are duplicates of a different barcode. After this code is executed, nCount will contain the number of different sets of barcodes.

To read in barcodes present in a bitmap, use the L_BarCodeRead function. Any item in the barcode array returned by L_BarCodeRead can be passed to L_BarCodeIsDuplicated.

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

Platforms

Win32, x64, Mobile

See Also

Functions:

L_BarCodeRead, L_BarCodeFree, L_BarCodeGetDuplicated, L_BarCodeGetNextDuplicated, L_BarCodeVersionInfo, L_BarCodeGetFirstDuplicated, L_BarCodeWrite

Topics:

Programming with LEADTOOLS Barcode

BarCode C DLL Function Groups

Example

For an example, refer to L_BarCodeGetDuplicated.