C sharp - Ayuda con impresora SAMSUNG BIXOLON

   
Vista:

Ayuda con impresora SAMSUNG BIXOLON

Publicado por Raúl Noguera (2 intervenciones) el 04/07/2008 21:21:21
Amigos del foro, aca solicitando ayuda

Necesito por favor ayuda para imprimir tickets fiscales en una impresora SAMSUNG BIXOLON con clipper 5.3

saludos y agradecimiento de antemano
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

RE:Ayuda con impresora SAMSUNG BIXOLON

Publicado por EFRAIN RODRIGUEZ (1 intervención) el 18/05/2009 21:33:02
AQUI VA UN EJEMPLO EN FOXPRO.. QUIZAS TE SIRVA

*///////////////// EJEMPLO EN EL CUAL DEBE ESCRIBIR EN LA IMPRESORA SIN MODIFICAR NADA
**configurando puerto com1
! mode com1: baud=9600 data=8 parity=e &&>NULL
! mode lpt2= com1
*set printer to lpt2

PP=fopen( "lpt2",12)
=inkey(1)

***************1
comando = "i01" + " Cliente: " + left( "ASDF"+space(30) ,30)
lrc_comando= lrc( comando + chr(3))
*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx= FWRITE(PP, tramaCompleta )

pp=FCLOSE(PP)
=inkey(1)
PP=fopen( "LPT2",12)
***************2
comando = "i02" + "C.I./R.I.F. : " + left( "1234 ",18)
lrc_comando= lrc( comando + chr(3))

*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx=FWRITE(PP, tramaCompleta )
=inkey(1)
pp=FCLOSE(PP)
=inkey(1)
PP=fopen( "LPT2",12)

***************3
comando = "!000000100000002000ProductoAAA "
lrc_comando= lrc( comando + chr(3))

*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx=FWRITE(PP, tramaCompleta )
=inkey(1)
pp=FCLOSE(PP)
=inkey(1)
PP=fopen( "LPT2",12)

***************4
comando = "104"
lrc_comando= lrc( comando + chr(3))

*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx=FWRITE(PP, tramaCompleta )

*** cerrando puerto
pp=FCLOSE(PP)

*////////////////////// FIN

*/*/*/*/*/*/*/* FUNCIONES LISTA PARA USAR

*NCL1= NOMBRE CLIENTE
*CIC1= CEDULA CLIENTE
*FACT_FILE = ARCHIVO DONDE ESTAN LOS ITEMS A FACTURAR

**********************
*PROCEDIMIENTO PARA FACTURAR
**********************
PROCEDURE IMP_FACTURA
pfg= ESCRIBE( 1, NCL1 )
pfg= ESCRIBE( 2, CIC1 )

*SCAN EN EL ARCHIVO DONDE ESTAN LOS ITEMS

pgf= ESCRIBE( 3, ;
LEFT( FACT_FILE.DESCRIP,20) ;
+"Talla:"+FACT_FILE.PIE ;
+" Cod:"+FACT_FILE.CODIGO, ;
FACT_FILE.CANTIDAD, ;
( FACT_FILE.PRECIO/ (1+_impuesto) ) )

ACUMU=ACUMU + ( FACT_FILE.TOTAL / (1+_impuesto) )
neto= neto + ( FACT_FILE.PRECIO / (1+_impuesto) * FACT_FILE.CANTIDAD )

*ENDSCAN
DCTO_TOT= neto - ACUMU
IF DCTO_TOT >0
*IMPRIME DESCUENTO SI EXISTE
dcto_pj= INT( (neto - acumu ) / neto * 100*100 )
PFG= ESCRIBE( 7) &&SUBTOTAL
PFG= ESCRIBE( 8,DCTO_PJ) && DCTO
PFG= ESCRIBE( 7) &&SUBTOTAL
*PFG= ESCRIBE( 9,alltrim( str( (acumu*100)+1)),0,0,F_PAGO_FISCAL)
*ELSE
ENDIF
** F_PAGO_FISCAL ES LA FORMA DE PAGO, VER LA FUNCION
pfg= ESCRIBE( 4,"",0,0, F_PAGO_FISCAL)
RETURN

*************************************************************************

FUNCTION Xd0bit
PARAMETER Bitno, A
PRIVATE Remainder, I, Highord
Highord = INT(IIF(A>1,LOG(A)*1.442695041,0))
IF Bitno>Highord
RETURN .F.
ENDIF
FOR I = 0 TO Highord
IF I=Bitno
RETURN IIF(IIF(A=1,1,MOD(A,2))=1,.T.,.F.)
ENDIF
IF A=0
RETURN .F.
ENDIF
A = INT(A/2)
NEXT
return a

FUNCTION BITXOR
PARAMETER A, B
IF INT(A)#A .OR. INT(B)#B
?? CHR(7)
WAIT WINDOW "XOR error: arguments must be integers!"
RETURN -1
ENDIF
PRIVATE Retval, Highord, I
Retval = 0
Highord = ;
MAX(INT(IIF(A>1,LOG(A)*1.442695041,0)),INT(IIF(B>1,LOG(B)*1.442695041,0)))
FOR I = 0 TO Highord
Retval = Retval+IIF(Xd0bit(I,A)#Xd0bit(I,B),2**I,0)
NEXT
RETURN Retval

FUNCTION LRC
parameter cadena
a=left( cadena,1)
a_asc= asc(a)
for t= 2 to len(cadena)
b= substr( cadena,t,1)
b_asc= asc(b)

acumulado= bitxor( a_asc, b_asc )
a_asc= acumulado
endfor
return acumulado
******************************************************
FUNCTION ESCRIBE
PARAMETER LISTA, dato, f_canti, f_precio, forma_pago
**/ LISTA de comandos
** 1= cliente
** 2= cedula cliente
** 3= item de factura
** 4= cierre directo de factura
** 5= reporte X
** 6= reporte Z
** 7= subtotal de factura
** 8= descuento
** 9= pago con descuento

