PipeDream File Format

The PipeDream file format is designed to facilitate manipulation by other programs. No control characters are used in the file, unless they have been explicitly typed in, apart from carriage return and/or linefeed characters which are used as cell separators. The files are sequential, and can be edited by any text editor.

PipeDream uses a special form of construct to add information about the structure of the file. All constructs begin and end with an percent sign (‘%’). Immediately after the first percent sign come one or more alphabetic characters which identify the construct. Between these characters and the final percent sign can come any information which is relevant to the construct.

At the start of the file is a group of constructs that identify what the values of the parameters which appear in the Options and Page Layout dialogue boxes are for the file. (In the case of Choices files, the parameters of several other dialogue boxes are stored: for a full list of the parameters stored in Choices files, see Save Choices.) This is followed by the main body of the file.

The file is arranged column by column and each column in the file is preceded by a column construct which gives details about the column followed by all the cells in the column. Every cell that is defined in that column has an entry.

Each entry is separated from the next one with a carriage return and/or linefeed. On each line can be a collection of constructs giving details about the cell.

For each column in the file there is a column construct, followed by all the entries for that column, until the end of file.

Options Constructs

%OP%parameter value ls

parameter   two characters identifying the parameter;
value the value of the parameter;
ls line separator which can be LF or CR,LF or LF,CR or CR.
Note: LF = ASCII 10; CR = ASCII 13.

Unknown options are always ignored by PipeDream and any program which processes PipeDream format files must do so too.

The various parameter ids are:

AM * Auto / manual

BM   Bottom margin

BO   Borders

CR * Line separator status

DE   Title

DF   Date format

DN * Number of deletions to store in paste list 

DP   Decimal places

FC   Fixed columns

FG   Font name

FM   Footer margin

FO   First footer line

F1   Second footer line

F2   Third footer line

FR   Fixed rows

FS   Line height

FX   Font width

FY   Font height

GR   Grid

HE   First header line

H1   Second header line

H2   Third header line

HM   Header margin

IO * Insert / overtype

IR   Insert on return

IW   Insert on wrap

JU   Justify

LM   Left margin

LP   Leading characters

LS   Line spacing

MB   Minus / brackets

MC * Menu change

MS * Short / long menus

ND   Name definition

PA   Pages

PL   Page length

PS   Page no. start

PX   Page width

PZ   Protected areas

SA * Auto spell checking

SL   User dictionary language

SO * User dictionary

TA   Text @-field character

TH   Thousands separator

TM   Top margin

TN   Text / numbers

TP   Trailing characters

WR   Wrap

* Choices files only

Printer Driver Options Constructs

These apply only to choices files.

PD   Printer driver

PT   Type

Pn   Printer server number

PB   Serial baud rate

PW   Databits

PP   Parity

PO   Stop bits

Colours Options Constructs

These apply only to choices files

CF   Text foreground colour

CB   Text background colour

CP   Protected cells colour

CL   Negative numbers colour

CG   Grid colour

CC   Caret colour

CE   Soft page break colour

CH   Hard page break colour

CS   Border foreground colour

CU   Border background colour

CT   Current border foreground colour

CV   Current border background colour

CX   Fixed border background colour

Column Construct

%CO:column,width,wrap_width%

column letter identifying the column;
width decimal number giving the column width;
wrap_width  decimal number giving the right margin position.

These constructs can appear anywhere in the entry for each cell

%B%   brackets format

%C%   centre align

%Dn%  decimal places; n gives the number

%DF%  floating format

%F%   free align

%Hn%  highlight character; n gives the number

%JL%  justify left

%JR%  justify right

%L%   left align

%LC%  leading character format

%LCR% LCR align

%Pn%  page break: n gives the parameter, 0 for unconditional

%PC%  per cent character

%R%   right align

%TC%  trailing character format

%V%   cell is a number (value) cell

PipeDream Cell Format

construct text construct textls

construct   one of the constructs above;
text 8-bit characters (currently selected encoding, e.g. Latin1) being the cell content;
ls line separator which can be LF or CR,LF or LF,CR or CR.