Dec 222017
Report and column objects for use with Class(y) and Clipper 5.
File REPOBJ.ZIP from The Programmer’s Corner in
Category Dbase Source Code
Report and column objects for use with Class(y) and Clipper 5.
File Name File Size Zip Size Zip Type
COLOBJ.TXT 8308 2485 deflated
COLUMN.PRG 7328 2436 deflated
REPOBJ.TXT 14498 3640 deflated
REPORT.PRG 16219 3822 deflated
TESTREP.PRG 6746 2081 deflated
TESTREP.RMK 404 199 deflated

Download File REPOBJ.ZIP Here

Contents of the COLOBJ.TXT file

Documentation for Column class

Created by Jon Credit
All rights reserved

I created this class in search of a way to pay more attention to
the data that I am reporting on, vs how the data will be outputted on
paper. This report class is the result of many long hours of design,
coding and testing to get it to its current state.

This class is distributed as is with no expressed or implied
warranties. If you find the Report Class to be useful, a donation of
$30.00 U.S. Dollars would be appreciated. Any registered users will
automatically be sent any bug fixes or upgrades to the class(es).

I am also currently working on a front end to the Report Class to allow
creation of reports from a txt file using a format similar to a windows
ini file. This utility will support most if not all of the methods and
ivars in the class including goTop(), bWhile, bFind, cInitString,
cResetString, and will also allow data to be from multiple database files
with a bFind block evaled before printing the data.
This utility will be sent to the first 30 people who register the report
class at no charge, with complete source code.

I hope you find this class to be as useful as I have.

If you find any of the concepts dealt with in this report class to
be of benifit please contribute $30.00 to the author so that he can
justify all the long hours he puts in to his wife!!

Thanks and Enjoy....

Jon Credit
50 B. Paisley Lane
Columbia, S.C. 29210
CIS 71371.1675

var lChild - Logical variable that tells the column to go into a
child process if applicable.

VAR lWrap - Logical variable to determine if the column should be
word wrapped or not.
Default: .F.

VAR lShowTotal - Logical to determine if a numeric column should display
its total at the end of the report. This option is not
currently implemented.

VAR lMoreToPrint - Logical variable that tells the column object whether it
has more to display when it is wrapping its output.
This ivar is for internal use by the column and the
report object. DO NOT modify this variable.
Default: .F.

var bToDo - Code block to be EVALed when starting a child process.
This code block needs to return a logical to the column
object to tell it whether the child condition is
initially met or not.
Default: Nothing. It must be assigned when a column
object is going to be a child.

var bWhile - Code block to be EVALed while in a child process. This
is the WHILE condition to stay in the child process.
Default: {|| ( ::cParentAlias ) -> ( indexkey(0) ) ==;
( ::cChildAlias ) -> ( indexkey(0) ) }

VAR bBlock - Code block to be EVALed to produce the output to the
printer device. Since this is a code block you can now
have any function get data for your reports.
Default: {|| "" )

VAR bFind - Code block to be EVALed prior to printing the column
data. This code block allows seeks in other data files
for any necessary relationships.
Default: {|| Nothing() }

var aToBlank - Array of columns NOT to display while in a child
Default: {}

var cJustify - Character variable to tell the column titles how to
justify themselves. i.e. L-Left, R-Right C-Center.
Default: L

var cChildAlias - Character variable to tell the column which alias to
select when processing a child process.

var cColumnTrim - Character variable depicting the type of trim to do a
the column output. i.e. L-LTRIM R-RTRIM A-ALLTRIM
Default: R

VAR cTitle - Character variable holding the title for the column.
Default: ""

VAR cPicture - Character variable containing the picture clause for the
column output.
Default: ""

VAR nCol - Numeric variable containing the column position for the
column object. This is the starting column location for
the column object.
Default: Nothing, it is assigned at run time by the
report class.

VAR nWidth - Numeric variable containing the width of the column
Default: If not passed when the column object is
instantiated, it will be automatically assigned
to the width of the EVALed block.

VAR nTotal - Numeric variable to hold the total of columns with
numeric data, if lShowTotal is TRUE. This
feature is currently not implemented.
Default: 0

class var cDelimeter - Class character variable that contains a
string to be used as a new line delimiter for
character output and to also place a line
between the data.
Default: ""

class var cNoLineDelimeter - Class character variable that contains a
string to be used as a new line delimiter for
character output without placing a
line between the data.
Default: ~~

method Init - Initialization method for the column class.
Default variables are:
// Init( cTitle, bBlock, lWrap, nWidth, cPicture )

method show - Method to output the data to the active device.

method delimit - Method to parse the character output for the column with
the two class variable delimiters.

method childProcess - Method to carry out the child process for a column if
lChild is TRUE.

method ShowTotal - Method to display the totals of numeric columns if
lShowTotals is TRUE. NOTE: this feature is not
currently implemented.

CLASS METHOD InitClass - Class method to initialize the two delimiter
string variables.


var aOldToBlank - Array to store the old array of columns to blank while
establishing a new child process. Note:: currently
the report class can only support a single child
process. This ivar in addition to others have been
established for future enhancements.
Default: {}

var nPRow - Numeric to keep track of the current row being printed
of a character variable being wrapped versus the number
of actual rows to display.

var lOrigWrap - Logical variable that stores the wrapping condition
before displaying output to the screen.

var cParentAlias - Character variable to store the alias of the report
class when a column object is put into child mode.
Default: Nothing. It is assigned at run time.

var cToPrint - Character variable to store the EVAL of the bBlock
variable, which is to be printed. It is saved to an
ivar for purposes of word wrapping.
Default: Nothing, it is assigned at run time.

 December 22, 2017  Add comments

Leave a Reply