Ver Mensaje Individual
  #12  
Antiguo 22-01-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Las coordenadasson desde lo márgenes superior e izquierdo del ticket, cuando llegas al final del ticket:

Printer.Canvas.NewPage;

así saltas a la siguiente página.
y las coordenadas vuelve a comenzar de nuevo por el principio.

Aquí te pego un fragmento de código que yo utilizo y funciona correctamente.

Código Delphi [-]
      While Not DmXX.LinAlba.Eof do
      begin
      nLin:=nLin + 1;
      
        if nLin > DmXX.ImpresoraLineasDetalle.Value then
        begin
        Printer.NewPage;
        nLin:=1;
        Imprimir_Cabecera(1);
        nSaltoLin:=DmPan.ImpresorafDetalle.Value;
        end;

      nSaltoLin:=nSaltoLin +  DmPan.ImpresoraSaltoFila.Value;
      Printer.Canvas.TextOut(DmPan.ImpresoraCProducto.Value , nSaltoLin, DmPan.LinAlbaProducto.Value);
      cNumText:=FormatFloat(',0.00',DmPan.LinAlbaCantidad.Value);
      Printer.Canvas.TextOut(DmPan.ImpresoraCdCantidad.Value   - Printer.Canvas.TextWidth(cNumText), nSaltoLin, cNumText);
        if DmPan.AlbaContado.Value = True then
        begin
        cNumText:=FormatFloat(',0.00',DmPan.LinAlbaPrecio.Value);
        Printer.Canvas.TextOut(DmPan.ImpresoraCdPrecio.Value - Printer.Canvas.TextWidth(cNumText), nSaltoLin, cNumText);
        cNumText:=FormatFloat(',0.00',DmPan.LinAlbaTotal.Value);
        Printer.Canvas.TextOut(DmPan.ImpresoraCdEuros.Value - Printer.Canvas.TextWidth(cNumText),nSaltoLin,cNumText );
        end;
      DmXX.LinAlba.Next;
      end;
Un Saludo.

Nota: Yo las coordenadas las guardo en una tabla, para así en un momento dado cambiar la ubicación de cualquiera de los objetos sin tener que tocar el código.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita