PDA

Ver la Versión Completa : como puedo imprimir con el objeto printdialog


DARK_WARRIOR
07-11-2006, 07:55:07
:confused: :confused: estoy asiendo un pequeño editor de texto con el objeto memo en delphi 7 y no encuentro en ningun lugar como puedo mandar a imprimir con el objeto printdialog alguien me podria ayudar espero que aki me puedan ayudar ya que mi maestro de programacion no me supo responder espero su pronta respuesta dando las grasias por antisipado mi correo es dark_warrior_plc@hotmail.com

:confused:

Neftali [Germán.Estévez]
07-11-2006, 10:06:53
...ya que mi maestro de programacion no me supo responder

Creo que deberías buscarte otro maestro...:D

El componente TPrintDialog no sirve para imprimir.
Éste componente (de forma similar al resto de componentes de diálogos) sólo sirven para obtener opciones respecto a la operación que vas a realizar; En éste caso el PrintDialog te dará opciones de impresión (número de copias, página inicial,...); El OpenDialog te dará las opciones para abrir un fichero (nombre del fichero, directorio,...) y después de obtener los datos del diálogo es cuando tú debes realizar la operación utilizando esas opciones.

Para imprimir un memo, hay un método bastante simple (1 sóla línea) que es utilizando un Richedit con la propiedad PlainText=True; Si haces el cambio del memo por el RichEdit, podrás utilizar el método Print de RichEdit. Aunque yo sigo "apostando" por la opción de RichEdit.

Otra opción sería dejar el Memo y en el momento de imprimir asignarlo a un RichEdit e imprimirlo y por último enviar directamente a la impresora.

