Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Componente de Quickreport (https://www.clubdelphi.com/foros/showthread.php?t=33487)

luxus 07-07-2006 21:20:07

Componente de Quickreport
 
Hola, estoy usando QuickReport para diseñar un form y necesito un componente con la misma funcion de checkbox pero que sea visible en quickreport. Es decir, un QLabel pero que pueda estar marcado (checked) o no.
Gracias a todos por la ayuda.
Saludos

nemesio 07-07-2006 23:54:45

No te sirve colocar un Shape cuadrado del tamaño de un check y dentro colocar un Label que al caption lo cambies antes de Imprimir y coloques una 'X' cuando es true y ' ' cuando es False?. Eso lo puedes hacer en el evento BeforePrint de la Banda.

Lepe 08-07-2006 17:12:50

Siguiendo la idea de nemesio, En lugar de una X puedes mirar las fuentes Weeddings que tiene el símbolo de una marca de verificación, además de otros símbolos.

Yo siempre he puesto un "Pagado: Si" y "Pagado: No" para esos campos, directamente en el BeforePrint del campo.

Saludos

Patricio 31-10-2007 19:07:44

consulta
 
lepe, me parecio genial eso de utilizar las fuentes webdings u otra, lo quise probar, cree varios qrlabels a los cuales les coloque el tipo de fuente webdings y dependiendo si tiene q estar tildado o destildado le asigne el texto indicado. (me parece que 'a' para tildado o '1' destildado) el tema es q cuando lo imprime no se porque me lo muestra con fuente Verdana. Porque puede ser?

Saludos

Lepe 01-11-2007 10:42:34

¿como imprimes?

Si usas un generador de informes, tendrás que ponerle ese tipo de letra. ¿se lo salta a la torera?

saludos

Patricio 01-11-2007 12:47:07

quickreport
 
Hola lepe, gracias x tu contestacion, yo uso quickreport en delphi5, en la banda detalle cree 1 qrlabel con el tipo de fuente windgdings y le asigno la letra correspondiente al caracter tildado cuando tiene q estar activo y lo mismo para desactivo, pero me aparece en el mismo tipo de letra q el form

Lepe 02-11-2007 01:49:52

Lo que he hecho es:
- Añadir un qrLabel
- Fuente "Wingdings"tamaño 12 puntos
- En el caption he puesto " q x "

En el QuickReport aparece los símbolos correspondientes, en la Presentación preliminar también, impreso también ¿será por tu versión de QR? :confused:.

Con la fuente Webdings tienes también la "a r" esas dos letras se corresponden con dos símbolos alternativos.

De todas formas, si no sale, lo único que se me ocurre es añadir dos qrImages con la imagen cargada, en el evento OnPrint de la banda, habilitas el que quieres ver:
Código Delphi [-]
procedure TquickReport1.qrBandDetallePrint(....);
begin
  qrImage1.Enabled := query1.CAmpo.asstring = 'Si';
  qrImage2.Enabled := not qrImage1.Enabled;
end;

Como sabrás en QuickReport se usa la propiedad Enabled para que el control se aparezca en el informe o no. (Aunque en delphi suele ser la propiedad visible).

Saludos


Saludos

Patricio 02-11-2007 14:18:11

seguimos maso...
 
Ante todo gracias por las respuestas, la cosa es que como no me quiere imprimir en letra wingdings (rarisimo) hice dos imagenes en photoshop de 20 x 20 con un cuadrado tildado y uno vacio, lo puse en el quickReport y antes de imprimir le indico cual mostrar

Lo que me pasa ahora es que en la vista previa se ven bien las imagenes pero cuando las imprimo, las lineas del cuadrado se ven "punteadas", probe a cambiarle la resolucion a las imagenes (son jpg) agrandandolas y sigue igual.

Probe de cambiar de pc, sigo con la misma impresora pero en un pc mejor y lo mismo, se les ocurre algo?

Gracias

salvica 14-11-2007 17:17:27

Cita:

Empezado por Patricio (Mensaje 243021)
.....Lo que me pasa ahora es que en la vista previa se ven bien las imagenes pero cuando las imprimo, las lineas del cuadrado se ven "punteadas", probe a cambiarle la resolucion a las imagenes (son jpg) agrandandolas y sigue igual.

Probe de cambiar de pc, sigo con la misma impresora pero en un pc mejor y lo mismo, se les ocurre algo?

Gracias

Hola a tod@s, a mi modo de ver es mucho más fácil:
En modo diseño das al campo (QRExpr) una longitud fija y activas todos los frames (para que forme el cuadradito)

Para poner el contenido, puedes hacerlo de dos formas:
- En la propiedad Expression utiliza función IF del propio QReport: IF( condicion, valor_para_true, valor_para_false )

- En el evento OnPrint del QRExpr:
Código Delphi [-]
procedure TForm1.QRExpr1OnPrint(sender: TObject; var Value: String);
begin
  with QuickRep1.DataSet do
       if FieldByName( 'tu_campo_logico' ).AsBoolean
          then Value := 'X'
          else Value := '';
end;

El evento OnPrint es común a QLabel y QExpr por lo que el ejemplo vale para ambos.
Saludos
salvica.


La franja horaria es GMT +2. Ahora son las 03:29:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi