Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 28-01-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
La opción 1 no la he citado porque eso supondría imprimir con el Canvas de la impresora lo cual resulta harto complicado cuando además habrá que alinear números por la derecha etc...

Mira un extracto para que te hagas una idea del problema:

Código Delphi [-]
   
  procedure ImpAlba(n:Integer);
  var
  nSaltLin:Integer;
  nSaltPun:Integer;
  nLinea:Integer;
  lEuro:Boolean;
  cCadena:String;
  begin
  //1 Albarán en Euros
  nSaltLin:=0;
   
  DmXXXX.Cli.IndexName:='Codigos'; //Para poder buscar quien es el cliente.
  DmXXXX.Cli.FindKey([DmXXXX.AlbaCodCliente.Value]);
   
    SetPaperSize(DmXXXX.ConfAltoAlbaran.Value,DmXXXX.ConfAnchoAlbaran.Value);
    Printer.Canvas.Font.Size:=DmXXXX.ConfFontSizeEncabezado.value;
    Printer.Canvas.Font.Name:=DmXXXX.ConfFontEncabezado.Value;
   
   
      With Printer.canvas do
         Begin
   
          printer.BeginDoc;
                 HeadIMpalba(1);
               //Datos del Detalle del Alabarán
                Printer.Canvas.Font.Size:=DmXXXX.ConfFontSizeDetalle.value;
                Printer.Canvas.Font.Name:=DmXXXX.ConfFontDetalle.Value;
   
                DmXXXX.Linalba.First;
                nSaltLin:=0;
                nSaltPun:=DmXXXX.ConfASaltoLinea.Value;
                While Not DmXXXX.LinAlba.Eof do
                begin
                nLinea:=nLinea + 1; //control de número de líneas por albarán
   
                  if nLinea > DmXXXX.ConfASaltoPagina.Value then
                  begin
                  Textout(DmXXXX.ConfAcolDescripcion.value,DmXXXX.ConfAlinNArticulo.Value + (nSaltLin * nSaltPun) ,'..........');
                  nLinea:=0;
                  nSaltLin:=0;
                  Printer.NewPage;
                  HeadImpalba(1);
                  end;
   
                  
   
               cCadena:=numero2Texto(DmXXXX.AlbaRecargo1.Value,2,7);
               Textout(DmXXXX.ConfAcolRecTtl.value ,DmXXXX.ConfAlinBase.Value + (nSaltLin * nSaltPun) , cCadena);
   
                  end;
                  nSaltLin:= nSaltLin + 1;
               end;
   
   
                  //Ver si tiene recargo 1
                  if DmXXXX.AlbaRecargo3.Value <> 0 then
                  begin
               cCadena:=numero2Texto(DmXXXX.AlbaTRec3.Value,2,5);
               Textout(DmXXXX.ConfAcolRec100.value ,DmXXXX.ConfAlinBase.Value + (nSaltLin * nSaltPun) , cCadena);
               cCadena:=numero2Texto(DmXXXX.AlbaRecargo3.Value,2,7);
               Textout(DmXXXX.ConfAcolRecTtl.value ,DmXXXX.ConfAlinBase.Value + (nSaltLin * nSaltPun) , cCadena);
                  end;
                  nSaltLin:= nSaltLin + 1;
               end;
   
               //Pesetas en posición fija
               cCadena:=numero2Texto(DmXXXX.AlbaETotal.Value,0,11);
               //Se quitan las pesetas 01-04-04 Laura
               //Textout(DmXXXX.ConfAcolEuros.value ,DmXXXX.ConfAlinEuros.Value  , cCadena);
   
               Printer.EndDoc;
         end;
  end;

Esto con un Constructor de informes sin embargo es pan comido.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imprimir desde un dbgrid rufo Impresión 1 12-09-2006 23:51:50
Imprimir desde dbgrid alastor Impresión 1 28-04-2006 17:16:07
Varias copias al imprimir muchas facturas Salomon Impresión 7 06-05-2004 18:53:05
Campos calculados, facturas y detalles de facturas. Letty Conexión con bases de datos 7 07-11-2003 11:19:44
Imprimir Facturas con Formato NickName Impresión 5 14-10-2003 16:31:21


La franja horaria es GMT +2. Ahora son las 03:25:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi