CueCat Bar Code Reading Script
Keywords: CueCat Bar Code Reader
;.C3nZC3nZC3nYE3rXENz6CNnY.cGf2.ENr7C3n0ENjXC3D7ENPZC3nZ.
; 978 007 912 048 990 000
STRA = "C3,CN,Cx,Ch,D3,DN,Dx,Dh,E3,EN"
STRB = "n,j,f,b,D,z,v,r,T,P"
STRC = "Z,Y,X,W,3,2,1,0,7,6"
STRTYPE = "fHmc,cGf2,CGen,fGjX,bNb2,aabl"
strScanCode = AskLine("Scan a Line","Please scan a line.","")
intID = StrIndex(strScanCode,".",2,@FWDSCAN)
strCatID = StrSub(strScanCode,2,24)
strBarcodeType = StrSub(strScanCode,27,4)
strCodeType = ItemLocate(strBarCodeType,STRTYPE,",")
Select strCodeType
Case 1
strType = "UPC"
Break
Case 2
strType = "ISBN"
Break
Case 3
strType = "ISBN"
Break
Case 4
strType = "Magazine"
Break
Case 5
strType = "Merchant"
Break
Case 6
strType = "CueCat"
Break
Case 0
Case strCodeType
strType = "unknown"
break
EndSelect
strCatBarCode = StrSub(strScanCode,32,(StrLen(strScanCode)-32))
;.C3nZC3nZC3nYE3rXENz6CNnY.fHmc.C3r1C3PXC3nZC3r2.
GoSub subGetCode
Message("Bar Code","Type: %strType%%@CRLF%Code: %strBarCode%%strBarCodeExtra%")
:subGetCode ; returns barcode in variable strBarCode
strBarCode = "" ;initializes variable to null
intTotalLength = StrLen(strCatBarCode)
intCodeUnits = intTotalLength/4
strExtraCodeUnit = StrSub(strCatBarCode,(4*intCodeUnits),(intTotalLength mod 4))
If strExtraCodeUnit >0 Then GoSub subBarCodeExtra
for intUnitCount = 1 to intCodeUnits
strUnit = StrSub(strCatBarCode,((4*intUnitCount)-3),4)
strXX = StrSub(strUnit,1,2)
intNumber = ItemLocate(strXX,STRA,",")
If intNumber == 0
Message("Code Error", "Error: This code was not recognized! Perhaps unknown?")
Exit
EndIf
strBarCode = StrCat(strBarCode,(intNumber-1))
strY = StrSub(strUnit,3,1)
intNumber = ItemLocate(strY,STRB,",")
If intNumber == 0
Message("Code Error", "Error: This code was not recognized! Perhaps unknown? Try again.")
Exit
EndIf
strBarCode = StrCat(strBarCode,(intNumber-1))
strZ = StrSub(strUnit,4,1)
intNumber = ItemLocate(StrZ,STRC,",")
If intNumber == 0
Message("Code Error", "Error: This code was not recognized! Perhaps unknown? Try again.")
Exit
EndIf
strBarCode = StrCat(strBarCode,(intNumber-1))
Next
Return
;;;;;;;;
:subBarCodeExtra
strBarCodeExtra = ""
strFirst = StrSub(strExtraCodeUnit,2,2)
intNumber = ItemLocate(StrFirst,STRA,",")
If intNumber == 0
Message("Code Error", "Error: This code was not recognized! Perhaps unknown? Try again.")
Exit
EndIf
strBarCodeExtra = StrCat(strBarCodeExtra,(intNumber-1))
strLast = StrSub(strExtraCodeUnit,1,1)
intNumber = ItemLocate(strLast,STRC,",")
If intNumber == 0
Message("Code Error", "Error: This code was not recognized! Perhaps unknown? Try again.")
Exit
EndIf
strBarCodeExtra = StrCat("-",strBarCodeExtra,(intNumber-1))
Return
Article ID: W14718
Filename: CueCat bar code reading script.txt