* Converts a string to be printed with > * True Type Font "PF Barcode 128" > * Numerics and alphabetic (upper and lower case) > * If a character is not valid it is replaced by a space > * USE: _StrTo128B('Codigo 128 B') > * RETURNS: Character > > * http://www.portalfox.com/index.php?name=News&file=article&sid=2600 > FUNCTION StrTo128B(tcString) > LOCAL lcStart, lcStop, lcRet, lcCheck, ; > lnLong, lnI, lnCheckSum, lnAsc > lcStart = CHR(104 + 32) > lcStop = CHR(106 + 32) > lnCheckSum = ASC(lcStart) - 32 > lcRet = tcString > lnLong = LEN(lcRet) > FOR lnI = 1 TO lnLong > lnAsc = ASC(SUBS(lcRet,lnI,1)) - 32 > IF NOT BETWEEN(lnAsc,0,99) > lcRet = STUFF(lcRet,lnI,1,CHR(32)) > lnAsc = ASC(SUBS(lcRet,lnI,1)) - 32 > ENDIF > lnCheckSum = lnCheckSum + (lnAsc * lnI) > ENDFOR > lcCheck = CHR(MOD(lnCheckSum,103) + 32) > lcRet = lcStart + lcRet + lcCheck + lcStop > *--- Esto es para cambiar los espacios y caracteres invalidos > lcRet = STRTRAN(lcRet,CHR(32),CHR(232)) > lcRet = STRTRAN(lcRet,CHR(127),CHR(192)) > lcRet = STRTRAN(lcRet,CHR(128),CHR(193)) > RETURN lcRet > ENDFUNC >