Imprimir en negrita segun una condicion

1,390 views
Skip to first unread message

Guillermo MDQ

unread,
Oct 18, 2010, 5:32:26 PM10/18/10
to Comunidad de Visual Foxpro en Español
Hola amigos.
Hay alguna forma de imprimir, en un reporte, un dato en negrita
dependiendo del valor de un campo ?

Si cDato="S" que me imprima en negrita, sino no.

Muchas gracias

Saludos
Guillermo

Ricardo Pina

unread,
Oct 18, 2010, 5:37:52 PM10/18/10
to publice...@googlegroups.com
Hola Guillermo
 
podes poner dos veces el campo, una de ellas en negrita y ambos que se impriman segun la condicion que corresponda
 
Saludos

--
Ricardo Pina
D&SIP
Desarrollo y Servicios Informáticos Profesionales
www.dsip.com.ar

Guillermo MDQ

unread,
Oct 18, 2010, 5:44:56 PM10/18/10
to Comunidad de Visual Foxpro en Español
Si, muchas gracias por responder, lo estaba haciendo de esa forma,
pero queria saber si existia otra opcion para hacerlo.

Guillermo.


On 18 oct, 18:37, Ricardo Pina <ricp...@gmail.com> wrote:
> Hola Guillermo
>
> podes poner dos veces el campo, una de ellas en negrita y ambos que se
> impriman segun la condicion que corresponda
>
> Saludos
>

Walter R. Ojeda Valiente

unread,
Oct 18, 2010, 5:46:51 PM10/18/10
to publice...@googlegroups.com
Hola Guillermo

Sí, claro que sí. Y no solamente en negritas. Puedes imprimir en colores (si la impresora los soporta), con distintas fuentes, tamaños de letra, etc.

¿Cómo se hace eso?

Teniendo dos campos, que en la pestaña "General" tienen la misma expresión, pero difieren en la pestaña "Style".

Para elegir cual de ellos se deberá imprimir deberás colocar la condición en la pestaña "Print when" (imprimir cuando).

Por ejemplo, si quieres que se imprima normal cuando el saldo del cliente es menor o igual que 10.000 y que se imprima en negritas cuando el saldo del cliente es mayor que 10.000, podrías escribir:

- En la pestaña "Print when" del campo1: SaldoCliente <= 10000
- En la pestaña "Print when" del campo2: SaldoCliente > 10000

Saludos.

Walter.

ultraton500

unread,
Oct 18, 2010, 5:48:49 PM10/18/10
to Comunidad de Visual Foxpro en Español
Guillermo, creo que no se le puede indicar condición al estilo de
fuente de un control field o label de un reporte.
La forma de hacerlo es usando dos controles (uno en negrita y el otro
no). La diferencia entre ambos va a estar en la pestaña "Print when"
de la ventana de propiedades del control, presisamente en la expresión
indicada en el cuadro de texto titulado "Print only when expression is
true:". En el control con fuente en negrita la expresión va a ser "
cDato='S' " y en el otro " cDato<>'S' ".
Espero te sirva.
Saludos,
Javier.

Guillermo MDQ

unread,
Oct 18, 2010, 5:58:42 PM10/18/10
to Comunidad de Visual Foxpro en Español
Si, asi es, esa es la forma de hacerlo, con los dos controles.
Pero pregunte por las dudas que hubiera alguna variante en el format o
la mascara del campo pero no se puede.

Gracias a todos por las repuestas.

Saludos
Guillermo

marcelobuenosaires

unread,
Oct 18, 2010, 9:01:48 PM10/18/10
to publice...@googlegroups.com
Hola

En realidad si hay otra forma...

Supongamos que tu reporte se llama "mirepo"
Hace...

use mirepo.frx

Ubica el record del objeto que queres modificar
y en el campo "Style" le das el valor 1 (significa negrita)

Este cambio podes hacerlo antes de disparar el repo
cerrando la tabla mirepo.frx luego

Cuando disparas el repo, esta cambiado como vos queres

