FoxPro/Visual FoxPro - Justificar Campo en Informe

   
Vista:

Justificar Campo en Informe

Publicado por Marisela (11 intervenciones) el 15/09/2010 22:48:24
Hola a todos.

Oigan, tengo un problema con un campo que se imprime en un infome, tengo una variable almacena 500 caracteres y al mandarlo al informe me lo imprime mal espaciado ; es decir no justificado, se imprime unos renglones mas cortos que otros Ejemplo:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx( ESTE ESPACIO DEJA VACÍO Y SALTA AL SIGUIENTE RENGLON)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(AQUI TAMBIEN)
xxxxxxxxxxxxxxxxxxxx(AQUI TAMBIEN)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(AQUI TAMBIEN)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(AQUI TAMBIEN)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx(AQUI TAMBIEN)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(AQUI TAMBIEN)

Lo que necesito es ajustarlos todos al tamaño que dejo el campo en el informe este justificado.No se si esto se pueda hacer y si se puede me podrían ayudar.. Saludos,...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Justificar Campo en Informe

Publicado por xx (378 intervenciones) el 15/09/2010 23:51:07
Pues no se si exista alguna forma de hacerlo directamente, yo lo pondria en un campo memo y lo leeria linea por linea con MLINE() y lo almacenaria en una matriz que luego utilizaria para mostrarlo linea por linea en el reporte todo depende de los datos a mostrar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Justificar Campo en Informe

Publicado por ACM (162 intervenciones) el 16/09/2010 01:24:19
Hola Marisela

La que pasa el que el report busca los espacio en blanco para separar las palabras y si no cabe el esa linea lo imprime en otra.

una solucion ejemplo

coloca en el report 5 variables campos una debajo de la otra de la 2 a la 5 dejala como flotante por si no tiene nada ajuste el informe y no deje las lineas en blanco

en la expresion de la 1 escribes

substr(variable,1,100)

en la expresion de la 2 escribes

substr(variable,101,100)

en la expresion de la 3 escribes

substr(variable,201,100)

en la expresion de la 4 escribes

substr(variable,301,100)

en la expresion de la 5 escribes

substr(variable,401,100)

este ejemplo lo estamos asiendo de 100 carateres alli tu puedes ver de cuanto los quieres

en la pestaña en print when de 2 al 5 escribe

!empt(empt(substr(variable,101,100)) este para el campo 2
!empt(empt(substr(variable,201,100)) este para el campo 3
!empt(empt(substr(variable,301,100)) este para el campo 4
!empt(empt(substr(variable,401,100)) este para el campo 5

y tilda remove line if blank

no olvides dejar en float de 2 al 5

esperto te sirva

Saludos

Acm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Justificar Campo en Informe

Publicado por Juanma Cruz (508 intervenciones) el 17/09/2010 13:11:02
Un punto a tener en cuenta, si usas el método qu ACM sugiere:

Poner la fuente del objeto de texto como COURIER NEW o alguna similar, donde todos los caracteres tienen exactamente el mismo ancho, de lo contrario el borde derecho del párrafo tampoco será muy recto que digamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Justificar Campo en Informe

Publicado por Marisela (11 intervenciones) el 17/09/2010 16:44:13
Muchas gracias por su ayuda a ACM y Juanma , pero como este campo lo tengo en el pie de pagina no me deja poner como Flotante , me aparece las opciones deshabilitadas, tengo la version 6 del VFP , es por eso ? o es por que el campo esta en el piede pagina?
o que rayos es ?.
Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Justificar Campo en Informe

Publicado por Juanma Cruz (508 intervenciones) el 20/09/2010 11:04:43
Pues no los pongas como flotantes, pero fíjate que en su espacio horizontal no haya ningún otro elemento y que no imprima si el contenido del campo está en blanco. Así te evitas dejar espacios innecesariamente en blanco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Justificar Campo en Informe

Publicado por Juanma Cruz (508 intervenciones) el 20/09/2010 11:14:20
Dado que lo tienes como pie de informe, podrías intentar la siguiente chapuza:

Poner un control de texto, de fuente 'Courier New' y tamaño 7, así te aseguras que los caracteres serán siempre del mismo ancho y que cabrán en el horizontal de tu página. Debe tener un solo renglon de altura.

Digamos que el campo se llama MICAMPO

La expresión para el control de texto sería:

Alltrim( Strtran( Substr( MiCampo, 1, 100 )+Chr(13)+ Substr( MiCampo, 101, 100 )+Chr(13)+ Substr( MiCampo, 201, 100 )+Chr(13)+ Substr( MiCampo, 301, 100 )+Chr(13)+ Substr( MiCampo, 401, 100 ), Chr(13)+Chr(13),''))

Y le activas la propiedad STRETCH WITH OVERFLOW para asegurarte de que a pesar de tener un sólo renglón, crezca tanto como lo necesite.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar