Page 1 of 2

Ejemplo de uso de Fast Report con Fivewin

Posted: Thu Jun 05, 2008 3:18 pm
by MOISES
Hola:

Os dejo aquí un ejemplo de uso de Fast Report con Fivewin. Podéis ver la potencia del diseñador y del preview.

Lo podéis descargar en http://rapidshare.com/files/120288992/D ... t.zip.html

Incluyo un .exe totalmente funcional.

Fundamentalmente, el trabajo es obra de Ángel Canudas.


Un saludo,

Moisés


//
// (c) Angel Canudas Rey and Moisés
//
// Para compilar, hay que incluir el archivo fastreph.prg que viene en la versión demo
// de FastReport, así como FrSystH.dll
//
// Web de Fast Report for xHarbour: http://www.paritetsoft.ru/frh.htm



#include "FiveWin.ch"

STATIC oWndMain

// -----------------------------------------------------------------------
FUNCTION Main()

LOCAL oBar

SET EPOCH TO 1990 // Admite los a¤os desde el 1990 en adelante
SET CENTURY ON // 4 d¡gitos a¤o
SET DATE ITALIAN // formato dd-mm-yyyy
SET DELETED ON // Impedir ver registros marcados borrar

SetCancel( .F. ) // Inutiliza ALT + C para abortar programa
SetHandleCount( 200 ) // M ximo n§ ficheros abiertos

REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" ) // Por defecto, ficheros FoxPro

// VENTANA PRINCIPAL --------------------------------------------------
DEFINE WINDOW oWndMain FROM 00,00 TO 45,140 ;
TITLE "DEMO para Fast Report en Fivewin" ;
MDI

DEFINE BUTTONBAR oBar SIZE 60,55 _3DLOOK OF oWndMain

DEFINE BUTTON OF oBar RESOURCE "BARART" ACTION RptDocTemp() ;
TOOLTIP "Impresión Factura" ;
NOBORDER ;
GROUP

DEFINE BUTTON OF oBar RESOURCE "BARANTIVIR" ACTION InfEmpresas() ;
TOOLTIP "Listado Empresas" ;
NOBORDER ;
GROUP

DEFINE BUTTON OF oBar RESOURCE "BARPRO" ACTION DesignReport() ;
TOOLTIP "Diseñador Informes" ;
NOBORDER ;
GROUP

DEFINE BUTTON OF oBar RESOURCE "BAREXIT" ACTION oWndMain:End() ;
TOOLTIP "Salir del Programa" ;
NOBORDER ;
GROUP

ACTIVATE WINDOW oWndMain MAXIMIZED

RETURN NIL
// -----------------------------------------------------------------------------

// -----------------------------------------------------------------------------
FUNCTION DesignReport()


LOCAL oFr

oFr := frReportManager():New()
oFr:LoadLangRes( "spanish.xml" )
oFr:SetIcon( 1 )
oFr:SetTitle( "Diseñador de Informes" )
oFr:LoadFromFile( "FACTURA.FR3" )
oFr:DesignReport()
oFr:DestroyFr()

RETURN NIL
// -----------------------------------------------------------------------------

// -----------------------------------------------------------------------
FUNCTION RptDocTemp()

LOCAL oFr

// Esta es una manera de llamar al informe, directamente sin abrir las bases de datos
// Es el propio FastReport el que se encarga de abrirlas!!!


// En este caso no hace falta abrir antes los ficheros

// Los ficheros del DATA del report estan sin el PATH al estar todo en
// el mismo directorio, si siempre van ha estar en el mismo directorio,
// indicale el PATH.

// Si el PATH puede ser variable, entonces utiliza el sistema del InfEmpresas()

// Con AddVariable le paso el nombre del documento, así el formato lo puedo
// utilizar para presupuestos, pedidos, albaranes o facturas

oFr := frReportManager():New()
oFr:LoadLangRes( "spanish.xml" )
oFr:SetIcon( 1 )
oFr:SetTitle( "Imprimir Documento" )
oFr:LoadFromFile( "FACTURA.FR3" )
oFr:AddVariable( "TITOL", "cTitol", "'FACTURA'" )
oFr:ShowReport()
oFr:DestroyFr()

RETURN NIL
// -----------------------------------------------------------------------

