¿Cómo imprimir tickets en builder c++?

Estoy haciendo un programa y me encuentro con 2 problemas en este momento:
1. Cómo imprimir los tickets, sé que se pueden hacer con un Memo y mandar las líneas a la impresora o por medio de QuickReport
2. Desde mi programa previamente el usuario debe seleccionar la impresora de tickets, ¿cómo mandar a imprimir a la impresora seleccionada?

1 respuesta

Respuesta
1
Buenos Dias/Tardes
Primeramente el uso de Qreports para imprimir una factura, no es el método más recomendable, ya que las facturas y las formas libres deben por lo menos poseer sitios donde vayas a imprimir algo (ubicaciones físicas), aquí el método que manda es el del Objeto Printer, checha la referencia de Delphi para este objeto, esta es similar al objeto Prienter de Borland Pascal y el TPrinter de Turbo Visión Pascal, siendo una manera efectiva en C++Builder, ya que la sintaxis es idéntica para Delphi y C++Builder, si tu version de BCB es la 6 o posterior te recomiendo consigas el Componente TPrintPreview, esto te ahorra montones de hojas en pruebas de impresión pues tiene un visor de preview para impresora, y es de lo más amigable y fácil de usar, soporta gráficos y formas DXF.
¿Lo segundo donde imprimo?, dbes adicionar a tu aplicación el componente TPrintDialog, ubicado en las paletas de Dialogs de tu IDE BCB, para que el usuario escoja la impresora debes ejecutar el método bajo la siguiente sintaxis:
if (this->PrintDialog1->Execute()) {
... sentencias de impresión de ticket
... sentencias de impresión de ticket
};
Éxitos.
Gracias por tu ayuda, pero creo que no me expliqué lo suficiente en la segunda pregunta:
Lo que quiero hacer es un combo en donde se desplieguen las impresoras instaladas y el usuario seleccione en cual quiere mandar a imprimir todos sus tickets, esa información la guardo
Después, al hacer la venta, ya tengo en qué impresora mandarlo y ahí mando todos los tickets
¿La pregunta es cómo detecto qué impresoras tengo instaladas para ponerlas en el combo y cómo mando a imprimir a una impresora determinada?
Con el Objeto TPrinter; de la unidad Printers (delphi) y Printers.cpp (BCB);
usando el siguiente metodo:
TPrinter *myListPrinter;
myListPrinters = new TPrinter();
if (myListPrinters->Printers->Count>0) {
this->ComboBox1->Items->Assing(myListPrinters);
this->ComboBox1->ItemIndex = myListPrinters->Index - 1;
}
else
{
...CODIGO QUE MUESTRA NO HAY IMPRESORAS INSTALADAS
}
Alli tines que checar que impresora seleccionara el usuario y guardar el valor del ComboBox1; y cuando vayas a imprimir debes crear la misma instancia con el objeto TPrinter; y asignar el Numero guardado a la propiedad Index;OJO: si las impresoras son movidas o la cantidad de impresoras cambia; cuando selecciones automaticamente deberias corroborar que las propiedades de la impresoras que estes llevando a set "Seleccion de puerto de salida"; este conectada y sea la que anteriormente selecciono el usuario.
Con el Objeto TPrinter; de la unidad Printers (delphi) y Printers.cpp (BCB);
Usando el siguiente método:
TPrinter *myListPrinter;
myListPrinters = new TPrinter();
if (myListPrinters->Printers->Count>0) {
this->ComboBox1->Items->Assing(myListPrinters->Printers);
this->ComboBox1->ItemIndex = myListPrinters->Index - 1;
}
else
{
...CODIGO QUE MUESTRA NO HAY IMPRESORAS INSTALADAS
}
Alli tines que checar que impresora seleccionara el usuario y guardar el valor del ComboBox1; y cuando vayas a imprimir debes crear la misma instancia con el objeto TPrinter; y asignar el Numero guardado a la propiedad Index;OJO: si las impresoras son movidas o la cantidad de impresoras cambia; cuando selecciones automaticamente deberias corroborar que las propiedades de la impresoras que estes llevando a set "Seleccion de puerto de salida"; este conectada y sea la que anteriormente selecciono el usuario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas