Problema con hbprinter y queria pedirles su opinion

44 views
Skip to first unread message

Omar Farriol

unread,
Nov 30, 2025, 9:16:03 AM11/30/25
to [oohg]
Teno que derivar a  tickets a distintas comanderas instaladas en una red.
pero me salen todos por la  predeterminada. El programa que hice es: 

oprint:=Tprint("HBPRINTER")
oprint:init()
oprint:selprinter(.F. , .F.,.F. ,256,cImprimeEnComanda)  // Impresora

IF oprint:lprerror
   oprint:Release()
   Return nil
ENDIF

oprint:begindoc()
// oprint:setpreviewsize(1) solo para el preview!!


   oprint:beginpage()  // Encabezado

   linea := 1
   oprint:printdata(linea, 0, "----------------------------------------" , , 10, .T. , ,"L" ,  7)

   linea ++
   oprint:printdata(linea, 0, "                 COMANDA" , , 10, .T. , ,"L" ,  7)

   linea ++
   oprint:printdata(linea, 0, "MESA: "+REGIST.TEXT_1.VALUE, , 10, .T. , ,"L" ,  7)

   linea ++
   oprint:printdata(linea, 0, "CAMARERA: "+REGIST.LABEL_5.VALUE, , 10, .T. , ,"L" ,  7)

   linea ++
   oprint:printdata(linea, 0, "----------------------------------------" , , 10, .T. , ,"L" ,  7)


   cStr := TRANSFORM( REGIST.TEXT_4.VALUE +  REGIST.TEXT_5.VALUE, "999" ) + " " + REGIST.LABEL_28.VALUE

   linea ++
   oprint:printdata(linea, 0, cStr, , 10, .T. , ,"L" ,  7)

   linea ++
   oprint:printdata(linea, 0, "========================================" , , 10, .T. , ,"L" ,  7)


   oprint:endpage()



oprint:enddoc()
oprint:RELEASE()
Release oprint

Ciro Vargas C

unread,
Nov 30, 2025, 9:43:56 AM11/30/25
to oo...@googlegroups.com
Omar tu puedes decirle el nombre de la impresora por donde quieres que salga 

Solo recomiendo coloques en el sistema nombres cortos y sin espacios y así kas podrás llamar desde el programa fácilmente 

Revisa la sintaxis y veras que hay un parámetro para decirle el nombre exacto, hasta donde recuerdo, hace rato q no uso esto 
Pero recuerdo que lo tiene 

Saludos 


--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/oohg/aec2ba9f-212b-41d4-85ea-62e658bbf726n%40googlegroups.com.

dextrasist...@gmail.com

unread,
Nov 30, 2025, 10:07:03 AM11/30/25
to [oohg]
Hola Gente
Donde se puede ver la sintaxis, la definición de la clase TPRINT  
Gracias
Jorge Accinelli

Rosario Giuffré

unread,
Nov 30, 2025, 10:17:38 AM11/30/25
to oo...@googlegroups.com
Buen día Omar.

En el comando ::SELPRINTER se puede definir el nombre de la impresora.
     oprint:SELPRINTER( lSelect, lPreview, lLnadscape, nPapersize, cPrinterx )

En el parámetro cPrinterx le pasas el nombre de la impresora como te indicaba Ciro.
Espero te sirva.

Saludos
Rosario Giuffré
SoftSar Sistemas



Rosario Giuffré

unread,
Nov 30, 2025, 10:29:46 AM11/30/25
to oo...@googlegroups.com
Hola Destrasist.

Te paso un link para manual de TPRINT.


Saludos

Rosario Giuffré

dextrasist...@gmail.com

unread,
Dec 1, 2025, 7:09:55 AM12/1/25
to [oohg]
Gracias ! 

Omar Farriol

unread,
Dec 1, 2025, 11:05:58 AM12/1/25
to [oohg]
Hola a todos
gracias por su aporte
vi el manual, tengo la sintaxis correcta, pero no imprime nada
cambie el nombre de las impresoras, antes tenian un espacio era COCINA PA por ejemplo y le puse COCINAPA pero no imprime nada..

Rosario Giuffré

unread,
Dec 1, 2025, 11:56:34 AM12/1/25
to oo...@googlegroups.com
Buenas tardes Omar.

Las impresoras tienen placa de red con IP propia cada una de ellas? o son impresoras compartidas con otras PCs? 
Por otro lado, veo que en el comando SelPrinter el primer parametro es .F., lo que hace que siempre imprima por la impresora 
por defecto del sistema, si le pones .T. puedes elegir en que impresora quieres imprimir.

Espero te sirva.
Saludos
Rosario Giuffré
SoftSar Sistemas

Omar Farriol

unread,
Dec 1, 2025, 12:02:40 PM12/1/25
to oo...@googlegroups.com
Gracias Rosario, voy a probar con eso, son impresoras termicas conectadas por IP 

Omar Farriol

unread,
Dec 1, 2025, 1:26:04 PM12/1/25
to oo...@googlegroups.com
hice lo que me dijiste pero no, no imprime, podra ser que no funcione por que son impresoras con placa de red e  ip propia?


Jorge Garate

unread,
Dec 1, 2025, 2:38:53 PM12/1/25
to oo...@googlegroups.com
Hola Omar, pregunta pero necesaria, puedes mandar a imprimir desde Windows a la impresora remota, tipo página de prueba?



Saludos,
 
Jorge 
   

Omar Farriol