NOTA: Para próximas veces te recomiendo que hagas una búsqueda en los foros. Por ejemplo aquí puedes un ejemplo de cómo imprimir un memo con TPrinter (http://www.clubdelphi.com/foros/showthread.php?t=24966&highlight=imprimir+memo);

DARK_WARRIOR
07-11-2006, 16:02:27
Creo que deberías buscarte otro maestro...:D

El componente TPrintDialog no sirve para imprimir.
Éste componente (de forma similar al resto de componentes de diálogos) sólo sirven para obtener opciones respecto a la operación que vas a realizar; En éste caso el PrintDialog te dará opciones de impresión (número de copias, página inicial,...); El OpenDialog te dará las opciones para abrir un fichero (nombre del fichero, directorio,...) y después de obtener los datos del diálogo es cuando tú debes realizar la operación utilizando esas opciones.


Disculpa creo que no me supe esplicar lo que yo quise preguntar es como utiliso el printdialog para que me de esas opciones de impresion de nuevo agradesco sus respuestas antisipadamente grasias mi correo es dark_warrior_plc@hotmail.com

Neftali [Germán.Estévez]
07-11-2006, 16:11:49
Haz una búsqueda en los foros por TPrintDialogs y encontrarás no pocos resultados.

Por ejemplo:

if (PrinterDialog.execute) then begin
RvRenderPrinter1.FirstPage := PrinterDialog.FromPage;
RvRenderPrinter1.LastPage := PrinterDialog.ToPage;
RvRenderPrinter1.Render(NDRStream);
end;

DARK_WARRIOR
07-11-2006, 16:45:23
Haz una búsqueda en los foros por TPrintDialogs y encontrarás no pocos resultados.

Por ejemplo:

Código Delphi [-] (http://www.clubdelphi.com/foros/#)
if (PrinterDialog.execute) then begin
RvRenderPrinter1.FirstPage := PrinterDialog.FromPage;
RvRenderPrinter1.LastPage := PrinterDialog.ToPage;
RvRenderPrinter1.Render(NDRStream);
end;




este codigo me dise que tienes un error en
if (PrinterDialog.execute) then begin
el error que me marcas es
[Error] Unit1.pas(33): Undeclared identifier: 'PrinterDialog'
tengo que declararlo como variavle o que? y que tipo?
espero su pronta respuesta grasias

alguien me podria ayudar

dec
07-11-2006, 16:56:25
Hola,

El "PrinterDialog" que puso Neftalí es, por supuesto, el nombre del componente al que te refieres, previamente añadido en el formulario. Por supuesto podrías declarar tú una variable en "algún sitio" del tipo "TPrinterDialog". En todo caso, si añadiste un componente "PrinterDialog" en tu formulario este tendrá el identificador "PrinterDialog1". Pues bien, sustituye un nombre por otro. Y recuerda que no se trata de copiar y pegar código fuente sin más... si no entiendes para qué sirve... de poco servirá y no se tratará de que "no funcione" o de errores, sino de que en algún sitio se está haciendo algo demás o de menos o no como se debe, en todo caso.

DARK_WARRIOR
07-11-2006, 18:43:33
:confused: :confused: soy nuevo en delphi y quisiera que alguien me pudiera desir caul es el comando que se usa para llamar a la impresora para imprimir :confused: :confused:

lo que intento aser es un pequeño editor de texto que pueda mandar a imprimir lo que estoy usando es un campo memo y tengo que aserlo con las dialogs como el savedialog que lo estoy utilisando asi

Código Delphi

begin
if savedialog1.execute then begin memo1.lines.savetofile (savedialog1.filename);
end;
end;


pero no se como aserle para usar el PrintDialog

tengo la idea de que deve ser algo asi pero no se que mas va espero que alguien me pueda ayudar
la idea que tengo de como va es esta
Código Delphi

begin
if PrintDialog1.execute then
begin
memo1.lines.[el comando que llame a imprimir que es e que espero alguien me pueda dar ]tofile (PrintDialog1.filename);
end;
end;


porfavor alguien me diga como es lo que tengo que poner si esque boy por el camino correcto se los agradesere mucho
e buscado en internet y no encuentro nada

mi correo es dark_warrior_plc@hotmail.com espero una pronta respuesta grasias entisipadamente

Neftali [Germán.Estévez]
08-11-2006, 10:30:53
Dentro de tu directorio de Delphi, tienes un directorio de Demos.
Dentro tienes el código completo de dos editores de Texto, uno más sencillo y otro más complejo.

Uno en la carpeta:
"c:\Archivos de programa\Borland\Delphi7\Demos\RichEdit"
y otro en la carpeta:
"c:\Archivos de programa\Borland\Delphi6\Demos\Doc\TextEdit"

Revísalos, compílalos y pruébalos.

DARK_WARRIOR
09-11-2006, 18:34:56
Dentro de tu directorio de Delphi, tienes un directorio de Demos.
Dentro tienes el código completo de dos editores de Texto, uno más sencillo y otro más complejo.

Uno en la carpeta:
"c:\Archivos de programa\Borland\Delphi7\Demos\RichEdit"
y otro en la carpeta:
"c:\Archivos de programa\Borland\Delphi6\Demos\Doc\TextEdit"

Revísalos, compílalos y pruébalos.

grasias si me sirvieron solo me encontre aora con este problema


begin
if PrintDialog1.Execute then
Editor.Print(PathName);
end;

que es lo que ase el pathname :confused: :confused:
porque es el error que me da en el programa dise que tiene un error en ese pedaso de codigo el error es [Error] Unit1.pas(35): Undeclared identifier: 'PathName'
que no esta declarada entonses como la tengo que declarar o que laver es la que desempeña el pachname :confused: y como puedo solucionar mi prblema:confused: :confused: :confused:

Neftali [Germán.Estévez]
09-11-2006, 18:52:35
...que es lo que ase el pathname
Si no recuero mal es una cadena que sale en lo hoja impresa (un título); Puedes poner un título o dejarla en blanco.
En este caso supongo que quieren mostrar la ruta del fichero a imprimir.

DARK_WARRIOR
09-11-2006, 19:21:54
grasias ya me salio vi que asta arriba estava declarada como constante el path name


const
DefaultFileName = 'Untitled';


grasias por todas las molestias ocacionadas :)