Ver Mensaje Individual
  #5  
Antiguo 05-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Reputación: 0
leogobo Va por buen camino
Bueno, en seguida pongo el codigo completo que estoy utilizando:

Código Delphi [-]
 
Procedure imprimir(Prn: TPrinter);
var

bmp : TBitmap;
begin

   with prn do
   begin
   BeginDoc;

   canvas.pen.Width:=15;
   canvas.Rectangle(40,40,3450,2430);

   Canvas.Font.Name := 'Arial';
   Canvas.Font.Color := clBlue;
   Canvas.Font.Size := 22;
   Canvas.TextOut(250, 250, 'CORRESPONDENCIA EL TIEMPO');

   Canvas.Font.Color := clBlack;
   Canvas.Font.Size := 15;
   Canvas.TextOut(250, 650, 'Destino: ' + form3.DataSource1.DataSet.FieldByName('Ciudad Destino').AsString);

  Canvas.TextOut(250, 850, 'Direccion: ' + form3.DataSource1.DataSet.FieldByName('Ruta').AsString);

   Canvas.TextOut(250, 1050, 'Destinatario: ' +form3.DataSource1.DataSet.FieldByName('Nombre Destinatario').AsString);

 
   Canvas.TextOut(250, 1550, 'Remitente: ' + form3.DataSource1.DataSet.FieldByName('Nombre Remitente').AsString);

 
   Canvas.TextOut(250, 1750, 'Fecha envio: ' + form3.DataSource1.DataSet.FieldByName('Fecha').AsString);

 
    Canvas.Font.Size := 30;
    Canvas.Font.Name := 'Code128bWin';
    Printer.Canvas.TextOut(2400, 2000,form3.DataSource1.DataSet.FieldByName('id').AsString);
 
   newpage;
   EndDoc;
  end;
end; 

procedure TForm3.Button1Click(Sender: TObject);

begin
   u:=1;
  If MessageDlg ('Desea imprimir la etiqueta para esta entrada?', mtConfirmation ,[mbyes,mbno],0) = mrYes Then
    begin
    if printdialog1.Execute then
     begin
         dbf2.Last;
       try

      while u <= StrToInt(contregedit.Text) do
       begin
        imprimir(Printer);
        u:=u+1;
      end;
     finally
  Printer.Free;
  end;
 end;
end;
end;

tambien tengo el problema que necesito imprimir varias paginas en el mismo documento, pero ya que enddoc; esta en el procedimiento solo se imprime de a una.

Mi intecion es que pueda utilizar el codigo del procedimiento en varias partes del programa sin tener que escribirlo de nuevo.

Última edición por leogobo fecha: 05-06-2011 a las 21:53:40.
Responder Con Cita