Public Function Mod10CheckDigit(BarcodeNumber As String) As Integer
Dim I As Integer
Dim TotalOdd As Integer
Dim TotalEven As Integer
Dim Total As Integer
BarcodeNumber = Trim(BarcodeNumber)
'Get the Odd numbers
For i = 1 To Len(BarcodeNumber) Step 2
TotalOdd += CInt(Mid(BarcodeNumber, i, 1))
Next
TotalOdd = TotalOdd * 3
'Get the Even numbers
For i = 2 To Len(BarcodeNumber) Step 2
TotalEven += CInt(Mid(BarcodeNumber, i, 1))
Next
Total = TotalOdd + TotalEven
Dim LocalBarcodeNumber As Integer = 10 - IIf(Right(Total, 1) = 0, 10, Right(Total, 1))
Return Mod10CheckDigit = (BarcodeNumber & LocalBarcodeNumber)
End Function
I am getting a error on line Dim LocalBarcodeNumber As Integer = the error is "wanted sting got integer instead"
I though I had translated this right from VB.net but I must have missed something
Can some one spot where I have gone wrong as I have spent most of the day trying to figure out what I have done wrong.
If it works it should return a barcode number 10000007
Below is the VB Orginal code
Public Function Mod10CheckDigit(ByVal Barcode As String) As Integer
Dim i As Integer
Dim TotalOdd As Integer
Dim TotalEven As Integer
Dim Total As Integer
Barcode = Trim(Barcode)
'get odd numbers
For i = 1 To Len(Barcode) Step 2
TotalOdd = TotalOdd + CInt(Mid(Barcode, i, 1))
Next i
TotalOdd = TotalOdd * 3
'get even numbers
i = 0
For i = 2 To Len(Barcode) Step 2
TotalEven = TotalEven + CInt(Mid(Barcode, i, 1))
Next i
Total = TotalOdd + TotalEven
Dim BarcodeLocal As Integer = 10 - IIf(Right(Total, 1) = 0, 10, Right(Total, 1))
Mod10CheckDigit = Barcode & BarcodeLocal
End Function