=================
' da code 39 a code 32 farmaceutici
'================================================================================
Sub Code39To32(cStringa As String) As String
Dim Matrice As List
Dim nValore As Long
Dim cValore As String
Dim k As Int
Dim i As Int
Dim CodiceErrato As Boolean : CodiceErrato=False
Matrice.Initialize2(Array As String ("0","1","2","3","4","5","6","7","8","9","B","C","D","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"))
If cStringa.Length=6 Then
i=1
Do While i<=cStringa.Length And Not(CodiceErrato)
k =Matrice.IndexOf(cStringa.SubString2(i-1,i))
' verifico se esiste il carattere passato altrimenti considero codice errore
'ed esco dalla procedura, in caso di caratteri strani tipo @-., ecc.
If k <0 Then
CodiceErrato=True
Else
nValore=nValore+(k*Power(32,6-i))
End If
i=i+1
Loop
Else
CodiceErrato=True
End If
If CodiceErrato=True Then
cValore="A000000000"
Else
cValore=nValore
cValore="000000000" & nValore
cValore="A" & cValore.SubString(cValore.Length-9)
End If
Return cValore
End Sub