PDA

Ver la Versión Completa : Imprimir contendido de un RichEdit


agustin173
14-09-2010, 23:33:53
Hola como estan todos

Estoy usando delphi 7

Tengo un richedit y lo cargo con datos, como puedo imprimir lo que cargo el richedit en ese momento.

Los datos no estan almacenando en la base de dato.

No se programar mucho si me pueden dar un ejemplo del codigo se lo agradeceria mucho.

es un programa de ayuda que estoy asiendo para mi proyecto de la universidad.

agustin173
14-09-2010, 23:39:00
hola como estan

Estoy usando delphi 7

Necesito imprimir los datos que carga un richedit, Los datos no estan en una base de datos.

Solo quiero imprimir los datos que en ese momento tiene el richedit

Tengo un boton llamado impresion cuando yo lo pulse quiero que imprima los datos que estoy viendo en el richedit.

Estoy asiendo un programa de Ayuda gracias.

Si pueden darme un ejemplo del codigo que debo poner se lo agradeceria no soy muy bueno programando, gracias

Casimiro Notevi
14-09-2010, 23:40:06
richedit.print('título');

Caral
14-09-2010, 23:44:55
Hola
Que reporteador vas a usar?.
Saludos

ecfisa
14-09-2010, 23:49:07
Hola Agustín.

Si tenés pensado imprimir sin usar algún XReport te pongo dos links como para que vayas mirando.

