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.
%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
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
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
%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
construct text construct
text … ls
| 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. |