PDA

Ver la Versión Completa : Impresión de mensajes


Ana Tudela
26-04-2005, 09:30:23
Holaaa!!!

Tengo un control de tipo TMemo en el que muestro mensajes. Me gustaría poder volcar esos mensajes a una impresora para irlos sacando en papel.

Os agradecería que me dieraís un código de ejemplo.

Muchas gracias a todos.

Neftali [Germán.Estévez]
26-04-2005, 09:48:57
Una idea es utilizar un control de TRichEdit en lugar de un TMemo. Si lo utilizas sin formato es prácticamente igual que un TMemo (en cuanto a utilización) y la ventaja es que ya tiene implementado el método Print.

canadier
26-04-2005, 13:25:40
Hola

Aquí tienes un ejemplo de como imprimir un TMEMO utilizado directamente el lienzo de la impresora, con la particularidad de poder utilizarlo en todas las versiones de Delphi.


Procedure TDlgMsgMemo.BotonImprimirClick(Sender: TObject);
Var
Linea : LongInt; {Contador}
F : TextFile; {Handle impresora}
Begin
If DlgImpresora.Execute then {TPrintDialog}
begin
Try
AssignPrn(F); {Asigna la variable F a la impresora}
Rewrite(F); {Crea y abre el fichero}
{Asigna el tipo de letra del memo al Canvas del objeto Printer}
Printer.Canvas.Font := IdMemo.Font;
Printer.Canvas.Font.Style := [];
Printer.Canvas.Font.Size := 12;
Linea := 0;
While Linea < IdMemo.Lines.Count Do
begin
Writeln(F,IdMemo.Lines[Linea]); {Escribe el contenido de la linea al obejeto Printer}
Inc(Linea);
end;
Finally
System.Close(F);
end;
end;
IdMemo.SetFocus;
End; {TDlgMsgMemo.BotonImprimirClick}


Un saludo

Neftali [Germán.Estévez]
26-04-2005, 13:35:10
Revisa la utilización de TAG's canadier, la lectura del código se hace más sencilla.

Utilizar TAG's (http://www.clubdelphi.com/foros/misc.php?do=bbcode)