FoxPro/Visual FoxPro - Codigo de Barra

 
Vista:
sin imagen de perfil

Codigo de Barra

Publicado por Jaime Daniel (25 intervenciones) el 20/05/2006 03:36:36
Estimados programadores, estoy preparando un proyecto de facturación y control de Stck y necesito alguna ayudita para el manejo de código de barras

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Codigo de Barra

Publicado por Ernesto Hernandez (4623 intervenciones) el 20/05/2006 18:10:48
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Codigo de Barra

Publicado por santiago (83 intervenciones) el 22/05/2006 21:21:58
puedes hacerlo mas facil aun si usas un font ya preparado para codigo de barras, tengo el 39 ó 3 de 9, si lo deseas.

santiago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Codigo de Barra

Publicado por Jaime Daniel (25 intervenciones) el 10/06/2006 10:24:04
Me gustaría que me guíes. porque nunca hice algo igual
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Codigo de Barra

Publicado por Ernesto Hernandez (4623 intervenciones) el 13/06/2006 02:27:04
Jaime daniel lo que necesitas mandame un correo y con gusto te ayudamos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar