Hola nuevamente, alguien tiene un ejemplo en VB6 de como compilar el string para el codigo de barras, en una de las preguntas hay uno pero esta en Visual Fox y hay algunas sentencias que no las entiendo.
// * FUNCTION _StrToI2of5(tcString) * INTERLEAVED 2 OF 5
// *------------------------------------------------------
// * Convierte un string para ser impreso con
// * fuente True Type "PF Interleaved 2 of 5"
// * ó "PF Interleaved 2 of 5 Wide"
// * ó "PF Interleaved 2 of 5 Text"
// * Solo caracteres numéricos
// * USO: _StrToI2of5('1234567890')
// * RETORNA: Caracter
// *------------------------------------------------------
LOCAL lcStart, lcStop, lcRet, lcCheck, lcCar, lnLong, lnI, lnSum, lnAux
lcStart = Chr(40)
lcStop = Chr(41)
lcRet = ALLTRIM([!tcString!])
// *--- Genero dígito de control
lnLong = Len(lcRet)
lnSum = 0
lnCount = 1
For lnI = lnLong To 1 Step -1
lnSum = lnSum + VAL(SUBSTR(lcRet,lnI,1)) * IIF(MOD(lnCount,2) = 0,1,3)
lnCount = lnCount + 1
ENDFOR
lnAux = MOD(lnSum,10)
lcRet = lcRet + ALLTRIM(Str(IIf(lnAux = 0, 0, 10 - lnAux)))
lnLong = Len(lcRet)
// *--- La longitud debe ser par
IF MOD(lnLong,2) # 0
lcRet = '0' + lcRet
lnLong = Len(lcRet)
End If
// *--- Convierto los pares a caracteres
lcCar = ''
For lnI = 1 To lnLong Step 2
IF VAL(SUBS(lcRet,lnI,2)) < 50
lcCar = lcCar + Chr(Val(SUBS(lcRet, lnI, 2)) + 48)
Else
lcCar = lcCar + Chr(Val(SUBS(lcRet, lnI, 2)) + 142)
End If
ENDFOR
// *--- Armo código
lcRet = lcStart + lcCar + lcStop