buitrago
30-08-2004, 10:47:35
Este es el codigo.
Pero en una impresora de Inyeccion no salta la linea, que deberia hacer, imprimirsela yo tambien...imprimir un caracter de salto?
Hay otra forma de hacerlo?
Este es el codigo:
var
printDialog : TPrintDialog;
myPrinter : TPrinter;
begin
inherited;
// Create a printer selection dialog
printDialog := TPrintDialog.Create(form_Printer_Dialog);
// If the user has selected a printer (or default), then print!
if printDialog.Execute then
begin
// Use the Printer function to get access to the
// global TPrinter object.
// All references below are to the TPrinter object
myPrinter := Printer;
with myPrinter do begin
// Start printing
BeginDoc;
// Set up a large blue font
Canvas.Font.Size := 8;
Canvas.Font.Color := clNone;
// Write out the page size
DatosDatabase.a_Transaction_Queries_Commit.Execute;
DatosDatabase.a_Transaction_Queries_Start.Execute;
q_Factura.Close;
q_Factura.ParamByName('P_EMPRESA').AsInteger := t_FacturasID_EMPRESA.Value;
q_Factura.ParamByName('P_FACTURA').AsInteger := t_FacturasID_FACTURA.Value;
q_Factura.Open;
q_Factura_Detalles.Close;
q_Factura_Detalles.ParamByName('P_EMPRESA').AsInteger := t_FacturasID_EMPRESA.Value;
q_Factura_Detalles.ParamByName('P_FACTURA').AsInteger := t_FacturasID_FACTURA.Value;
q_Factura_Detalles.Open;
if Not(q_Factura.IsEmpty) And Not(q_Factura_Detalles.IsEmpty) then Begin
Canvas.TextOut(20, 20, ' ');
Canvas.TextOut(20, 20, ' ');
Canvas.TextOut(20, 20, 'Factura No. ' + IntToStr(q_FacturaID_FACTURA.Value));
q_Factura_Detalles.First;
While Not(q_Factura_Detalles.Eof) Do Begin
Canvas.TextOut(20, 40, 'Producto: ' + t_Facturas_ProdsID_PRODUCTO.Value);
q_Factura_Detalles.Next;
End;
End;
q_Factura.Close;
q_Factura_Detalles.Close;
DatosDatabase.a_Transaction_Queries_Commit.Execute;
// Finish printing
EndDoc;
end;
end;
Pero en una impresora de Inyeccion no salta la linea, que deberia hacer, imprimirsela yo tambien...imprimir un caracter de salto?
Hay otra forma de hacerlo?
Este es el codigo:
var
printDialog : TPrintDialog;
myPrinter : TPrinter;
begin
inherited;
// Create a printer selection dialog
printDialog := TPrintDialog.Create(form_Printer_Dialog);
// If the user has selected a printer (or default), then print!
if printDialog.Execute then
begin
// Use the Printer function to get access to the
// global TPrinter object.
// All references below are to the TPrinter object
myPrinter := Printer;
with myPrinter do begin
// Start printing
BeginDoc;
// Set up a large blue font
Canvas.Font.Size := 8;
Canvas.Font.Color := clNone;
// Write out the page size
DatosDatabase.a_Transaction_Queries_Commit.Execute;
DatosDatabase.a_Transaction_Queries_Start.Execute;
q_Factura.Close;
q_Factura.ParamByName('P_EMPRESA').AsInteger := t_FacturasID_EMPRESA.Value;
q_Factura.ParamByName('P_FACTURA').AsInteger := t_FacturasID_FACTURA.Value;
q_Factura.Open;
q_Factura_Detalles.Close;
q_Factura_Detalles.ParamByName('P_EMPRESA').AsInteger := t_FacturasID_EMPRESA.Value;
q_Factura_Detalles.ParamByName('P_FACTURA').AsInteger := t_FacturasID_FACTURA.Value;
q_Factura_Detalles.Open;
if Not(q_Factura.IsEmpty) And Not(q_Factura_Detalles.IsEmpty) then Begin
Canvas.TextOut(20, 20, ' ');
Canvas.TextOut(20, 20, ' ');
Canvas.TextOut(20, 20, 'Factura No. ' + IntToStr(q_FacturaID_FACTURA.Value));
q_Factura_Detalles.First;
While Not(q_Factura_Detalles.Eof) Do Begin
Canvas.TextOut(20, 40, 'Producto: ' + t_Facturas_ProdsID_PRODUCTO.Value);
q_Factura_Detalles.Next;
End;
End;
q_Factura.Close;
q_Factura_Detalles.Close;
DatosDatabase.a_Transaction_Queries_Commit.Execute;
// Finish printing
EndDoc;
end;
end;