Que tipo de codigo vas a manejar?
Te mando un procedimiento para determinar el 2 de 5
*********************************************************************
* Interleave 2 of 5 Code Section
* Programa : 2DE5
* Funcion : Regresar el codigo de barras de un producto especifico
* Last Modi : 12/06/1999 18:50
* Made by : E.H.
**********************************************************************
Procedure BC_Inter25
Parameters m
*Call the option procedure with check character
rtnp = BC_OInter25(m,1)
return rtnp
Procedure BC_OInter25
Parameters m,check
private t,x,t1,odd_m,even_m,p,y
set talk off
* Generates character pattern for Interleaved 2 of 5 bar codes
* m = text to decode into a character pattern
*
* Returns:
* Character pattern for Interleaved 2 of 5 bar code.
* If an illegal value is found then a null will
* be returned to the user.
*** if the parameter is not a character then quit
if type('m')<>"C"
return ""
endif
*** verify check parameter
if type('check')<>'N'
check = 1
else
if check <> 0
check = 1
endif
endif
*** check to make sure that all the characters are valid for Interleaved 25
*** between 0 and 9
for x = 1 to len(m)
if substr(m,x,1) < chr(48) .or. substr(m,x,1) > chr(57)
return ""
endif
endfor
if check = 1
*** make the total number of digits an odd number so adding a check char makes it even
m = iif(mod(len(m),2)=0,"0"+m,m)
*** Add check digit
m = BC_InterCheck(m)
else
*** make the total number of digits an even number
m = iif(mod(len(m),2)=1,"0"+m,m)
endif
*** decode message into character pattern and place
*** it into the variable
* Start with start code
p = chr(97)
FOR x = 1 TO len(m) step 2
t = substr(m, x, 1)
do case
CASE t = "0"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(34)+chr(93)
case t1 = "1"
p = p + chr(42)+chr(74)
case t1 = "2"
p = p + chr(36)+chr(74)
case t1 = "3"
p = p + chr(44)+chr(73)
case t1 = "4"
p = p + chr(34)+chr(90)
case t1 = "5"
p = p + chr(42)+chr(89)
case t1 = "6"
p = p + chr(36)+chr(89)
case t1 = "7"
p = p + chr(34)+chr(78)
case t1 = "8"
p = p + chr(42)+chr(77)
case t1 = "9"
p = p + chr(36)+chr(77)
endcase
CASE t = "1"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(49)+chr(87)
case t1 = "1"
p = p + chr(57)+chr(68)
case t1 = "2"
p = p + chr(51)+chr(68)
case t1 = "3"
p = p + chr(59)+chr(67)
case t1 = "4"
p = p + chr(49)+chr(84)
case t1 = "5"
p = p + chr(57)+chr(83)
case t1 = "6"
p = p + chr(51)+chr(83)
case t1 = "7"
p = p + chr(49)+chr(72)
case t1 = "8"
p = p + chr(57)+chr(71)
case t1 = "9"
p = p + chr(51)+chr(71)
endcase
CASE t = "2"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(37)+chr(87)
case t1 = "1"
p = p + chr(45)+chr(68)
case t1 = "2"
p = p + chr(39)+chr(68)
case t1 = "3"
p = p + chr(47)+chr(67)
case t1 = "4"
p = p + chr(37)+chr(84)
case t1 = "5"
p = p + chr(45)+chr(83)
case t1 = "6"
p = p + chr(39)+chr(83)
case t1 = "7"
p = p + chr(37)+chr(72)
case t1 = "8"
p = p + chr(45)+chr(71)
case t1 = "9"
p = p + chr(39)+chr(71)
endcase
CASE t = "3"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(53)+chr(85)
case t1 = "1"
p = p + chr(61)+chr(66)
case t1 = "2"
p = p + chr(55)+chr(66)
case t1 = "3"
p = p + chr(63)+chr(65)
case t1 = "4"
p = p + chr(53)+chr(82)
case t1 = "5"
p = p + chr(61)+chr(81)
case t1 = "6"
p = p + chr(55)+chr(81)
case t1 = "7"
p = p + chr(53)+chr(70)
case t1 = "8"
p = p + chr(61)+chr(69)
case t1 = "9"
p = p + chr(55)+chr(69)
endcase
CASE t = "4"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(34)+chr(87)
case t1 = "1"
p = p + chr(42)+chr(68)
case t1 = "2"
p = p + chr(36)+chr(68)
case t1 = "3"
p = p + chr(44)+chr(67)
case t1 = "4"
p = p + chr(34)+chr(84)
case t1 = "5"
p = p + chr(42)+chr(83)
case t1 = "6"
p = p + chr(36)+chr(83)
case t1 = "7"
p = p + chr(34)+chr(72)
case t1 = "8"
p = p + chr(42)+chr(71)
case t1 = "9"
p = p + chr(36)+chr(71)
endcase
CASE t = "5"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(50)+chr(85)
case t1 = "1"
p = p + chr(58)+chr(66)
case t1 = "2"
p = p + chr(52)+chr(66)
case t1 = "3"
p = p + chr(60)+chr(65)
case t1 = "4"
p = p + chr(50)+chr(82)
case t1 = "5"
p = p + chr(58)+chr(81)
case t1 = "6"
p = p + chr(52)+chr(81)
case t1 = "7"
p = p + chr(50)+chr(70)
case t1 = "8"
p = p + chr(58)+chr(69)
case t1 = "9"
p = p + chr(52)+chr(69)
endcase
CASE t = "6"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(38)+chr(85)
case t1 = "1"
p = p + chr(46)+chr(66)
case t1 = "2"
p = p + chr(40)+chr(66)
case t1 = "3"
p = p + chr(48)+chr(65)
case t1 = "4"
p = p + chr(38)+chr(82)
case t1 = "5"
p = p + chr(46)+chr(81)
case t1 = "6"
p = p + chr(40)+chr(81)
case t1 = "7"
p = p + chr(38)+chr(70)
case t1 = "8"
p = p + chr(46)+chr(69)
case t1 = "9"
p = p + chr(40)+chr(69)
endcase
CASE t = "7"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(33)+chr(95)
case t1 = "1"
p = p + chr(41)+chr(76)
case t1 = "2"
p = p + chr(35)+chr(76)
case t1 = "3"
p = p + chr(43)+chr(75)
case t1 = "4"
p = p + chr(33)+chr(92)
case t1 = "5"
p = p + chr(41)+chr(91)
case t1 = "6"
p = p + chr(35)+chr(91)
case t1 = "7"
p = p + chr(33)+chr(80)
case t1 = "8"
p = p + chr(41)+chr(79)
case t1 = "9"
p = p + chr(35)+chr(79)
endcase
CASE t = "8"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(49)+chr(93)
case t1 = "1"
p = p + chr(57)+chr(74)
case t1 = "2"
p = p + chr(51)+chr(74)
case t1 = "3"
p = p + chr(59)+chr(73)
case t1 = "4"
p = p + chr(49)+chr(90)
case t1 = "5"
p = p + chr(57)+chr(89)
case t1 = "6"
p = p + chr(51)+chr(89)
case t1 = "7"
p = p + chr(49)+chr(78)
case t1 = "8"
p = p + chr(57)+chr(77)
case t1 = "9"
p = p + chr(51)+chr(77)
endcase
CASE t = "9"
t1 = substr(m,x+1,1)
do case
case t1 = "0"
p = p + chr(37)+chr(93)
case t1 = "1"
p = p + chr(45)+chr(74)
case t1 = "2"
p = p + chr(39)+chr(74)
case t1 = "3"
p = p + chr(47)+chr(73)
case t1 = "4"
p = p + chr(37)+chr(90)
case t1 = "5"
p = p + chr(45)+chr(89)
case t1 = "6"
p = p + chr(39)+chr(89)
case t1 = "7"
p = p + chr(37)+chr(78)
case t1 = "8"
p = p + chr(45)+chr(77)
case t1 = "9"
p = p + chr(39)+chr(77)
endcase
endcase
endfor
*** Add stop code
p = p + chr(98)
*** Return the character pattern
return p