| 
   Available in LEADTOOLS Barcode Modules. 
  | 
LBarCode::IsDuplicated
#include "ltwrappr.h"
L_BOOL LBarCode::IsDuplicated (nIndex)
| 
 L_INT nIndex;  | 
 /* index value */  | 
Returns a value that indicates whether the specified barcode is duplicated or not.
| 
 Parameter  | 
 Description  | 
| 
 nIndex  | 
 Index of a barcode within 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
| 
 TRUE  | 
 The specified barcode is duplicated.  | 
| 
 FALSE  | 
 The specified barcode is not duplicated.  | 
Comments
This function will determine whether the barcode at the specified index is duplicated within the class object's barcode data array.
To read in barcodes present in a bitmap, use the LBarCode::Read function.
Any index for which the class object's barcode data array contains valid data can be passed to the LBarCode::IsDuplicated function.
If the specified barcode is duplicated, you can get the first duplicated barcode using LBarCode::GetFirstDuplicated. To get the next duplicated barcode use LBarCode::GetNextDuplicated. Get the total number of duplicated bar codes using the LBarCode::GetDuplicatedCount function.
To find out how many sets of barcodes are duplicated, use the following:
int CBarCodeView::GetSetsCount(LBarCode * BarCode)
{
L_INT i, j, nTotalCount, nCount;
L_BOOL * pbVisited;
pBARCODEDATA pBarCodeData;
pBarCodeData = BarCode->GetBarCodeDataItem(0);
nTotalCount = pBarCodeData->nTotalCount;
pbVisited = (L_BOOL *)malloc(nTotalCount*sizeof(L_BOOL));
memset(pbVisited, 0, nTotalCount*sizeof(L_BOOL));
nCount = 0;
for (i = 0; i< nTotalCount; i++)
{
if(pbVisited[i])
continue;
pbVisited[i] = TRUE;
nCount++;
j = i;
pBarCodeData = BarCode->GetBarCodeDataItem(j);
while(pBarCodeData->nIndexDuplicate != -1 &&
pBarCodeData->nIndexDuplicate != 255)
{
j = pBarCodeData->nIndexDuplicate;
pBarCodeData = BarCode->GetBarCodeDataItem(j);
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.
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::GetFirstDuplicated, LBarCode::GetNextDuplicated, Class Members  | 
| 
 Topics:  | 
Example
For complete sample code, refer to the BarCode demo.
For an example, refer to LBarCode::GetFirstDuplicated().