unread,
Dec 1, 2025, 2:44:36 PM12/1/25
to oo...@googlegroups.com
Hola Jorge, no mande pagina de prueba, pero si lo hice desde el bloc de notas y funciona bien


Rosario Giuffré

unread,
Dec 2, 2025, 10:04:25 AM12/2/25
to [oohg]
Que tal Omar.

Por lo que dices 'Todas imprimen en la predeterminada' , pero si todas las PCs imprimen en esa es porque todas apuntan a esa IP.
Cada impresora tiene su propia IP y todas tienen que estar instaladas en la máquina que las quiere usar.
Yo utilizo la 3nStar RPT008 y la EPSON M267E. Desde varias máquinas imprimo en ellas sin problemas, lógicamente que tienen que estar instaladas previamente.
Incluso en un cliente tiene una sola Comandera y todas las PCs imprimen en ella sin problema.
Uso la liberia PDFPRINT para crear el PDF é imprimo el ticket con la HBPRINTER.
Si necesitas alguna aclaracion mas no dudes en preguntar.

Saludos
Rosario Giuffré

Omar Farriol

unread,
Dec 2, 2025, 12:03:42 PM12/2/25
to oo...@googlegroups.com
Hola Ciro, gracias por responder. el nombre de la impresora es:  cImprimeEnComanda

que me sugeris para hacer ese trabajo?

El dom, 30 nov 2025 a las 11:43, Ciro Vargas C (<c...@oohg.org>) escribió:

Omar Farriol

unread,
Dec 2, 2025, 12:03:58 PM12/2/25
to oo...@googlegroups.com
bueno, finalmente pude resolver el problema de la siguiente manera;
STATIC FUNCTION ImprimirComandaEnCocina2
  LOCAL oPrn
   LOCAL lOk

   nRow := 5
   nCol := 5

// Crear objeto impresora
   oPrn := TMiniPrint():New()
   lOk := oPrn:SELPRINTERX( ;
               .F. , ;       // NO abrir cuadro de seleccion
               .F. , ;       // NO vista previa
               .F. , ;       // Orientacion vertical
               NIL , ;       // Tamaño por defecto
               "COCINAPA", ; // Nombre exacto de la impresora
               NIL , ;       // Resolucion por defecto
               NIL )

   IF lOk == NIL
      MsgStop( "No se pudo seleccionar la impresora COCINAPA" )
      RETURN NIL
   ENDIF


// Iniciar documento
   oPrn:BeginDocX()

   // Iniciar página
   oPrn:BeginPageX()

   // Imprimir texto



oPRN:PRINTDATAX( ;
       nrow,  ;       //  Fila
       ncol,  ;       //  columna
        NIL, ;       //  data ( no se usa )
        "Arial",;    //  Font
        12, ;        //  Size
        .T., ;       //  Bold
        NIL,;        //  Color NIL por defecto
        NIL,;        //  Align
        NIL,;        //  len
        "COMANDA COCINA P.ALTA",; // texto
        .F.,;        //  Italic
        NIL )        //  Angulo


   nRow += 5

oPRN:PRINTDATAX( ;
        nrow,  ;       //  Fila
        ncol,  ;       //  columna
        NIL, ;       //  data ( no se usa )
        "Arial",;    //  Font
        10, ;        //  Size
        .T., ;       //  Bold
        NIL,;        //  Color NIL por defecto
        NIL,;        //  Align
        NIL,;        //  len
        "---------------------",; // texto
        .F.,;        //  Italic
        NIL )        //  Angulo

 nRow += 5

oPRN:PRINTDATAX( ;
        nrow,  ;       //  Fila
        ncol,  ;       //  columna
        NIL, ;       //  data ( no se usa )
        "Arial",;    //  Font
        10, ;        //  Size
        .F., ;       //  Bold
        NIL,;        //  Color NIL por defecto
        NIL,;        //  Align
        NIL,;        //  len
        "1 MILANESA CON FRITAS",; // texto
        .F.,;        //  Italic
        NIL )        //  Angulo

 nRow += 5

oPRN:PRINTDATAX( ;
        nrow,  ;       //  Fila
        nCol,  ;       //  columna
        NIL, ;       //  data ( no se usa )
        "Arial",;    //  Font
        10, ;        //  Size
        .F., ;       //  Bold
        NIL,;        //  Color NIL por defecto
        NIL,;        //  Align
        NIL,;        //  len
        "---------------------",; // texto
        .F.,;        //  Italic
        NIL )        //  Angulo

 nRow += 5

oPRN:PRINTDATAX( ;
        nrow,  ;       //  Fila
        ncol,  ;       //  columna
        NIL, ;       //  data ( no se usa )
        "Arial",;    //  Font
        10, ;        //  Size
        .T., ;       //  Bold
        NIL,;        //  Color NIL por defecto
        NIL,;        //  Align
        NIL,;        //  len
        "MESA 4  HORA: 15:50  ",; // texto
        .F.,;        //  Italic
        NIL )        //  Angulo

   // Cerrar página
   oPrn:EndPageX()

   // Cerrar documento
   oPrn:EndDocX()

  oPrn:ReleaseX()

Gracias por su aporte!!

OEL FaEFe

unread,
Dec 2, 2025, 2:58:07 PM12/2/25
to oo...@googlegroups.com
Hola Rosario, podras pasarme un ejemplo simple de como lo resolviste? gracias desde ya

Omar Farriol

unread,
Dec 2, 2025, 2:59:38 PM12/2/25
to oo...@googlegroups.com
Rosario, buenas tardes, tendras un ejemplo sencillo?

Reply all
Reply to author
Forward
0 new messages