home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 16
/
CD_ASCQ_16_0994.iso
/
news
/
4611
/
fw16d.ins
/
SOURCE
/
CLASSES
/
PDREPORT.PRG
< prev
next >
Wrap
Text File
|
1994-06-08
|
8KB
|
157 lines
/*
┌─ Programa ───────────────────────────────────────────────────────────────┐
│ Aplicación: Funciones para construcción de objetos TReport TRColumn │
│ Fichero: PDREPORT.PRG │
│ Autor: Ignacio Ortiz de Zúñiga Echeverría │
│ Fecha: 24/05/94 │
│ Hora: 14:28:13 │
│ Make File: │
│ Exec File: │
│ Copyright: 1994 by Ortiz de Zuñiga, S.L. │
└──────────────────────────────────────────────────────────────────────────┘
*/
#include "objects.ch"
#include "common.ch"
#define REPORT 1
#define COLUMNS 2
static aReports := {}
/*
┌─ Función ────────────────────────────────────────────────────────────────┐
│ Descripción: Inicializa la definición de un report │
│ Autor: Ignacio Ortiz de Zúñiga Echeverría │
│ Fecha: 24/05/94 │
│ Hora: 14:01:25 │
│ Copyright: Ortiz de Zuñiga, S.L. │
├──────────────────────────────────────────────────────────────────────────┤
│ Function: RptBegin │
│ │
│ Argumentos: ver más abajo │
│ │
│ Valor Return: oReport │
│ Ver también: │
│ │
└──────────────────────────────────────────────────────────────────────────┘
*/
Function RptBegin(nWidht ,; // Ancho
nHeight ,; // largo
aTitle ,; // matriz de bTitulos
aHead ,; // matriz de bHead
aFoot ,; // matriz de bFoot
aFont ,; // matriz de oFont
cRptfile ,; // Nombre fichero
cResName ) // Nombre recursos
AAdd( aReports ,;
{ TReport():New(nWidht ,;
nHeight ,;
aTitle ,;
aHead ,;
aFoot ,;
aFont ,;
cRptfile ,;
cResName ), {} } )
Return ATail( aReports )[ REPORT ]
/*
┌─ Función ────────────────────────────────────────────────────────────────┐
│ Descripción: Añade un grupo de ordenación al report en curso │
│ Autor: Ignacio Ortiz de Zúñiga Echeverría │
│ Fecha: 24/05/94 │
│ Hora: 14:01:42 │
│ Copyright: Ortiz de Zuñiga, S.L. │
├──────────────────────────────────────────────────────────────────────────┤
│ Function: RptAddGroup │
│ │
│ Argumentos: bGroup -> Expresión del grupo │
│ lSummary -> si .T. sólo resumen │
│ lEject -> si .T. salto de página │
│ Valor Return: │
│ Ver también: │
│ │
└──────────────────────────────────────────────────────────────────────────┘
*/
Function RptAddGroup(bGroup, lSummary, lEject)
Atail(aReports)[ REPORT ]:AddGroup(bGroup, lSummary, lEject)
Return (NIL)
/*
┌─ Función ────────────────────────────────────────────────────────────────┐
│ Descripción: Añade columnas al Report │
│ Autor: Ignacio Ortiz de Zúñiga Echeverría │
│ Fecha: 24/05/94 │
│ Hora: 14:18:04 │
│ Copyright: Ortiz de Zuñiga, S.L. │
├──────────────────────────────────────────────────────────────────────────┤
│ Function: RptAddColumn │
│ │
│ Argumentos: ver más abajo │
│ │
│ Valor Return: oColumn │
│ Ver también: │
│ │
└──────────────────────────────────────────────────────────────────────────┘
*/
Function RptAddColumn(aTitle ,; // matriz de bTitulos
nCol ,; // columna
aData ,; // matriz de bData
nSize ,; // ancho de la columna
aPicture ,; // matriz de cPictures
uFont ,; // bFont=>n | n (nId Font)
lTotal ,; // lógico de total
bTotalExpr ) // bExpr de condición de total
Local oColumn
oColumn := TRColumn():New(aTitle ,;
nCol ,;
aData ,;
nSize ,;
aPicture ,;
uFont ,;
lTotal ,;
bTotalExpr ,;
Atail(aReports)[ REPORT ] )
AAdd( ATail( aReports )[ COLUMNS ], oColumn )
return oColumn
/*
┌─ Función ────────────────────────────────────────────────────────────────┐
│ Descripción: Finaliza la definición del report │
│ Autor: Ignacio Ortiz de Zúñiga Echeverría │
│ Fecha: 24/05/94 │
│ Hora: 14:28:06 │
│ Copyright: Ortiz de Zuñiga, S.L. │
├──────────────────────────────────────────────────────────────────────────┤
│ Function: RptEnd │
│ │
│ Argumentos: │
│ │
│ Valor Return: oReport │
│ Ver también: │
│ │
└──────────────────────────────────────────────────────────────────────────┘
*/
Function RptEnd()
local oReport := ATail( aReports )[ REPORT ]
local aColumns := ATail( aReports )[ COLUMNS ]
AEval( aColumns, { | oColumn | oReport:AddColumn( oColumn ) } )
ASize( aReports, Len( aReports ) - 1 )
oReport:Stabilize()
Return oReport
// eof