|
© 2009 PortalFox
|
|
|
| Enviado por amby en Jueves, 24 Marzo, 2005 |
|
La versión 9.0 incluyó muchos cambios en la generación de informes. Uno de esos cambios es permitir de forma nativa la salida en formato gráfico de los informes a partir de la nueva clase base REPORTLISTENER.
*---------------------------------------------------------
* Método:
* SALIDAGRAFICA.PRG
* Programador:
* Ana María Bisbé York
* Fecha de Terminación:
* 07/02/05 11:54:48 AM
* Comentarios:
* Este ejemplo fue mostrado en el IV Encuentro de Desarrolladores realizado por
* Danysoft Internacional www.danysoft.com en Febrero 2005 en Microsoft Ibérica.
* en la sesión Novedades de Visual FoxPro 9.0
*
* La versión 9.0 incluyó muchos cambios en la generación de informes
* Uno de esos cambios es permitir de forma nativa la salida en formato gráfico de los informes
*
* El siguiente código muestra cómo obtener la salida gráfica de un informe en VFP 9.0
*---------------------------------------------------------
LOCAL loListener AS OBJECT
loListener =.NULL.
*-- Asegurarse de que no existe el archivo gráfico
ERASE nombre
*-- Crear la instancia de la clase Listener
SET CLASSLIB TO HOME() + 'FFC\_REPORTLISTENER'
loListener = CREATEOBJECT('ReportListener')
DO (_REPORTOUTPUT) WITH 3,loListener
*-- Ejecutar el informe
REPORT FORM nombre OBJECT loListener
loListener.OUTPUTPAGE(1,nombre,104)
Saludos,
Ana
www.amby.net
|
|
|
|
|
|
| Novedades VFP 9.0 - Informes formato gráfico empleando la clase reportlistener | Entrar/Crear una cuenta | 7 Comentarios |
|
| Los comentarios son propiedad de sus respectivos autores. No somos responsables de su contenido. |
Re: Novedades VFP 9.0 - Informes formato gráfico empleando la clase reportlistener
por carlosmora en 24 Mar, 2005 - 09:36 (Información del usuario | Enviar un mensaje http://)
|
|
Quize probar el ejemplo y me dice que el reporte NOMBRE no existe. que puedo estar haciendo mal. muchas gracias.
|
Re: Re: Novedades VFP 9.0 - Informes formato gráfico empleando la clase reportlistene por amby en 24 Mar, 2005 - 09:50 (Información del usuario | Enviar un mensajehttp://www.amby.net | Hola:
El error te lo devuelve esta línea:
*-- Configurar algunas propiedades
loListener.TargetFileName = nombre
Y tiene razón VFP, no hemos declarado esa variable. La idea es sustituir nombre por el nombre de tu fichero. Te dejo un ejemplo:
LOCAL loListener
loListener =.null.
*-- Asegurarse de que no existe el archivo gráfico
ERASE SalidaGrafica.GIF
*-- Crear la clase Listener
SET CLASSLIB TO HOME() + 'FFC\_REPORTLISTENER'
loListener = CREATEOBJECT('ReportListener')
DO (_reportoutput) WITH 3, loListener
*-- Ejecutar el informe
REPORT FORM 'c:\newvfp\multiplesbandasporcientos.frx' OBJECT loListener
lolistener.OutputPage(1,'SalidaGrafica',104)
Si tienes problemas, no dudes en comentarlo,
Saludos,
Ana
www.amby.net |
Re: Re: Novedades VFP 9.0 - Informes formato gráfico empleando la clase reportlistene por a_acurio en 13 Feb, 2008 - 04:12 (Información del usuario | Enviar un mensajehttp://http:// | -Buenas, probe esta funcionalidad con el VFP 9.0 y logré obtener mi reporte a modo gráfico, pero cuando quiero enviarlo a un archivo del tipo TIFF(de varias páginas por archivo, tipo fax) usé el valor '201' en:
lolistener.OutputPage(1,'SalidaGrafica',201)
-El caso es que por ejemplo en un reporte de 8 páginas, el resultado es; la primera página de la imagen es la página1 de mi reporte y desde la segunda página hasta la última de la imagen se repite la página2. Quisiera me ayuden a resolver este problemilla ya que quizas estoy haciendo algo mal, este es mi código:
&& OBTENGO EL NÚMERO DE LA ÚLTIMA PÁGINA EN LA VARIABLE nPage.
nPage = 0
DEFINE WINDOW X FROM 1, 1 TO 2, 2
ACTIVATE WINDOW NOSHOW X
REPORT FORM 'informe.frx'
CLEAR
nPage = _PAGENO
RELEASE WINDOW X
LOCAL loListener AS OBJECT
loListener = .NULL.
loListener = CREATEOBJECT('ReportListener')
DO (_REPORTOUTPUT) WITH 3,loListener
*-- Ejecutar el informe
cNameFile = PUTFILE('Guardar','informe_'+DTOS(DATE()),'TIFF')
nPaginas = nPage
FOR i=1 TO nPaginas
IF i = 1
REPORT FORM 'informe.frx' OBJECT loListener
loListener.OUTPUTPAGE(1, cNameFile, 101)
ELSE
REPORT FORM 'informe.frx' OBJECT loListener
loListener.OUTPUTPAGE(i, cNameFile, 201)
ENDIF
NEXT
** Ademas tengo otro problema en cuanto a la ejecución de los reportes con el VFP 9.0, al momento de visualizar los reportes de varias páginas, al darle siguiente se muestra la siguiente página como si fuese la última y cuando le doy atras, el informe se cierra, y problemas de este tipo. Tengo que configurar algun SET para poder visualizar sin problemas mis reportes ??.
-De antemano muchas gracias por la ayuda que espero me brinden. Gracias |
Re: Novedades VFP 9.0 - Una corrección !!
por amby en 16 May, 2005 - 01:31 (Información del usuario | Enviar un mensaje http://www.amby.net)
|
Corrección !!!
En el artículo se indica que el último parámetro (104) es para un archivo GIF pero este valor es para un archivo PNG.
El resto de los valores posibles y el efecto que se produce es el siguiente:
100 - guarda imagen de tipo EMF
101- guarda imagen de tipo TIFF
102 - guarda imagen de tipo JPEG
103 - guarda imagen de tipo GIF
104 - guarda imagen de tipo PNG
105 - guarda imagen de tipo BMP
Gracias a Germán Giraldo por el aviso.
Saludos,
Ana
www.amby.net
|
Problemas con la ejecución del reporte en VFP 9.0
por a_acurio en 13 Feb, 2008 - 04:13 (Información del usuario | Enviar un mensaje http://http://)
|
-Buenas, probe esta funcionalidad con el VFP 9.0 y logré obtener mi reporte a modo gráfico, pero cuando quiero enviarlo a un archivo del tipo TIFF(de varias páginas por archivo, tipo fax) usé el valor '201' en:
lolistener.OutputPage(1,'SalidaGrafica',201)
-El caso es que por ejemplo en un reporte de 8 páginas, el resultado es; la primera página de la imagen es la página1 de mi reporte y desde la segunda página hasta la última de la imagen se repite la página2. Quisiera me ayuden a resolver este problemilla ya que quizas estoy haciendo algo mal, este es mi código:
&& OBTENGO EL NÚMERO DE LA ÚLTIMA PÁGINA EN LA VARIABLE nPage.
nPage = 0
DEFINE WINDOW X FROM 1, 1 TO 2, 2
ACTIVATE WINDOW NOSHOW X
REPORT FORM 'informe.frx'
CLEAR
nPage = _PAGENO
RELEASE WINDOW X
LOCAL loListener AS OBJECT
loListener = .NULL.
loListener = CREATEOBJECT('ReportListener')
DO (_REPORTOUTPUT) WITH 3,loListener
*-- Ejecutar el informe
cNameFile = PUTFILE('Guardar','informe_'+DTOS(DATE()),'TIFF')
nPaginas = nPage
FOR i=1 TO nPaginas
IF i = 1
REPORT FORM 'informe.frx' OBJECT loListener
loListener.OUTPUTPAGE(1, cNameFile, 101)
ELSE
REPORT FORM 'informe.frx' OBJECT loListener
loListener.OUTPUTPAGE(i, cNameFile, 201)
ENDIF
NEXT
** Ademas tengo otro problema en cuanto a la ejecución de los reportes con el VFP 9.0, al momento de visualizar los reportes de varias páginas, al darle siguiente se muestra la siguiente página como si fuese la última y cuando le doy atras, el informe se cierra, y problemas de este tipo. Tengo que configurar algun SET para poder visualizar sin problemas mis reportes ??.
-De antemano muchas gracias por la ayuda que espero me brinden. Gracias
|
|