Saludos
MarceloBuenosAires
__________

El 18/10/2010 06:58 p.m., Guillermo MDQ escribi�:


> Si, asi es, esa es la forma de hacerlo, con los dos controles.
> Pero pregunte por las dudas que hubiera alguna variante en el format o
> la mascara del campo pero no se puede.
>
> Gracias a todos por las repuestas.
>
> Saludos
> Guillermo
>
>
> On 18 oct, 18:48, ultraton500<ultraton...@gmail.com> wrote:

>> Guillermo, creo que no se le puede indicar condici�n al estilo de


>> fuente de un control field o label de un reporte.
>> La forma de hacerlo es usando dos controles (uno en negrita y el otro

>> no). La diferencia entre ambos va a estar en la pesta�a "Print when"
>> de la ventana de propiedades del control, presisamente en la expresi�n


>> indicada en el cuadro de texto titulado "Print only when expression is

>> true:". En el control con fuente en negrita la expresi�n va a ser "

Mario López

unread,
Oct 18, 2010, 10:10:49 PM10/18/10
to Comunidad de Visual Foxpro en Español
Guillermo:

si el formato es más complicado que solamente un dato en negrita
o no, podés usar un control RTF como está explicado en

http://support.microsoft.com/kb/246088

HTH
Mario

Walter R. Ojeda Valiente

unread,
Oct 18, 2010, 11:05:35 PM10/18/10
to publice...@googlegroups.com
Hola Marcelo

Hackeando el informe puedes modificarlo como quieras, pero no es lo que él quería. El quería imprimir en forma condicional las negritas. O sea en algunos registros sí y en otros no. Lo que tú dices hará que el campo modificado se imprima siempre en negritas o nunca en negritas.

Saludos.

Walter.

Mario López

unread,
Oct 19, 2010, 8:42:58 AM10/19/10
to Comunidad de Visual Foxpro en Español
Guillermo:

ah, me olvidaba, si tenés VFP9 entonces podrías usar ReportListener
para modificar el formato del reporte dinámicamente.
Hay algunos ejemplos en

http://msdn.microsoft.com/en-us/library/ms947682.aspx

"With a report listener, you can change the formatting for a field
when the report is run rather than in the Report Designer. The key to
this is the EvaluateContents event, which fires just before each field
is rendered. This event is passed the record number of the current
object in the FRX cursor and a reference to an object containing
properties with information about the field (see Table 2)."

"Con un ReportListener, podés cambiar el formato de un campo cuando el
reporte se ejecuta en vez de en el Diseñador
de reportes. La clave para ésto es el evento EvaluateContents, que se
dispara justo antes de que cada campo es
dibujado. A este evento se le pasa como parámetro el número del objeto
actual del cursor del reporte FRX y una referencia
a un objeto conteniendo las propiedades e información del campo"

Suerte,
Mario

Guillermo MDQ

unread,
Oct 19, 2010, 12:20:08 PM10/19/10
to Comunidad de Visual Foxpro en Español
La opcion que comenta Marcelo no me sirve porque queda fijo el style
del campo, negrita si o no, como comento Walter.
Esta muy interesante lo que plantea Mario, lo voy a tener en cuenta.
Aunque me parece que la forma mas sencilla al final es poner dos
controles.

Muchas gracias a todos por los aportes

Saludos
Guillermo

extremo

unread,
Oct 19, 2010, 1:43:01 PM10/19/10
to Comunidad de Visual Foxpro en Español
yo he realizado pruebas con RTF pero al querer colocar un RTF en el
reporte hay que colocarlo en un objetivo de tipo imagen por lo que se
pierde completamente la dinamica del informe. No se si hay una forma
mejor o mas facil para agregar RTF a un informe.

Yo lo necesitaba para destacar algunos datos en el impresos de
contratos como por ejemplo Nombre, ciudad, etc.

Bendiciones

Mario López

unread,
Oct 19, 2010, 2:01:26 PM10/19/10
to Comunidad de Visual Foxpro en Español
@extremo:

en el link del post mío anterior

http://support.microsoft.com/kb/246088

hay un artículo que explica bastante claro como
usar el control ActiveX RichTextControl creando
un cursor para el reporte y haciendo APPEND
GENERAL desde archivos RTF generados por
el programa

HTH
Mario

marcelobu...@gmail.com

unread,
Oct 19, 2010, 2:05:29 PM10/19/10
to publice...@googlegroups.com
Hola

Lo mejor es colocar 2 controles en el Repo
No hay problema de que se "solapen"
uno sobre otro

Solo se vera el necesario

(Tenes que poner un IIF() por supuesto)

Saludos
MarceloBuenosAires
______________

hquinones

unread,
Oct 20, 2010, 6:00:42 PM10/20/10
to Comunidad de Visual Foxpro en Español
Lo mejor si es que tiene VFP9, es utilizar la opcion Dynamics, segun
la condicion puedes cambiar de color fuente, tamaño etc, puedes poner
varias condiciones para diferentes valores (para un solo control), ya
no necesitas crear 2 controles.
HQD

On 19 oct, 13:05, "marcelobuenosai...@gmail.com"
<marcelobuenosai...@gmail.com> wrote:
> Hola
>
> Lo mejor es colocar 2 controles en el Repo
> No hay problema de que se "solapen"
> uno sobre otro
>
> Solo se vera el necesario
>
> (Tenes que poner un IIF() por supuesto)
>
> Saludos
> MarceloBuenosAires
> ______________
>
> El 19 de octubre de 2010 15:01, Mario López <guagl...@gmail.com> escribió:
>
>
>
> > @extremo:
>
> > en el link del post mío anterior
>
> >http://support.microsoft.com/kb/246088
>
> > hay un artículo que explica bastante claro como
> > usar el control ActiveX RichTextControl creando
> > un cursor para el reporte y haciendo APPEND
> > GENERAL desde archivos RTF generados por
> > el programa
>
> > HTH
> > Mario
>
> > On 19 oct, 14:43, extremo <protech.ven...@gmail.com> wrote:
> > > yo he realizado pruebas con RTF pero al querer colocar un RTF en el
> > > reporte hay que colocarlo en un objetivo de tipo imagen por lo que se
> > > pierde completamente la dinamica del informe. No se si hay una forma
> > > mejor o mas facil para agregar RTF a un informe.
>
> > > Yo lo necesitaba para destacar algunos datos en el impresos de
> > > contratos como por ejemplo Nombre, ciudad, etc.
>
> > > Bendiciones- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

extremo

unread,
Oct 20, 2010, 6:52:53 PM10/20/10
to Comunidad de Visual Foxpro en Español
Hola Quiñones

Esos cambios se pueden hacer en el mismo text?, es decir dentro del
mismo text puedo tener palabras con negritas y otras sin negritas?

Bendiciones

hquinones

unread,
Oct 20, 2010, 11:22:25 PM10/20/10
to Comunidad de Visual Foxpro en Español
Por ejemplo, tengo un campo que muestra la nota (notafin), en
propiedades de este campo tenemos una solapa "dynamics", adicionamos,
le damos un nombre en codition name (menor11), en "aply when this
condition is true" coloco notafin<11 y selecciono el color de fuente
el tipo de fuente y el estilo. De esa forma puedes incluso poner otra
condicion mas para el mismo campo.
Entiendo que funciona con VFP9 SP2 e instalado el SEDNA.
HQD

Guillermo MDQ

unread,
Oct 21, 2010, 10:19:25 AM10/21/10
to Comunidad de Visual Foxpro en Español
Que bueno que hiciste la aclaracion sobre la version, porque este
sistema lo tengo en VFP9 SP1 y no encontraba la solapa dynamics en
ningun lado.
En la notebook tengo el SP2 y si esta lo que comentas, y no hace falta
tener el SEDNA instalado.

Esta bueno, gracias por el aporte.

Saludos
Guillermo
Reply all
Reply to author
Forward
0 new messages