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 . |