Programación General > C++ Builder

 Quickrep Impresion C++ Builder 6.0

(1/1)

nisisantoto:
Necesito imprimir un QuickRep con el Borland... utilizo la función Print() y aparece la ventana "Printing in Progress" pero nada sucede!....
La impresora predeterminada concuerda con la que se envia a imprimir, pero ya reptio, no imprime!...
Luego utilize la funcion Preview() para verificar, pero la vista previa aparece vacia (pantalla en gris), mientrass que en realidad el QRep esta cargado de datos.
Si alguine me ayuda con esta inquitud les voy a agradecer, porq soy novato en esto de imprimir jaja.
Gracias!

el_shanky:
Buenas no estoy muy familiarizado con el QuickRep pero yo necesité imprimir un Memo y utilizé este código:


--- Código: Text --- void __fastcall TForm1::Imprimir1Click(TObject *Sender){man.cargar(); // esta función carga los datos al memo if (PrintDialog1->Execute()) { // Este código imprime el memo (Mostrar->Memo1) Printer()->Canvas->Font = Mostrar->Memo1->Font; //Asignamos la fuente de impresionint lineHeight = abs(MulDiv(Printer()->Canvas->Font->Size,GetDeviceCaps(Printer()->Handle, LOGPIXELSY), 72)); // determinamos altura de la linealineHeight *= 1.4;int linesPerPage = (Printer()->PageHeight/lineHeight) - 2;int lineCount = 2; // iniciamos la impresion en la linea 2 para dejar margen (en vez de la 0) Printer()->BeginDoc();for (int i=0;i < Mostrar->Memo1->Lines->Count;i++) {if (lineCount++ == linesPerPage) {lineCount = 2;Printer()->NewPage();}String s = Mostrar->Memo1->Lines->Strings[i];Printer()->Canvas->TextOut(0, lineCount * lineHeight, s);}Printer()->EndDoc();}}   
Ojo! Mostrar-> es l nobre de mi formulario (Mostrar-> = Form1->


Espero que te sirva! exitos

 :comp:

Elforious:
Buen algoritmo, es de mucha ayuda, pero tengo una pregunta:

La variable "s" es la que guarda toda una línea del Memo1, y esa es la va imprimiendo antes de saltar a la próxima línea, ¿no es así?

Y la variable i es el número de la línea, no?

Lo que pasa es que esta es la primera vez que veo un algoritmo para imprimir un Memo, y estube desifrandolo :comp:  je.

Gracias por tu atención.

Nota:
Te aconsejo ponerle nombres significativos a las variables que usas, por que si lo haces tu código va a ser más fácil de entender para los demás, incluso para ti si es que no lo ves después de un buen tiempo ;)

el_shanky:
Analizando el codigo un poco puedo decirte que tus intuiciones son acertadas.

"i" es la variable que uso apra mover el for y con ella extraigo la linea del Memo y la asigno a String s, entonces en "s" está el texto a imprimir.


--- Citar ---Nota:
Te aconsejo ponerle nombres significativos a las variables que usas, por que si lo haces tu código va a ser más fácil de entender para los demás, incluso para ti si es que no lo ves después de un buen tiempo

--- Fin de la cita ---
jajaj toda la razón tenes x que leyendo así rápido ni idea tengo ya de que eran las variables!! jaajaja
Igual todos me lo dicen pero como lo documento tanto al codigo x ahí no le doy nombres mas significativos! igual lo voy a tener en cuenta.

Salu2 y disuclpa la tardanza recien lo leo al post! :S

Elforious:
jejeje, lo que me olvide decir es que los nombres significativos en las variables te fomentan la flojera para no documentar tanto el código... :D je! son de mucha ayuda.

Navegación

[0] Índice de Mensajes

Ir a la versión completa