Novedades VFP 9.0 - Informes formato gráfico empleando la clase reportlistener [1]

Enviado por : amby en 24 Mar, 2005 - 05:06
INF [2]
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 [3]
Novedades VFP 9.0 - Informes formato gráfico empleando la clase reportlistener | Entrar/Crear una cuenta [4] | 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 [5]  | Enviar un mensaje [6] http:// [7])
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 [11] por a_acurio en 13 Feb, 2008 - 04:12
  • Re: Novedades VFP 9.0 - Una corrección !!


    por amby en 16 May, 2005 - 01:31
    (Información del usuario [12]  | Enviar un mensaje [13] http://www.amby.net [14])
    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 [15]  | Enviar un mensaje [16] http://http:// [17])
    -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

    Enlaces
      [1] http://www.portalfox.com/index.php?name=News&file=article&sid=1478
      [2] http://www.portalfox.com/index.php?name=News&catid=&topic=11
      [3] http://www.amby.net
      [4] http://www.portalfox.com/user.php
      [5] http://www.portalfox.com/user.php?op=userinfo&uname=carlosmora
      [6] http://www.portalfox.com/index.php?module=Messages&func=compose&uname=carlosmora
      [7] http://
      [8] http://www.portalfox.com/index.php?name=Comments&req=showreply&tid=1552&sid=1478&pid=1551&mode=thread&order=0&thold=0#tid1552
      [9] http://www.portalfox.com/index.php?name=Comments&req=showreply&tid=1554&sid=1478&pid=1552&mode=thread&order=0&thold=0#tid1554
      [10] http://www.portalfox.com/index.php?name=Comments&req=showreply&tid=1556&sid=1478&pid=1552&mode=thread&order=0&thold=0#tid1556
      [11] http://www.portalfox.com/index.php?name=Comments&req=showreply&tid=53225&sid=1478&pid=1552&mode=thread&order=0&thold=0#tid53225
      [12] http://www.portalfox.com/user.php?op=userinfo&uname=amby
      [13] http://www.portalfox.com/index.php?module=Messages&func=compose&uname=amby
      [14] http://www.amby.net
      [15] http://www.portalfox.com/user.php?op=userinfo&uname=a_acurio
      [16] http://www.portalfox.com/index.php?module=Messages&func=compose&uname=a_acurio
      [17] http://http://