// -----------------------------------------------------------------------
FUNCTION InfEmpresas()

LOCAL oFr

USE EMPRESES NEW
OrdListAdd( "EMPRESES" )
dbSetOrder( 1 )
dbGoTop()

USE OPERARIS NEW
OrdListAdd( "OPERARIS" )
dbSetOrder( 4 )
dbGoTop()

// Esta es la segunda manera de trabajar
//
// Aquí abro los ficheros, les indico el índice adecuado para relacionarlos
// Con el SetWorkArea le indico el alias utilizado en el diseñador y el nº de area actual,
// y con el SetMasterDetail relaciono los ficheros

// En el report veras que no hay DATA, en modo diseño si que los he utilizado
// pero luego los he borrado ya que los asigno por código

oFr := frReportManager():New()
oFr:LoadLangRes( "spanish.xml" )
oFr:SetWorkArea( "H1", 1 ) // Area 1
oFr:SetWorkArea( "H2", 2 ) // Area 2
oFr:SetMasterDetail( "H1", "H2", {|| Str( FIELD->Codi, 5 )} )
oFr:LoadFromFile( "EMPRESAS.FR3" )
oFr:ShowReport()
oFr:DestroyFr()

dbCloseAll()

RETURN NIL
// -----------------------------------------------------------------------

Posted: Sat Jun 07, 2008 4:43 pm
by Ari
Tem algum exemplo com mySQL ?

Ari

Posted: Mon Jun 09, 2008 9:05 am
by MOISES
Puedes usar o bien ADORDD o bien tienes un ejemplo para SQL en http://www.paritetsoft.ru/frh.htm

Posted: Sun Aug 10, 2008 3:48 am
by George
Experimentando con FastReport veo que luego que se carga un reporte (previamente creado con el "designer") y luego se hace un "preview", dentro del programa final que va usar el usuario, le permite este "preview" al usuario modificar dicho reporte.

Como se puede evitar que el usuario final tenga acceso al boton de modificar en el "preview"?

Existen alagunos ejemplos mas detallados del uso de FastReport + [x]Harbour?

Los compañeros que han usado FastReport pueden compartir su experiencia aqui en el foro?


Saludos

George.

Posted: Sun Aug 10, 2008 3:25 pm
by ermatica
Buenas Tardes George,

>>Como se puede evitar que el usuario final tenga acceso al boton de modificar en el "preview"?

Hay la posibilidad de configurar desde Harbour las opciones o botones que se desean visualizar en el preview:


:PreviewOptions:SetButtons(<nButtons>)
A set of buttons, which will be available in the preview window.
Parameters: < nButtons> - the arithmetic sum of following possible values:
FR_PB_PRINT 1
FR_PB_LOAD 2
FR_PB_SAVE 4
FR_PB_EXPORT 8
FR_PB_ZOOM 16
FR_PB_FIND 32
FR_PB_OUTLINE 64
FR_PB_PAGESETUP 128
FR_PB_TOOLS 256
FR_PB_EDIT 512
FR_PB_NAVIGATOR 1024

Default – all buttons.

Ejemplo:
FrPrn:PreviewOptions:SetButtons(1+4) // visualiza sólo icono o botón "impesora" (FR_PB_PRINT=1) y el icono o boton "guardar documento" (FR_PB_SAVE=4).

Un cordial saludo.

Posted: Sun Aug 10, 2008 4:39 pm
by George
Muchas gracias Ermatica. Funciono perfecto.

Saludos,

George

Excelente...

Posted: Mon Aug 11, 2008 3:45 am
by leandro
Amigo excelente trabajo.... voy a probarlo y cualquier cosa te comento....me gusta mucho lo de modificar el tamaño de la pagina despues de realizar la previsualizacion....

Esta version demo tiene alguna restriccion?

Posted: Mon Aug 11, 2008 3:09 pm
by ermatica
Buenas tardes Leandro,

<<Esta version demo tiene alguna restriccion?

Tiene 2 "restricciones":
1. Sólo deja imprimir un máximo de 5 páginas por informe.
2. Y cuando imprimes un informe, en la cabecera de cada página, sale un literal o texto informando que se trata de una version Demo.

Saludos
Ernesto

Re: Ejemplo de uso de Fast Report con Fivewin

