Finding Duplicate Barcodes

Take the following steps to add code to the existing project that will let you to find duplicate barcodes:

1. Start with the program you created in Reading Barcodes.
2. Click the "Solution Explorer" tab.
3. Double-click the "BarcodeTutor" folder to open it.
4. Double-click the "Resource Files" folder to open it. Then double click "BarcodeTutor.rc" file to open it, then double click "Dialog", and then double click "IDD_BARCODETUTOR_DIALOG"
5. Now, drag and drop 1 button, and change its properties as follows:
    ID Caption
  Button4 IDC_FIND_DUPLICATE Find Duplicate
6. From the View menu, select "Other Windows" menu, then select "Resource View" menu, then select Dialog, and select "IDD_BARCODETUTOR_DIALOG"
7. Double click "the Find Duplicate" button, and add the following code:

L_INT nDupIndex=0; 
L_TCHAR szBuffer[MAX_PATH]; 
memset(szBuffer, 0, MAX_PATH); 
pBARCODEDATA pBarData = NULL; 
if (m_Barcode.IsDuplicated(0)) 
{ 
   nDupIndex = m_Barcode.GetFirstDuplicated(0); 
   if (nDupIndex >= 0) 
   { 
      pBarData = m_Barcode.GetBarCodeDataItem(nDupIndex); 
      // Print the first duplicated barcode data 
      wsprintf(szBuffer, TEXT("Data is %hs\nUnits %d\nPosX %d\nPosY %d\nWidth %d\nHeight %d\n\n"), 
      pBarData->pszBarCodeData, 
      pBarData->nUnits, 
      pBarData->rcBarLocation.left, 
      pBarData->rcBarLocation.top, 
      abs(pBarData->rcBarLocation.right - pBarData->rcBarLocation.left), 
      abs(pBarData->rcBarLocation.bottom - pBarData->rcBarLocation.top)); 
      AfxMessageBox(szBuffer); 
      // find the next (second) duplicated barcode data 
      nDupIndex = m_Barcode.GetNextDuplicated(nDupIndex); 
      if (nDupIndex >= 0) 
      { 
         pBarData = m_Barcode.GetBarCodeDataItem(nDupIndex); 
         wsprintf(szBuffer, TEXT("Data is %hs\nUnits %d\nPosX %d\nPosY %d\nWidth %d\nHeight %d\n\n"), 
         pBarData->pszBarCodeData, 
         pBarData->nUnits, 
         pBarData->rcBarLocation.left, 
         pBarData->rcBarLocation.top, 
         abs(pBarData->rcBarLocation.right - pBarData->rcBarLocation.left), 
         abs(pBarData->rcBarLocation.bottom - pBarData->rcBarLocation.top)); 
         AfxMessageBox(szBuffer); 
      } 
   } 
   if (nDupIndex < 0) 
   { 
      wsprintf(szBuffer, TEXT("An error occurred \nError Code = %d\n"), nDupIndex); 
      AfxMessageBox(szBuffer); 
   } 
} 
else 
{ 
   wsprintf(szBuffer, TEXT("This Barcode is not duplicated ...")); 
   AfxMessageBox(szBuffer); 
} 

8.

Compile and test the program.

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