PP=fopen( "LPT2",11)
=inkey(.5)

do case
case lista=1
*************** Cliente Nombre
comando = "i01" + " Cliente: " + left( dato+space(30) ,30)
lrc_comando= lrc( comando + chr(3))
*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx= FWRITE(PP, tramaCompleta )
case lista=2
*************** Cedula cliente
comando= "i02" + "C.I./R.I.F. : " + left( dato+space(20) ,18)
lrc_comando= lrc( comando + chr(3))
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
xxx= FWRITE(PP, tramaCompleta )
case lista=3
*************** Item de Factura
comando= "!"+ right( "0000000000" + alltrim( str( f_precio*100 )),10) ;
+ right( "00000000" + alltrim( str( f_canti*1000 )),8) ;
+ left( dato +space(40),40)
lrc_comando= lrc( comando + chr(3))
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando )
xxx= FWRITE(PP, tramaCompleta )
case lista=4
*************** Cierre de factura y forma de pago. pago directo
**forma de pago
** de 01 a 04, efectivo
** de 05 a 08, cheque
** de 09, tarjeta1 (credito)
** de 10, tarjeta2 (debito)

** yo solo usare el 01 como efectivo, 05 como cheque
** 09 como t.credito, 13 como t.debito

comando= "1" +right( "0000"+ alltrim( str(forma_pago )) , 2 )
lrc_comando= lrc( comando + chr(3))
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
xxx= FWRITE(PP, tramaCompleta )

case lista=5
*************** Cierre parcial. Reporte X
comando = "I0X"
lrc_comando= lrc( comando + chr(3))
*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx= FWRITE(PP, tramaCompleta )

case lista=6
*************** Cierre DIARIO. Reporte Z
comando = "I0Z"
lrc_comando= lrc( comando + chr(3))
*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx= FWRITE(PP, tramaCompleta )

case lista=7
*************** SubTotal de factura
comando = "3"
lrc_comando= lrc( comando + chr(3))
*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx= FWRITE(PP, tramaCompleta )


case lista=8
*************** Descuento sobre subtotal de factura
comando = "p-"+ alltrim(str( dato ))
lrc_comando= lrc( comando + chr(3))
*la trama de salida a la impresora debe ser STX + COMANDO + ETX + LRC
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
*** escribiendo
xxx= FWRITE(PP, tramaCompleta )

case lista=9
*************** Pago con dcto
comando= "2" +right( "0000"+ alltrim( str(forma_pago )) , 2 );
+ right( "000000000000" + dato ,12)
lrc_comando= lrc( comando + chr(3))
tramaCompleta= chr(2) + comando + chr(3) + chr(lrc_comando)
xxx= FWRITE(PP, tramaCompleta )

endcase
=FCLOSE(PP)
RETURN .T.
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

Ayuda con impresora SAMSUNG BIXOLON

Publicado por Gonzalo Prato (1 intervención) el 26/03/2013 21:50:33
Gracias por esta ayuda Efrain esta buenisimo, por casualidad no tendras un pequeño ejemplo en foxpro para obtener la lectura de de los STATUS de la trama S1, S2, S3 y S4, necesito saber la ultima factura que se imprimio en la impresora Samsung Bixolon 350.

Gonzalo Prato, de antemano muchas gracias
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