PDA

Ver la Versión Completa : DBCheckBox para Imprimir


emeritos
03-06-2004, 13:24:41
Tengo un fichero donde hay campos de Type L (logical). Segun lo marco o no pone este a False o True. pero mi pregunta es que cuando quiero imprimir ese campo me sale o True o False y lo que quiero es que me lo imprima con una X u otro caractes. ¿ Que DBCheckBox hay para Imprimir que lo pueda hacer como lo hay en una ventana normal ?

__cadetill
03-06-2004, 13:38:52
Hilo movido de Conexión a Impresión


Si usas QR para imprimir, en el evento OnPrint del TQrDbText puedes hacer la comprovación necesaria para imprimir una X o lo que quieras (asignandole el valor al parámetro del evento)

emeritos
03-06-2004, 14:22:59
Me podrias poner un ejemplo, por favor.

Suponiendo que el campo es nombre_per y esta a True como se hace. en el OnPrint

__cadetill
03-06-2004, 14:52:23
No te voy a poner un ejemplo, así no aprenderías. Lo que sí haré es explicarte el funcionamiento del evento OnPrint

Veamos su definición
procedure TForm1.QRDBText1Print(sender: TObject; var Value: String);

Bien, según esto, el evento OnPrint recibe dos parámetros. El primero es el Sender, típico de todo evento (o casi todo). El segundo, que es el que nos interesa, es Value.

Si te fijas, es un parámetro de tipoo In/Out (por el var que le precede) y, Value contendrá lo que el QR va a imprimir en ese QrDbText.

A parte de esto, has de tener presente que, en todo momento puedes consultar el valor de un campo de la tabla de forma directa, es decir, puedes hacer algo como.....


Qr.Dataset.FieldByName('MiCampo').AsXXXX

donde AsXXX es el tipo de campo (AsInteger, AsBoolean, AsFloat, .....)

Resumiendo. Con lo segundo que te he dicho, puedes saber el valor de un determinado campo y, con lo primero, puedes modificar el valor de salida de lo que se va a imprimir en el QrDbText

Venga, que ya verás que es fácil ;)

PD: ten en cuenta que Value es de tipo String (por eso de hacer conversiones si las necesitaras)

jachguate
03-06-2004, 20:27:32
El comportamiento requerido también se puede lograr con el evento OnGetText del campo lógico. Si es true, text seria 'X', y si es false, seria '', por ejemplo.

Hasta luego.

;)

emeritos
04-06-2004, 11:05:54
De que objeto es el OnGetText.

emeritos
04-06-2004, 11:57:48
CADETILL no lo entiendo. Pon un ejemplo a ver si asi lo entiendo. Por favor.

emeritos
04-06-2004, 12:05:26
Me lo puedes explicar un poco mas claro a ser posible con un ejemplo. Por favor

__cadetill
04-06-2004, 12:49:25
Bueno, no está mal, en 1h 3 mensajes :D :D

A ver, pregunta algo específico y te contestaré, pero no me pidas que te de el código hecho, no tendría gracia

El OnPrint, si te fijas en la definición que te he puesto, es de un TQRDBText

jachguate
04-06-2004, 18:01:49
Yo me refiero al onGetText del TxxxField asociado a tu campo de bd.

Hasta luego.