Posted: Fri Jan 16, 2009 10:50 pm
by faraon
Qué tal, amigos, yo programo en VB, pero me he topado con una instalación de FWH y me gustaria compilar este proyecto, pero ya le he buscado y no hayo la forma de hacerlo. En el directorio de C:\FWH\samples hay unos archivos .bat lo es he probado todos pero ningulo me lo compila. Uno me dice que le falta hbwin32.lib, a otro otra cosa y en fin que quedo loco con todo eso. Les soy honesto, como vengo de VB se me hace un poco confuso, aunque ya he leido bastante de su foro y del manual que viene en el FWH.

Gracias de antemano.

Re: Ejemplo de uso de Fast Report con Fivewin

Posted: Sat Jan 17, 2009 6:18 pm
by AIDA
Hola yo tengo FastReport v3.10 Report generator for Delphi 4-7,2005 and C++Builder 4-6

pero no encuentro el FrSystH.dll sera que es otro Fast Report diferente :? ???


Saluditos :wink:

Aida

Re: Ejemplo de uso de Fast Report con Fivewin

Posted: Fri Dec 03, 2010 12:24 am
by goosfancito
hola
al compilar con el fast repor me tira unos errores. que puedo hacer?

gracias.

Code: Select all

Compiling 'Source\FastRepH.prg'...
Source\FastRepH.prg(665) Error E0003  Duplicate variable declaration: 'TMP_PARAMB'
Source\FastRepH.prg(799) Error E0003  Duplicate variable declaration: 'TMP_RESULT'
Source\FastRepH.prg(891) Error E0003  Duplicate variable declaration: 'TMP_RETVAL'
Source\FastRepH.prg(944) Error E0003  Duplicate variable declaration: 'TMP_RETVAL'
 

Re: Ejemplo de uso de Fast Report con Fivewin

Posted: Fri Dec 03, 2010 12:38 am
by Armando
Amigos:

Pues la verdad que Fastreport esta como para quitarse el sombrero, a mediados de año compré
la versión 4 de FR, he estado desarrollando algunos reportes con tablas de mySql y funciona de
100% lo que me ha dejado gratamente impresionado es que todo lo pude hacer desde el diseñador
de FR, conectarse a MySql, abrir la base de datos, hacer querys, diseñar el reporte y mandarlo a
imprimir, guardar, exportar a 13 diferentes formatos (PDF, EXCEL, BMP, etc etc) sin una línea de
código.

Saludos

Re: Ejemplo de uso de Fast Report con Fivewin

Posted: Mon Mar 07, 2011 3:47 am
by joseluisysturiz
Armando wrote:Amigos:

Pues la verdad que Fastreport esta como para quitarse el sombrero, a mediados de año compré
la versión 4 de FR, he estado desarrollando algunos reportes con tablas de mySql y funciona de
100% lo que me ha dejado gratamente impresionado es que todo lo pude hacer desde el diseñador
de FR, conectarse a MySql, abrir la base de datos, hacer querys, diseñar el reporte y mandarlo a
imprimir, guardar, exportar a 13 diferentes formatos (PDF, EXCEL, BMP, etc etc) sin una línea de
código.

Saludos
Saludos Armando, sera que podrias enviarme un ejemplo de como hacer la salida a PDF, ya que le he dado de muchas formas y nada, agradecido... mi correo es joseluisy@hotmail.com

Re:

Posted: Fri Apr 08, 2011 7:27 pm
by ruben Dario
George wrote:Muchas gracias Ermatica. Funciono perfecto.

Saludos,

George

Saludos, mi pregunta con respecto al Fastreport, al compilar se debe adjuntar alguna libreria de Fastreport, tu tienes un ejemplo completo , ya qye tengo una de delphip pero no se si sirve Por lo menos este archivo FrSystH.dll no esta. Gracias

Re: Ejemplo de uso de Fast Report con Fivewin

Posted: Sat Apr 09, 2011 10:28 am
by Ariel
Ruben,

FR en modo diseñador utiliza 2 archivos q debes incluir en tu app, que son fastreph.prg y fastreph.ch, y la frsysth.dll la debes colocar donde esta tu app exe o en system32 d win... eso es todo lo q necesitas, debes tener en cuenta de bajar (si estas en modo demo) los fuentes para xharbour, ya que viene para varias guis.

salu2.