// IMPRESIÓN DE REPORTE CON FASTREPORT //
Static Function ImprimeReporte(aDatos,lDisenio)
Local oFr
PRIVATE np
cFile :=PathSist+"FASTREPO\CAMIONES.FR3"
cTitulo:="Listado de camiones"
oFr :=FrReportManager():New()
oFr:LoadLangRes("Spanish.xml" )
oFr:SetTitle( cTitulo )
oFr:SetIcon( "ICONO")
oFr:SetUserDataSet( "aDatos","NUMERO;MARCA;MODELO;TIPO;PATENTE;VTO_VERIFICACION",;
{||np := 1}, ; //--> bGoTop
{||np := np + 1}, ; //--> bSkipPlus
{||np := np - 1}, ; //--> bSkipMinus
{||np > Len(aDatos)}, ; //--> bCheckEOF
{|aField|nCol := IIF( aField == "NUMERO" , 2,;
IIF( aField == "MARCA" , 3,;
IIF( aField == "MODELO" , 4,;
IIF( aField == "TIPO" , 5,;
IIF( aField == "PATENTE" , 6,;
IIF( aField == "VTO_VERIFICACION", 7,)))))), aDatos[np, nCol] } )
oFr:LoadFromFile( cFile )
oFr:AddVariable("Mis variables","Titulo informe","'"+cTitulo+"'")
oFr:AddVariable("Mis variables","cUser" ,"'"+cUser +"'")
oFr:AddVariable("Mis variables","nUser" ,"'"+nUser +"'")
IF lDisenio
oFr:DesignReport() // HABILITA EL MODO DE DISEÑO
ELSE
oFr:PreviewOptions:SetButtons( 1+4+8+16+32+64+128+1024 ) // HABILITO SOLO LOS BOTONES QUE EL USUARIO VA A VER
ENDIF
oFr:ShowReport()
oFr:ClearDataSets()
oFr:DestroyFR()
Return nil
//
elvira wrote:Amigos,
fast report está muy bien, pero hay que ser realistas ya que Antonio no puede hacer milagros.
Yo votaría por un EasyReport, sencillo y estable. Es muy difícil clonar Fast Report, y encima muchos de la comunidad usan fast report pirateado, lo cual es una desfachatez la verdad.
#include "FiveWin.ch"
#include "RichEdit.ch"
#include "xbrowse.ch"
#include "splitter.ch"
static oWndMain
function Main()
local oBmpTiled , oBar
local hDLL := LoadLibrary( "Riched20.dll" )
SetDlgGradient( { { 1, RGB( 199, 216, 237 ), RGB( 237, 242, 248 ) } } )
DEFINE BITMAP oBmpTiled RESOURCE "background"
DEFINE WINDOW oWndMain TITLE "Reports Builder" MDI ;
MENU BuildMenu()
DEFINE BUTTONBAR oBar OF oWndMain 2010 SIZE 70, 70
DEFINE BUTTON OF oBar PROMPT "New" RESOURCE "new" ACTION ReportNew()
DEFINE BUTTON OF oBar PROMPT "Open" RESOURCE "open" ACTION ReportOpen()
DEFINE BUTTON OF oBar PROMPT "Exit" RESOURCE "exit" ;
ACTION oWndMain:End() GROUP
ReportNew()
ACTIVATE WINDOW oWndMain MAXIMIZED ;
VALID MsgYesNo( "Want to end ?" ) ;
ON PAINT DrawTiled( hDC, oWndMain, oBmpTiled )
oBmpTiled:End()
FreeLibrary( hDLL )
return nil
function BuildMenu()
local oMenu
MENU oMenu
MENUITEM "Reports"
MENU
MENUITEM "New" ACTION ReportNew()
ENDMENU
ENDMENU
return oMenu
function ReportNew()
local oWndChild, cHeader := "Header", oHeader, oSplit1, oBrw
local cFooter := "Footer", oFooter, oSplit2
DEFINE WINDOW oWndChild TITLE "New report" MDICHILD
@ 0, 0 RICHEDIT oHeader VAR cHeader SIZE oWndChild:nWidth, 70 OF oWndChild
@ 5.3, 0 XBROWSE oBrw OF oWndChild SIZE oWndChild:nWidth, 150
oBrw:CreateFromCode()
@ 15.2, 0 RICHEDIT oFooter VAR cFooter SIZE oWndChild:nWidth, 130 OF oWndChild
@ 70,0 SPLITTER oSplit1 ;
HORIZONTAL ;
PREVIOUS CONTROLS oHeader ;
HINDS CONTROLS oBrw ;
TOP MARGIN 30 ;
BOTTOM MARGIN oSplit2:nLast + 50 ;
SIZE 500, 4 PIXEL ;
OF oWndChild ;
STYLE
@ 225,0 SPLITTER oSplit2 ;
HORIZONTAL ;
PREVIOUS CONTROLS oBrw NOADJUST ;
HINDS CONTROLS oFooter ;
TOP MARGIN oSplit1:nFirst + 50 ;
BOTTOM MARGIN 80 ;
SIZE 500, 4 PIXEL ;
OF oWndChild ;
STYLE
ACTIVATE WINDOW oWndChild ;
ON RESIZE ( oSplit1:Adjust( .T., .F., .T., .T. ), oSplit2:Adjust( .F., .T., .T., .T. ) )
return nil
function ReportOpen()
return nil
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Adolfredo Martinez, Google [Bot] and 57 guests