LINK1 (http://delphi.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=delphi&cdn=compute&tm=20&gps=201_299_1090_476&f=11&tt=14&bt=0&bts=0&zu=http%3A//www.adug.org.au/PastMeetings/Presentations/DonMacraeOct96/default.htm)
LINK2 (http://delphi.about.com/od/tprinterprinting/Printing_with_TPrinter.htm)

Saludos. :)

agustin173
15-09-2010, 00:21:26
no voy usar reporteador solo quiero imprimir lo que en ese momento mando a cargar desde un treeview y lo presento en un richedit osea los datos que mando a buscar atravez de un treeview y lo presento en un richedit.

ok ecfisa vere los link les digo luego

agustin173
15-09-2010, 00:28:38
no entiendo lo que me indican los link ecfisa pondre parte del codigo aver si me entiende y se puede hacer veran:

Este es el codigo que llamo

procedure TFrmAyuda.TreeView1Click(Sender: TObject);
begin
if TreeView1.Items[4].Selected then
with TRichEdit.Create(nil) do
begin
Parent:= Self;
Color:= clWhite;
Left:=240;
Top:= 112;
Height:= 465;
Width:= 337;
Font.Style:= [fsbold];
ReadOnly:= True;
Font.color:= clBlack;
Font.Name:= 'MS Sans Serif';
Font.Size:= 10;
plainText:= False;
ScrollBars:= ssVertical;
SelAttributes.Color:= clBlue;
Lines.Add(' MANTENIMIENTO ITEBIS');
Lines.Add('');
Lines.Add('');
SelAttributes.Color:= clBlue;
Lines.Add('CREAR');
Lines.Add('');
Lines.Add('Para Crear un Itebis los pasos a seguiar son los siguientes:');
Lines.Add('');
Lines.Add('1- Doy un click en la Opcion "Mantenimientos"');
Lines.Add('2- Doy un click en la Opcion "Itebis"');
Lines.Add('3- Digito el Itebis deseado en el Campo "Itebis"');
Lines.Add('4- Doy un click en el "Diskette"');
Lines.Add('5- Doy un click al botom "Aceptar"');
Lines.Add('');
SelAttributes.Color:= clRed;
Lines.Add('Nota: Si desea Cancelar o Limpiar el campo Itebis solo debe presionar el boton con la "X"');
Lines.Add('');
Lines.Add('');
Lines.Add('');
SelAttributes.Color:= clBlue;
Lines.Add('NUEVO');
Lines.Add('');
Lines.Add('Para introducir otro itebis los pasos son los siguientes:');
Lines.Add('');
Lines.Add('1- Doy un click en el "Diskette" para guardar la informacion');
Lines.Add('2- Doy un click en la "Hoja en Blanco"');
Lines.Add('3- Digito el Itebis deseado en el Campo "Itebis"');
Lines.Add('');
Lines.Add('');
Lines.Add('');
SelAttributes.Color:= clBlue;
Lines.Add('BUSCAR');
Lines.Add('');
Lines.Add('Para Localizar un Itebis los pasos a seguiar son los siguientes:');
Lines.Add('');
Lines.Add('1- Doy un click en los "Binoculares"');
Lines.Add('2- Cuando se abra la opcion de Modificacion y Eliminacion puedo hacer la busqueda por "Codigo" o "Itebis"');
Lines.Add('3- Si es por "Codigo" Introdusco el numero del registro deseado');
Lines.Add(' O');
Lines.Add('4- Si es por "Itebis" Introdusco el Itebis deseado');
Lines.Add('5- Doy un click en el "Simbolo de Bueno" y me traera la informacion deseada');
Lines.Add('');
SelAttributes.Color:= clRed;
Lines.Add('Nota: Si desea Tambien puede introducir los valores en ambos campos a la vez osea "Codigo e Itebis" y la busqueda se realizara tambien, Si desea cancelar la busqueda solo debe presionar el boton con la "Lupa"');
Lines.Add('');
Lines.Add('');
Lines.Add('');
SelAttributes.Color:= clBlue;
Lines.Add('MODIFICAR / ELIMINAR');
Lines.Add('');
Lines.Add('Para Modificar y Eliminar un registro los pasos son los siguientes:');
Lines.Add('');
Lines.Add('1- Debo efectuar una busqueda primero "Ver Buscar"');
Lines.Add('2- Debo escoger la "Carpeta con el Lapiz" ese es el boton de Modificar');
Lines.Add(' O');
Lines.Add('3- Debo escoger la "Hoja con la X" que es el boton de Eliminar');
end;
end;

donde dice lines.add eso es lo que llega al richedit y lo llena entonces como puedo imprimir eso cuando se muestra en el richedit. mediante un boton llamado impresion.

ecfisa
15-09-2010, 00:34:59
Hola Agustin.

Por favor, usá las etiquetas y .

Ahora voy a mirar el código.

Saludos.

agustin173
15-09-2010, 00:36:57
No conozco mucho sobre las etiquetas pero vere las proxima vez como la pongo

ecfisa
15-09-2010, 01:08:21
Agustin, tenés que incluir la unidad Printers y básicamente la impresión del RichEdit sería:

uses Printers;

procedure TForm1.Imprimir(RichEdit: TRichEdit);
var
i: Integer;
Prn: TextFile;
begin
AssignPrn(Prn);
Rewrite(Prn);
for i:= 0 to RichEdit.Lines.Count -1 do
Write(Prn,RichEdit.Lines[i]);
CloseFile(Prn)
end;

Claro que si deseas hacer un procedimiento para imprimir deberías crear una variable para que almacene el RichEdit, ya sea declarandola global o bién pasándola como parámetro.
Ejemplo:

RichEdit:= TRichEdit.Create(nil);

Otra cosa, no veo en tu código que liberes el recurso RichEdit, pero quizá lo hagas en otra parte...

Las etiquetas se ponen al inicio y al final del código.
Ejemplo:


procedure TForm.loquesea(Sender: TObject);
begin
....
end;



Saludos. :)

agustin173
15-09-2010, 01:17:35
ok entendi lo de las etiquetas

voy a probar el codigo que me diste te cuento luego.

bosster_018
15-09-2010, 07:06:17
:confused: (http://www.clubdelphi.com/foros/showthread.php?t=69872)

Neftali [Germán.Estévez]
15-09-2010, 11:01:42
Y si utilizas:


richedit1.Print('Impresión...');

Casimiro Notevi
15-09-2010, 11:03:48
Y si utilizas:
Código Delphi [-] richedit1.Print('Impresión...');



Es lo que había sugerido yo en el otro hilo REPETIDO que había creado el usuario, hasta que hace un rato he visto que existía este otro, los he combinado ambos, la respuesta está en los primeros posts.
:)

agustin173
17-09-2010, 00:59:13
Muchachos muchas gracias ya me funciono tube que hacer algunos arreglos pero gracias a su ayuda pude hacerlo.

y las etiquetas haber si puedo poner como es gracias.