2554 lines
76 KiB
Plaintext
2554 lines
76 KiB
Plaintext
|
WORKSHEET FILE FORMAT
|
||
|
FROM LOTUS
|
||
|
|
||
|
SUMMARY OF RECORD TYPES
|
||
|
|
||
|
Copyright(c) 1984, Lotus Development Corporation
|
||
|
161 First Street
|
||
|
Cambridge, Massachusetts 02142
|
||
|
(617) 492-7171
|
||
|
Electronic Edition, December, 1984
|
||
|
All Rights Reserved
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
BOF
|
||
|
|
||
|
Record Type Code Body length
|
||
|
BOF 0 (00H) 2 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Beginning of file
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-1 file format revision number
|
||
|
1028 (0404h) = 1-2-3 file
|
||
|
1029 (0405h) = Symphony file
|
||
|
|
||
|
|
||
|
Example
|
||
|
|
||
|
|
||
|
|
||
|
Record Header Record Body
|
||
|
|
||
|
Record Record BOF
|
||
|
Type Length
|
||
|
Byte Number 0 1 2 3 0 1
|
||
|
Hex Code 00 00 02 00 04 04
|
||
|
Dec.Equivalent 0 2 1028
|
||
|
|
||
|
|
||
|
EOF
|
||
|
|
||
|
Record Type Code Body length
|
||
|
EOF 1 (01H) 0 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
End of file
|
||
|
|
||
|
Used by both 1-2-3 and Symphony
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-no record body-
|
||
|
|
||
|
|
||
|
Example
|
||
|
|
||
|
Record Header
|
||
|
|
||
|
Record Record
|
||
|
Type Length
|
||
|
Byte Number 0 1 2 3
|
||
|
Hex Code 01 00 00 00
|
||
|
Decimal Equivalent 1 0
|
||
|
|
||
|
Note: End of file is ony a header. EOF has a record
|
||
|
length of 0; therefore, no record body follows.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
CALCMODE
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
CALCMODE 2 (02h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Calculation method
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 0 = Manual mode
|
||
|
FF = automatic
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
CALCORDER
|
||
|
|
||
|
|
||
|
Recrod Type Code Body length
|
||
|
CALCORDER 3 (03H) 1 BYTE
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Calculation order
|
||
|
|
||
|
Used by both 1-2-3 and Symphony
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0 0 = natural
|
||
|
1 = by column
|
||
|
FF = by row
|
||
|
|
||
|
|
||
|
|
||
|
SPLIT
|
||
|
|
||
|
Record Type Code Body length
|
||
|
SPLIT 4(04h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Split window type
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 0 = not split
|
||
|
1 = vertical split
|
||
|
FF = horizontal split
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
SYNC
|
||
|
|
||
|
Record Type Code Body length
|
||
|
SYNC 5(05h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Split window sync
|
||
|
|
||
|
This determines whether the two screens in 1-2-3's split-screen feature
|
||
|
will move together with the cursor.
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 0 = not synchronized
|
||
|
FF = synchronized
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
RANGE
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
RANGE 6(06h) 8 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Range of cells written to worksheet file.
|
||
|
If the worksheet file was created using a File Save command, then this
|
||
|
range describes the active area with trailing blank columns and rows
|
||
|
removed. If the worksheet file was created using a File Xtract command,
|
||
|
then this range describes the extract range with trailing blank columns and
|
||
|
rows removed. If there is no data in the range, the starting column is set
|
||
|
to -1.
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
|
||
|
|
||
|
Example
|
||
|
|
||
|
Record Header rt_range Record Body
|
||
|
Record Record Starting Starting Ending Ending
|
||
|
Type Length Column Row Column Row
|
||
|
Byte Number 0 1 2 3 0 1 2 3 4 5 6 7
|
||
|
Hex Code 06 00 08 00 00 00 00 00 01 00 03 00
|
||
|
Dec.Equivalent 6 8 0 0 1 3
|
||
|
|
||
|
The record displays the worksheet range as A1...B4.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
WINDOW1
|
||
|
|
||
|
Record Type Code Body length
|
||
|
WINDOW1 7(07h) 31 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Window 1 record
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 cursor column position
|
||
|
2-3 cursor row position
|
||
|
4 format (see Appendix A, Cell Format Encoding)
|
||
|
5 unused (0)
|
||
|
6-7 column width
|
||
|
8-9 number of columns on screen
|
||
|
10-11 number of rows on screen
|
||
|
12-13 left column
|
||
|
14-15 top row
|
||
|
16-17 number of title columns
|
||
|
18-19 number of title rows
|
||
|
20-21 left title column
|
||
|
22-23 top title row
|
||
|
24-25 border width column
|
||
|
26-27 border width row
|
||
|
28-29 window width
|
||
|
30 unused (0)
|
||
|
|
||
|
|
||
|
|
||
|
COLW1
|
||
|
|
||
|
Record Type Code Body length
|
||
|
COLW1 8(08h) 3 bytes
|
||
|
|
||
|
Record Type Description
|
||
|
|
||
|
Column width
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
In 1-2-3, this record contains the width of a column Window 1.
|
||
|
In symphony, it contains width information for the Window Record that it
|
||
|
follows.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-1 column
|
||
|
2 width
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
WINTWO
|
||
|
|
||
|
Record Type Code Body length
|
||
|
WINTWO 9(09h) 31 bytes
|
||
|
|
||
|
Record Description
|
||
|
Window 2 record
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 cursor column position
|
||
|
2-3 cursor row position
|
||
|
4 format (see Appendix A, Cell Format Encoding)
|
||
|
5 unused (0)
|
||
|
6-7 column width
|
||
|
8-9 number of columns on screen
|
||
|
10-11 number of rows on screen
|
||
|
12-13 left column
|
||
|
14-15 top row
|
||
|
16-17 number of title columns
|
||
|
18-19 number of title rows
|
||
|
20-21 left titile column
|
||
|
22-23 top title row
|
||
|
24-25 border width column
|
||
|
26-27 border width row
|
||
|
28-29 window width
|
||
|
30 unused (0)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
COLW2
|
||
|
|
||
|
Record Type Code Body length
|
||
|
COLW2 10(0Ah) 3 bytes
|
||
|
|
||
|
Record Description
|
||
|
Column width, Window 2
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-1 column
|
||
|
2 width
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
NAME
|
||
|
|
||
|
Record Type Code Body length
|
||
|
NAME 11 (OBh) 24 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Name of range
|
||
|
The worksheet contains one record for each range name.
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-15 NULL terminated ASCII string
|
||
|
16-17 Starting column
|
||
|
18-19 Starting row
|
||
|
20-21 Ending column
|
||
|
22-23 Ending row
|
||
|
|
||
|
Example
|
||
|
|
||
|
Record Header
|
||
|
Record Record
|
||
|
Type Length
|
||
|
Byte Number 0 1 2 3
|
||
|
Hex Code 0B 00 18 00
|
||
|
Decimal Equivalent 11 24
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
(cont.)
|
||
|
|
||
|
Record Body
|
||
|
Range Name (Text)
|
||
|
Decimal Equivalent Expressed in ASCII Text
|
||
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
||
|
52 45 56 45 4E 55 45 53 00 00 00 00 00 00 00 00
|
||
|
R E V E N U E S / Unfilled Names Area
|
||
|
|
||
|
|
||
|
|
||
|
(cont.) Record Body
|
||
|
|
||
|
Starting Starting Ending Ending
|
||
|
Column Row Column Row
|
||
|
16 17 18 19 20 21 22 23
|
||
|
00 00 00 00 01 00 03 00
|
||
|
0 0 1 3
|
||
|
|
||
|
Range name is REVENUES (encompasses A1 to B4).
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
BLANK
|
||
|
|
||
|
Record Type Code Body length
|
||
|
BLANK 12(0Ch) 5 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Blank cell
|
||
|
|
||
|
Blank cell records appear only for those cells that are protected, or do
|
||
|
not have the default format.
|
||
|
|
||
|
Unprotected blank cells with the default format are omitted from the
|
||
|
worksheet file.
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0 format (see Appendix A, Cell Format Encoding)
|
||
|
1-2 column
|
||
|
3-4 row
|
||
|
|
||
|
Example
|
||
|
|
||
|
Record Header Record Body
|
||
|
Record Record
|
||
|
Type Length Format Column Row
|
||
|
Byte Number 0 1 2 3 0 1 2 3 4
|
||
|
Hex Code 0C 00 05 00 22 05 00 0A 00
|
||
|
Dec. Equivalent 12 5 34 5 10
|
||
|
|
||
|
This record displays cell in location F11 (column 5, row 10).
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
INTEGER
|
||
|
|
||
|
Record Type Code Body length
|
||
|
INTEGER 13(ODh) 7 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Integer number cell
|
||
|
|
||
|
An integer cell holds a single integer value
|
||
|
in the range -32767....+32767 (decimal).
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 format (see Appendix A, Cell Format Encoding)
|
||
|
1-2 column
|
||
|
3-4 row
|
||
|
5-6 integer value
|
||
|
|
||
|
|
||
|
Example
|
||
|
|
||
|
Record Header Record Body
|
||
|
Record Record
|
||
|
Type Length Format Column Row Integer
|
||
|
Byte Number 0 1 2 3 0 1 2 3 4 5 6
|
||
|
Hex Code 0D 00 07 00 00 00 00 00 00 DD 04
|
||
|
Dec. Equivalent 13 7 0 0 0 1245
|
||
|
|
||
|
This example displays the integer 1245 located in cell A1 (column 0, row
|
||
|
0). When reading a 2-byte integer, the lower byte appears first. For
|
||
|
example, DD04h is actually 04DDh (1245 decimal).
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
NUMBER
|
||
|
|
||
|
Record Type Code Body length
|
||
|
NUMBER 14 (0Eh) 13 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Floating point number
|
||
|
Used by both 1-2-3 and Symphony
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 format
|
||
|
1-2 column
|
||
|
3-4 row
|
||
|
5-12 value (IEEE long real; 8087 double-precision floating-
|
||
|
point format)
|
||
|
|
||
|
Example
|
||
|
The following describes a 64-bit long real format.
|
||
|
|
||
|
|
||
|
S Exponent Fraction
|
||
|
63 62 52 51 0
|
||
|
MSB LSB
|
||
|
|
||
|
S 1-bit Sign field
|
||
|
0 = +
|
||
|
1 = -
|
||
|
|
||
|
Exponent 11-bit Exponent field
|
||
|
|
||
|
Exponent is binary, excess 1023(base 10). Thus, the true
|
||
|
exponent is: 2^(exponent -1023).
|
||
|
|
||
|
Fraction 52-bit Fraction field
|
||
|
|
||
|
An implied leading 1 bit is at the beginning of the
|
||
|
fraction. The implied binary point is between the implied
|
||
|
1 bit and the Most Significant Bit (MSB) of the fraction
|
||
|
field.
|
||
|
|
||
|
Special NA: S = 1 Exponent = 7FF Fraction = 0
|
||
|
Values ERR: S = 0 Exponent = 7FF Fraction = 0
|
||
|
|
||
|
STRING: S = 0 Exponent = 7FF Fraction = non-zero
|
||
|
(Symphony only)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
LABEL
|
||
|
|
||
|
Record Type Code Body length
|
||
|
LABEL 15(0Fh) variable
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Label cell
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 format (see Appendix A, Cell Format Encoding)
|
||
|
1-2 column
|
||
|
3-4 row
|
||
|
5+ NULL terminated ASCII string;
|
||
|
240 bytes maximum
|
||
|
|
||
|
|
||
|
Example
|
||
|
|
||
|
Record Header Record Body
|
||
|
Record Record
|
||
|
Type Length Format Column Row Label
|
||
|
Byte Number 0 1 2 3 0 1 2 3 4 5 6 7 8 9 10
|
||
|
Hex Code 0F 00 0B 00 F5 00 00 00 00 27 50 41 55 4C 00
|
||
|
Dec. Equivalent 15 11 245 0 0 P A U L
|
||
|
|
||
|
This example is a label record located at A1 (column 0, row 0).
|
||
|
|
||
|
This record contains the word 'PAUL.
|
||
|
Byte 5 is always one of the following format prefixes:\'"^.
|
||
|
|
||
|
This record varies in relation to the amount of text stored in the cell.
|
||
|
|
||
|
A user can enter up to 240 characters in one cell.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FORMULA
|
||
|
|
||
|
Record Type Code Body length
|
||
|
FORMULA 16(10H) variable
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Formula cell
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Formulas are compiled in Reverse Polish Internal Notation. By creating
|
||
|
formulas in 1-2-3 or Symphony, and dumping them as hex bytes, the formula
|
||
|
compilation logic can be deciphered.
|
||
|
|
||
|
Table 1 describes the available Opcodes and functions. The functions are
|
||
|
discussed in greater detail in the 1-2-3 and Symphony documentation.
|
||
|
|
||
|
Appendix B discusses Lotus' proprietary formula compiler in greater
|
||
|
detail.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0 format (see Appendix A, Cell Format Encoding
|
||
|
1-2 column
|
||
|
3-4 row
|
||
|
5-12 formula numeric value (IEEE long real; see NUMBER)
|
||
|
13-14 formula size (bytes)
|
||
|
15+ for code (see Table 1, Formula Opcodes); Reverse
|
||
|
Polish Internal Notation; 2048 bytes maximum
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FORMULA
|
||
|
|
||
|
Table 1-a Formula Compiler Opcode Table, Format
|
||
|
|
||
|
Dec Hex Operation Description
|
||
|
0 0 constant Code is followed by an 8 byte
|
||
|
IEEE Long Real Floating Point
|
||
|
Number
|
||
|
|
||
|
1 1 variable Code followed by 4 byte coor-
|
||
|
dinate Byte 0,1 = Column
|
||
|
Byte 2,3 = Row
|
||
|
|
||
|
2 2 range Code followed by 8 byte range
|
||
|
Byte 0,1 = Start column
|
||
|
Byte 2,3 = Start row
|
||
|
Byte 4,5 = End column
|
||
|
Byte 6,7 = End row
|
||
|
|
||
|
3 3 return End of formula
|
||
|
|
||
|
4 4 parentheses Indicates presence of paren-
|
||
|
theses in original formula.
|
||
|
It is ignored during recal-
|
||
|
culation.
|
||
|
|
||
|
5 5 2 byte integer Followed by 2 byte signed
|
||
|
constant integer.
|
||
|
|
||
|
The above Opcodes will define the type and length of information that
|
||
|
follows the Opcode. Opcode 3 defines the end of the formula.
|
||
|
|
||
|
For example, Opcode 0 is followed by an 8 byte floating point number.
|
||
|
Opcode 1 is followed by a 4 byte coordinate.
|
||
|
Opcode 2 is followed by an 8 byte range specifier.
|
||
|
Opcode 5 is followed by a 2 byte signed integer.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FORMULA
|
||
|
|
||
|
Table 1-b Formula Compiler Opcode Table, Operations
|
||
|
|
||
|
Dec Hex Operation Description
|
||
|
|
||
|
8 8 unary - Negation
|
||
|
9 9 + Addition
|
||
|
10 A - Subtraction
|
||
|
11 B * Multiplication
|
||
|
12 C / Division
|
||
|
13 D ^ Exponentiation;
|
||
|
ie. 3^2 is(3x3)
|
||
|
14 E = Equal to
|
||
|
15 F < > Not equal to
|
||
|
16 10 < = Less than or equal to
|
||
|
17 11 > = Greater than or equal to
|
||
|
18 12 < Less than
|
||
|
19 13 > Greater than
|
||
|
20 14 #AND# Logical AND
|
||
|
21 15 #OR# Logical OR
|
||
|
22 16 #NOT# Logical NOT
|
||
|
23 17 unary + (Ignored during recalculation
|
||
|
31 1F na @Na not applicable
|
||
|
32 20 err @Err error
|
||
|
33 21 abs @abs (x) Absolute value of x
|
||
|
34 22 int @int (x) Integer value of x
|
||
|
35 23 sqrt @sqrt (x) Square root of x
|
||
|
36 24 log @log (x) Log base 10 of x
|
||
|
37 25 ln @ln (x) Log base e of x
|
||
|
38 26 pi @pi
|
||
|
39 27 sin @sin (x) Sine of x
|
||
|
40 28 cos @cos (x) Cosine of x
|
||
|
41 29 tan @tan (x) Tangent of x
|
||
|
42 2A atan2 @atan2 (x) 4 quadrant arc tangent
|
||
|
of x
|
||
|
43 2B atan @atan (x) 2 quadrant arc tangent
|
||
|
of x
|
||
|
44 2C asin @asin (x) Arc sine of x
|
||
|
45 2D acos @acos (x) Arc cosine of x
|
||
|
46 2E exp @exp (x) Exponential anti-log of x
|
||
|
47 2F mod @mod (x,y)X Mod Y
|
||
|
48 30 sel @Choose (x,v0,v1...vN)
|
||
|
Match a list item.
|
||
|
49 31 isna @isna (x)x = NA then 1 (true)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FORMULA
|
||
|
|
||
|
Table 1-b (continued) Formula Compiler Opcode Table, Operations
|
||
|
|
||
|
Dec Hex Operation Description
|
||
|
51 33 false @false Return 0
|
||
|
52 34 true @true Return 1
|
||
|
53 35 rand @rand Generate random number
|
||
|
between 0 and 1
|
||
|
54 36 date @date (Y,M,D) Generate the days
|
||
|
since 1/1/1900 (Y = 0-199,
|
||
|
M = 1-12, D = 1-31)
|
||
|
55 37 today @today Output serial date number
|
||
|
from cpu's clock
|
||
|
56 38 pmt @pmt (princ, int, term)Payment
|
||
|
57 39 pv @pv (pmt, int, term) Present value
|
||
|
58 3A fv @fv (pmt, int, term) Future Value
|
||
|
59 3B if @if (argument, them else) Boolean
|
||
|
if
|
||
|
60 3C day @day (x) Print day of the month from
|
||
|
a serial date number
|
||
|
61 3D month @month (x) Print month of the year
|
||
|
from a serial date number
|
||
|
62 3E round @round (x,d) Round number x to d
|
||
|
decimal places
|
||
|
|
||
|
The above Opcodes are variable, constant and argument related.
|
||
|
|
||
|
For example: @sqrt (9) is the square root of the constant 9
|
||
|
@sqrt (A1) is the square root of the variable A1
|
||
|
@sqrt ((A1*2)/3) is the square root of the argument (A1*2)/3
|
||
|
(Note that the argument ((A1*2)/3) will be processed before
|
||
|
the @sqrt function.)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FORMULA
|
||
|
|
||
|
Table 1-c Formula Compiler Opcode Table, Multiple Arguments
|
||
|
|
||
|
Dec Hex Operation Description
|
||
|
80 50 sum @sum (range and/or cell and/or
|
||
|
constant) Use commas to separate
|
||
|
arguments
|
||
|
81 51 avg @avg (range and/or cell and/or constant)
|
||
|
Use commas to separate arguments
|
||
|
82 52 cnt @cnt (range and/or cell and/or constant)
|
||
|
Use commas to separate arguments
|
||
|
83 53 min @min (range and/or cell and/or constant)
|
||
|
Use commas to separate arguments
|
||
|
84 54 max @max (range and/or cell and/or constant
|
||
|
Use commas to separate arguments
|
||
|
85 55 vlookup @Vlookup (x, range, offset) X = Cell
|
||
|
address or constant, range = Table,
|
||
|
Offset = Row in Table
|
||
|
86 56 npv @npv (int, range) Net present value;
|
||
|
Int = interest, Range = cash flows
|
||
|
87 57 var @var (range) Variance of all items in
|
||
|
list
|
||
|
88 58 std @std (range) Standard deviation of all
|
||
|
items in list
|
||
|
89 59 irr @irr (guess,range) Guess = % estimate;
|
||
|
Range = range of cash flows
|
||
|
90 5A hlookup @hlookup, (x, range, offset) X = Cell
|
||
|
address or constant, range = Table,
|
||
|
Offseet = row in Table
|
||
|
91 5B dsum Database statistical functions
|
||
|
92 5C avg Database statistical functions
|
||
|
93 5D dcnt Database statistical functions
|
||
|
94 5E dmin Database statistical functions
|
||
|
95 5F dmax Database statistical functions
|
||
|
96 60 dvar Database statistical functions
|
||
|
97 61 dstd Database statistical functions
|
||
|
|
||
|
The above Opcodes deal specifically with ranges and multiple arguments.
|
||
|
For example: @sum (A1...A10, B25, 9) contains a range, a variable and a
|
||
|
constant as the arguments.
|
||
|
|
||
|
All function Opcodes which accept a variable number of arguments
|
||
|
are followed by a 1-byte argument count.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FORMULA
|
||
|
|
||
|
Table 1-d Operator Precedence Table
|
||
|
|
||
|
Operator Unary Precedence Binary Precedence
|
||
|
+ 6 4
|
||
|
- 6 4
|
||
|
* na 5
|
||
|
/ na 5
|
||
|
^ na 7
|
||
|
= na 3
|
||
|
< > na 3
|
||
|
< = na 3
|
||
|
> = na 3
|
||
|
< na 3
|
||
|
> na 3
|
||
|
#and# na 1
|
||
|
#or# na 1
|
||
|
#not# 2 na
|
||
|
|
||
|
A Note on the Decompiler
|
||
|
|
||
|
The algorithm for the formula decompiler was taken verbatim from:
|
||
|
|
||
|
Writing Interactive Compilers and Interpreters, P.J. Brown, John Wiley
|
||
|
and Sons, 1979. See chapter 6.2. The algorithm itself is described on
|
||
|
pages 216 and 217.
|
||
|
|
||
|
This algorithm is also described in the following article:
|
||
|
|
||
|
More on the Re-creation of Source Code from Reserve Polish, P.J. Brown,
|
||
|
Software Practice and Experience, Vol 7, 545-551 (1977).
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
TABLE
|
||
|
|
||
|
Record Type Code Body length
|
||
|
TABLE 24 (18h) 25 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Table range
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
In 1-2-3, the record refers to Data Tables 1 and 2.
|
||
|
In Symphony, it refers to What-if Tables 1 and 2.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 0 = no table
|
||
|
1 = Table 1
|
||
|
2 = Table 2
|
||
|
1-2 Table Range; starting column
|
||
|
3-4 starting row
|
||
|
5-6 ending column
|
||
|
7-8 ending row
|
||
|
9-10 Input Cell 1; starting column
|
||
|
11-12 starting row
|
||
|
13-14 ending column
|
||
|
15-16 ending row
|
||
|
17-18 Input Cell 2; starting column
|
||
|
19-20 starting row
|
||
|
21-22 ending column
|
||
|
23-24 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
QRANGE
|
||
|
|
||
|
Record Type Code Body length
|
||
|
QRANGE 25 (19h) 25 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Query range
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 Input ranges; starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
8-9 Output ranges starting column
|
||
|
10-11 starting row
|
||
|
12-13 ending column
|
||
|
14-15 ending row
|
||
|
16-17 Criteria; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
24 Command; 0 = no command
|
||
|
1 = find
|
||
|
2 = extract
|
||
|
3 = delete
|
||
|
4 = unique
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
PRANGE
|
||
|
|
||
|
Record Type Code Body length
|
||
|
PRANGE 26 (1Ah) 8 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print range
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
SRANGE
|
||
|
|
||
|
Record Type Code Body length
|
||
|
SRANGE 27 (1Bh) 8 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Sort range
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FRANGE
|
||
|
|
||
|
Record Type Code Body length
|
||
|
FRANGE 28 (1Ch) 8 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Fill range
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
KRANGE
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
KRANGE 29 (1Dh) 9 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Primary sort key range
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
8 Order: 0 = descending order
|
||
|
FF = ascending order
|
||
|
|
||
|
|
||
|
|
||
|
HRANGE
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
HRANGE 32 (20h) 16 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Distribution range
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 Values range; starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
8-9 Bin range starting column
|
||
|
10-11 starting row
|
||
|
12-13 ending column
|
||
|
14-15 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
KRANGE2
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
KRANGE2 35(23h) 9 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Secondary sort key range
|
||
|
|
||
|
Use in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
8 Order; 0 = descending order
|
||
|
FF = ascending order
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
PROTEC
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
PROTEC 36(24h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Global protection
|
||
|
|
||
|
Used by both 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0 0 = global protection OFF
|
||
|
1 = global protection ON
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
FOOTER
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
FOOTER 37(25h) 242 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print footer
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-242 NULL termination ASCII string
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
HEADER
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
HEADER 38(26h) 242 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print header
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-242 NULL termination ASCII string
|
||
|
|
||
|
|
||
|
SETUP
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
SETUP 39(27h) 40 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print setup
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-40 NULL terminated ASCII string
|
||
|
|
||
|
|
||
|
|
||
|
MARGINS
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
MARGINS 40(28h) 10 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print margins code
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 left margin
|
||
|
2-3 right margin
|
||
|
4-5 page length
|
||
|
6-7 top margin
|
||
|
8-9 bottom margin
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
LABELFMT
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
LABELFMT 41 (29h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Label alignment
|
||
|
|
||
|
Used by both 1-2-3 and Symphony
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 27h = left
|
||
|
22h = right
|
||
|
5Eh = center
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
TITLES
|
||
|
|
||
|
|
||
|
Record Types Code Body length
|
||
|
|
||
|
TITLES 42(2Ah) 16 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print borders
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 Row border; starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
8-9 Column border; starting column
|
||
|
10-11 starting row
|
||
|
12-13 ending column
|
||
|
14-15 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
GRAPH 45(2Dh) 437 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Current graph settings
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-- see Table 2 Graph Record Structure --
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH
|
||
|
|
||
|
|
||
|
Table 2 Graph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 X Range; starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
|
||
|
8-9 A Range; starting column
|
||
|
10-11 starting row
|
||
|
12-13 ending column
|
||
|
14-15 ending row
|
||
|
|
||
|
16-17 B Range; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
|
||
|
24-25 C Range; stating column
|
||
|
26-27 starting row
|
||
|
28-29 ending column
|
||
|
30-31 ending row
|
||
|
32-33 D Range; starting column
|
||
|
34-35 starting row
|
||
|
36-37 ending column
|
||
|
38-39 ending row
|
||
|
|
||
|
40-41 E Range; starting column
|
||
|
42-43 starting row
|
||
|
44-45 ending column
|
||
|
46-47 ending row
|
||
|
|
||
|
48-49 F Range; starting column
|
||
|
50-51 starting row
|
||
|
52-53 ending column
|
||
|
54-55 ending row
|
||
|
|
||
|
56-57 A Labels; starting column
|
||
|
58-59 starting row
|
||
|
60-61 ending column
|
||
|
62-63 ending row
|
||
|
|
||
|
64-65 B Labels; starting column
|
||
|
66-67 starting row
|
||
|
68-69 ending column
|
||
|
70-71 ending row
|
||
|
|
||
|
72-73 C Labels; starting column
|
||
|
74-75 starting row
|
||
|
76-77 ending column
|
||
|
78-79 ending row
|
||
|
|
||
|
80-81 D Labels; starting column
|
||
|
82-83 starting row
|
||
|
84-85 ending column
|
||
|
86-87 ending row
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH
|
||
|
|
||
|
|
||
|
Table 2 (continued) Graph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
88-89 E Labels; starting column
|
||
|
90-91 starting row
|
||
|
92-93 ending column
|
||
|
94-95 ending row
|
||
|
96-97 F Labels; starting column
|
||
|
98-97 starting row
|
||
|
100-101 ending column
|
||
|
102-103 ending row
|
||
|
|
||
|
104 Graph type 0 = XY, 1 = bar, 2 = pie,
|
||
|
4 = line, 5 = stacked bar
|
||
|
|
||
|
105 Grid; 0 = none, 1 = horizontal,
|
||
|
2 = vertical, 3 = both
|
||
|
|
||
|
106 Color 0 = black-white, FF = color
|
||
|
|
||
|
107 A Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
108 B Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, e = line-symbol
|
||
|
|
||
|
109 C Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
110 D Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
111 E Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
112 F Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
113 A Range data label 0 = center, 1 = right,
|
||
|
alignment; 2 = below, 3 = left,
|
||
|
4 = above
|
||
|
|
||
|
114 B Range data label 0 = center, 1 = right
|
||
|
alignment; 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
115 C Range data label 0 = center, 1 = right
|
||
|
alignment; 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
116 D Range data label 0 = center, 1 = right
|
||
|
alignment; 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
117 E Range data label 0 = center, 1 = right
|
||
|
alignment; 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
118 F Range data label 0 = center, 1 = right
|
||
|
alignment; 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH
|
||
|
|
||
|
|
||
|
Table 2 (continued) Graph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
119 Scale 0 = auto
|
||
|
FF = manual
|
||
|
120-127 X lower limit in floating point format
|
||
|
|
||
|
128-135 X upper limit in floating point format
|
||
|
|
||
|
136 Y scale; 0 = automatic
|
||
|
FF = manual
|
||
|
|
||
|
137-144 Y lower limit in floating point format
|
||
|
|
||
|
145-152 Y upper limit in floating point format
|
||
|
|
||
|
|
||
|
|
||
|
153-192 First title
|
||
|
|
||
|
193-232 Second title
|
||
|
|
||
|
233-272 X title
|
||
|
|
||
|
273-312 Y title
|
||
|
|
||
|
313-332 A legend
|
||
|
|
||
|
333-352 B legend
|
||
|
|
||
|
353-372 C legend
|
||
|
|
||
|
373-392 D legend
|
||
|
|
||
|
393-412 E legend
|
||
|
|
||
|
413-432 F legend
|
||
|
|
||
|
433 X format
|
||
|
|
||
|
434 Y format
|
||
|
|
||
|
435-436 Skip factor
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
NGRAPH
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
NGRAPH 46 (2EH) 453 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Named current graph settings
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Bytes Number Byte Description
|
||
|
|
||
|
-- see Table 3 Ngraph Record Structure --
|
||
|
|
||
|
|
||
|
NGRAPH
|
||
|
|
||
|
|
||
|
Table 3 NGraph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 Name; NULL terminated ASCII string
|
||
|
|
||
|
16-17 X Range; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
|
||
|
24-25 A Range; starting column
|
||
|
26-27 starting row
|
||
|
28-29 ending column
|
||
|
30-31 ending row
|
||
|
|
||
|
32-33 B Range; starting column
|
||
|
34-35 starting row
|
||
|
36-37 ending column
|
||
|
38-39 ending row
|
||
|
|
||
|
40-41 C Range; starting column
|
||
|
42-43 starting row
|
||
|
44-45 ending column
|
||
|
46-47 ending row
|
||
|
|
||
|
48-49 D Range; starting column
|
||
|
50-51 starting row
|
||
|
52-53 ending column
|
||
|
54-55 ending row
|
||
|
|
||
|
56-57 E Range; starting column
|
||
|
58-59 starting row
|
||
|
60-61 ending column
|
||
|
62-63 ending row
|
||
|
|
||
|
64-65 F Range; stating column
|
||
|
66-67 starting row
|
||
|
68-69 ending column
|
||
|
70-71 ending row
|
||
|
|
||
|
72-73 A Labels; starting column
|
||
|
74-75 starting row
|
||
|
76-77 ending column
|
||
|
78-79 ending row
|
||
|
|
||
|
80-81 B Labels; starting column
|
||
|
82-83 starting row
|
||
|
84-85 ending column
|
||
|
86-87 ending row
|
||
|
|
||
|
88-89 C Labels; starting column
|
||
|
90-91 starting row
|
||
|
92-93 ending column
|
||
|
94-95 ending row
|
||
|
|
||
|
96-97 D Labels; starting column
|
||
|
98-99 starting row
|
||
|
100-101 ending column
|
||
|
102-103 ending row
|
||
|
|
||
|
|
||
|
NGRAPH
|
||
|
|
||
|
|
||
|
Table 3 (continued) NGraph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
104-105 E Labels; starting column
|
||
|
106-107 starting row
|
||
|
108-109 ending column
|
||
|
110-111 ending row
|
||
|
|
||
|
112-113 F Labels; starting column
|
||
|
114-115 starting row
|
||
|
116-117 ending column
|
||
|
118-119 ending row
|
||
|
|
||
|
120 Graph type; 0 = XY, 1 = bar, 2 = pie,
|
||
|
4 = line, 5 = stacked bar
|
||
|
|
||
|
121 Grid 0 = none, 1 = horizontal,
|
||
|
2 = vertical, 3 = both
|
||
|
|
||
|
122 Color; 0 = black-white, FF = color
|
||
|
|
||
|
123 A Range line format; 0 = none, l = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
124 B Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
125 C Range line format; 0 = none, 1 = line 2 = symbol, 3 = line-symbol
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
126 D Range line format; 0 = none, 1 = line
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
127 E Range line format; 0 = none, 1 = line
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
128 F Range line format; 0 = none, 1 = line
|
||
|
2 = symbol, 3 = line-symbol
|
||
|
|
||
|
129 A Range data label 0 = center, 1 = right
|
||
|
alignment 2 = below, 3 = left,
|
||
|
4 = above
|
||
|
|
||
|
130 B Range data label 0 = center, 1 = right
|
||
|
alignment 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
131 C Range data label 0 = center, 1 = right
|
||
|
alignment 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
132 D Range data label 0 = center, 1 = right
|
||
|
alignment 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
133 E Range data label 0 = center, 1 = right
|
||
|
alignment 2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
134 F Range data label 0 = center, 1 = right
|
||
|
alignment 2 = below, 3 = left
|
||
|
|
||
|
135 Scale 0 = auto
|
||
|
FF = manual
|
||
|
|
||
|
|
||
|
|
||
|
NGRAPH
|
||
|
|
||
|
|
||
|
Table 3 (continued) NGraph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
136-143 X lower limit in floating point format
|
||
|
|
||
|
144-151 X upper limit in floating point format
|
||
|
|
||
|
152 Y scale; 0 = automatic
|
||
|
FF = manual
|
||
|
|
||
|
153-160 Y lower limit in floating point format
|
||
|
|
||
|
161-168 Y upper limit in floating point format
|
||
|
|
||
|
|
||
|
209-224 First title
|
||
|
|
||
|
225-248 Second title
|
||
|
|
||
|
249-288 X title
|
||
|
|
||
|
289-328 Y title
|
||
|
|
||
|
329-348 A legend
|
||
|
|
||
|
349-368 B legend
|
||
|
|
||
|
369-388 C legend
|
||
|
|
||
|
389-408 D legend
|
||
|
|
||
|
409-428 E legend
|
||
|
|
||
|
429-448 F legend
|
||
|
|
||
|
449 X format
|
||
|
|
||
|
450 Y format
|
||
|
|
||
|
451-452 Skip factor
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
CALCCOUNT
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
CALCCOUNT 47(2Fh) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Iteration count
|
||
|
|
||
|
Used in 1-2-3 and Symphony.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 Iteration count
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
UNFORMATTED
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
UNFORMATTED 48(30h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Formatted/unformatted print
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 0 = formatted
|
||
|
1 = unformatted
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
CURSORW12
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
CURSORW12 49(31h) 1
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Cursor location
|
||
|
|
||
|
Used in 1-2-3 only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 1 = cursor in Window 1
|
||
|
2 = cursor in Window 2
|
||
|
|
||
|
|
||
|
|
||
|
WINDOW
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
WINDOW 50(32h) 144 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Window record structure
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-- see Table 4 Window Record Structure --
|
||
|
|
||
|
|
||
|
|
||
|
WINDOW
|
||
|
|
||
|
|
||
|
Table 4 Window Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 Window name NULL terminated ASCII
|
||
|
string
|
||
|
16-17 Cursor position; column
|
||
|
18-19 row
|
||
|
20 Format (see Appendix A,
|
||
|
Cell Format Encoding)
|
||
|
|
||
|
21 Unused
|
||
|
22-23 Column width
|
||
|
24-25 Total number of columns
|
||
|
26-27 Total number of rows
|
||
|
28-29 Non-Title Home Position; column
|
||
|
30-31 row
|
||
|
32-33 Number of title columns
|
||
|
34-35 Number of title rows
|
||
|
36-37 Left title column
|
||
|
38-39 Top title row
|
||
|
40-41 Home position column
|
||
|
42-43 Home position row
|
||
|
44-45 Number of screen columns
|
||
|
46-47 Number of screen rows
|
||
|
|
||
|
48 Hidden Status; 0 = hidden
|
||
|
FF = not hidden
|
||
|
|
||
|
49 Previous window; 0 = SHEET
|
||
|
1 = DOC
|
||
|
2 = GRAPH
|
||
|
3 = COMM
|
||
|
4 = FORM
|
||
|
5 = APPLICATION
|
||
|
|
||
|
50 Border display; 0 = cell
|
||
|
FF = no cell
|
||
|
|
||
|
51 Border display lines; 0 = lines
|
||
|
FF = no lines
|
||
|
|
||
|
52-53 Window Range starting column
|
||
|
54-55 starting row
|
||
|
56-57 ending column
|
||
|
58-59 ending row
|
||
|
|
||
|
60-61 Offset
|
||
|
|
||
|
62 Insert mode flag; 0 = OFF
|
||
|
non-zero = ON
|
||
|
|
||
|
63-78 Graph name
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
WINDOW
|
||
|
|
||
|
|
||
|
|
||
|
Table 4 (continued) Window Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
79 Window type; 0 = SHEET
|
||
|
1 = DOC
|
||
|
2 = GRAPH
|
||
|
3 = COMM
|
||
|
4 = FORM
|
||
|
5 = APPLICATION
|
||
|
|
||
|
80 Automatic display mode "a" = automatic (ASCII
|
||
|
flag; lower case "a")
|
||
|
else = manual
|
||
|
|
||
|
81 Forms filter; 0 = filter
|
||
|
non-zero = no filter
|
||
|
|
||
|
82-97 Associated form name
|
||
|
98-99 Forms current record
|
||
|
|
||
|
100 Space display; 0 = no spaces
|
||
|
non-zero = spaces
|
||
|
|
||
|
101 Line spacing; 1 = 1 space
|
||
|
2 = 2 spaces
|
||
|
3 = 3 spaces
|
||
|
|
||
|
102 Justify type "1" = left (ASCII lower
|
||
|
case "1")
|
||
|
"r" = right (ASCII lower
|
||
|
case "r")
|
||
|
"c" = center (ASCII
|
||
|
lower case "c"
|
||
|
"e" = even (ASCII lower
|
||
|
case "e"
|
||
|
|
||
|
103-104 Right Margin 0 = FOh characters
|
||
|
= right margin
|
||
|
FF = no user-defined
|
||
|
right margin; use
|
||
|
default value
|
||
|
|
||
|
105-106 Left Margin 0-FOh characters = left
|
||
|
margin
|
||
|
|
||
|
107-108 Tab interval
|
||
|
109 CR display; 0 = soft
|
||
|
non-zero = hard
|
||
|
110 Auto-justify on copy/ 0 = no
|
||
|
move; non-zero = yes
|
||
|
111-126 Associated application
|
||
|
name
|
||
|
127-143 Reserved Application Area
|
||
|
|
||
|
|
||
|
|
||
|
STRING
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
STRING 51(33h) variable
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Value of string formula
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 format (see Appendix A, Cell Format Encoding)
|
||
|
1-2 column
|
||
|
3-4 row
|
||
|
5+ NULL terminated ASCII string
|
||
|
|
||
|
|
||
|
|
||
|
PASSWORD
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
PASSWORD 55(37h) 4 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
File lockout (CHKSUM)
|
||
|
|
||
|
This is proprietary information.
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-- not available --
|
||
|
|
||
|
|
||
|
|
||
|
LOCKED
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
LOCKED 56(38h) 1 byte
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Lock Flag
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 0 = OFF
|
||
|
1 = ON
|
||
|
|
||
|
QUERY
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
QUERY 60(Ch) 127 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Query settings
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-- see Table 5 Query Record Structure --
|
||
|
|
||
|
|
||
|
QUERY
|
||
|
|
||
|
Table 5 Query Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 Name; NULL termination ASCII string
|
||
|
|
||
|
16-17 Input range; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
|
||
|
24-25 Output Range; starting column
|
||
|
26-27 starting row
|
||
|
28-29 ending column
|
||
|
30-31 ending row
|
||
|
|
||
|
32-33 Criteria Range; starting column
|
||
|
34-35 starting row
|
||
|
36-37 ending column
|
||
|
38-39 ending row
|
||
|
|
||
|
40-41 Form Entry; starting column
|
||
|
42-43 starting row
|
||
|
44-45 ending column
|
||
|
46-47 ending row
|
||
|
|
||
|
48-49 Form Def. Range; starting column
|
||
|
50-51 starting row
|
||
|
52-53 ending column
|
||
|
54-55 ending row
|
||
|
|
||
|
56-57 Report Output; starting column
|
||
|
58-59 starting row
|
||
|
60-61 ending column
|
||
|
62-63 ending row
|
||
|
|
||
|
64-65 Report Header; starting column
|
||
|
66-67 starting row
|
||
|
68-69 ending column
|
||
|
70-71 ending row
|
||
|
|
||
|
72-73 Report Footer; starting column
|
||
|
74-75 starting row
|
||
|
76-77 ending column
|
||
|
78-79 ending row
|
||
|
|
||
|
80-81 Table Range; starting column
|
||
|
82-83 starting row
|
||
|
84-85 ending column
|
||
|
86-87 ending row
|
||
|
|
||
|
88-89 Input Cell; starting column
|
||
|
90-91 starting row
|
||
|
92-93 ending column
|
||
|
94-95 ending row
|
||
|
|
||
|
QUERY
|
||
|
|
||
|
|
||
|
Table 5 (continued) Query Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
96-97 1st Key range; starting column
|
||
|
98-99 starting row
|
||
|
100-101 ending column
|
||
|
102-103 ending row
|
||
|
|
||
|
104-105 2nd Key range; starting column
|
||
|
106-107 starting row
|
||
|
108-109 ending column
|
||
|
110-111 ending row
|
||
|
|
||
|
112-113 3rd Key range; starting column
|
||
|
114-115 starting row
|
||
|
116-117 ending column
|
||
|
118-119 ending row
|
||
|
|
||
|
120 Last command; 0 = no command
|
||
|
1 = find
|
||
|
2 = extract
|
||
|
3 = delete
|
||
|
4 = unique
|
||
|
|
||
|
121 1st Key order; 0 = descending order
|
||
|
FF = ascending order
|
||
|
|
||
|
122 2nd Key order; 0 = descending order
|
||
|
FF = ascending order
|
||
|
|
||
|
123 3rd Key order 0 = descending order
|
||
|
FF = ascending order
|
||
|
|
||
|
124 Report number of records; 0 = multiple
|
||
|
FF = single
|
||
|
|
||
|
125 Number of records; 0 = multiple
|
||
|
FF = single
|
||
|
|
||
|
126 Marks; 0 = yes
|
||
|
FF = no
|
||
|
|
||
|
|
||
|
|
||
|
QUERYNAME
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
QUERYNAME 61(3Dh) 16 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Current Query Name
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 NULL terminated ASCII string
|
||
|
|
||
|
PRINT
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
PRINT 62(3Eh) 679 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Print record
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-- see Table 6 Print Record Structure --
|
||
|
|
||
|
|
||
|
|
||
|
PRINT
|
||
|
|
||
|
|
||
|
Table 6 Print Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 Print setting name; NULL terminated ASCII string
|
||
|
|
||
|
16-17 Source range; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
|
||
|
24-25 Row border; starting column
|
||
|
26-27 starting row
|
||
|
28-29 ending column
|
||
|
30-31 ending row
|
||
|
|
||
|
32-33 Column border; starting column
|
||
|
34-35 starting row
|
||
|
36-37 ending column
|
||
|
38-39 ending row
|
||
|
|
||
|
40-41 Destination; starting column
|
||
|
42-43 starting row
|
||
|
44-45 ending column
|
||
|
46-47 ending row
|
||
|
|
||
|
48 Print format; 0 = as displayed
|
||
|
non-zero = formulas
|
||
|
|
||
|
49 Page breaks 0 = yes
|
||
|
non-zero = no
|
||
|
50 Line spacing
|
||
|
51-52 Left Margin
|
||
|
53-54 Right Margin
|
||
|
55-56 Page length
|
||
|
57-58 Top
|
||
|
59-60 Bottom of page
|
||
|
|
||
|
61-101 Setup string; NULL terminated ASCII string
|
||
|
102-342 Header; NULL terminated ASCII string
|
||
|
343-584 Footer; NULL terminated ASCII string
|
||
|
585-600 Source database name; NULL terminated ASCII string
|
||
|
|
||
|
601 Attribute; 0 = no
|
||
|
non-zero = yes
|
||
|
|
||
|
602 Space compression; 0 = no
|
||
|
non-zero = yes
|
||
|
|
||
|
603 Print destination 0 = printer
|
||
|
1 = file
|
||
|
2 = range
|
||
|
|
||
|
604-605 Starting page
|
||
|
606-607 Ending page
|
||
|
608-677 Destination filename; NULL terminated ASCII string
|
||
|
|
||
|
678 Wait; 0 = no
|
||
|
non-zero = yes
|
||
|
|
||
|
|
||
|
|
||
|
PRINTNAME
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
PRINTNAME 63(3Fh) 16 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Current Print Record Name
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 NULL terminated ASCII string
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH2
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
GRAPH2 64(40h) 499 bytes
|
||
|
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Graph record
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
-- see Table 7 Symphony Graph Record Structure --
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH2
|
||
|
|
||
|
|
||
|
Table 7 Symphony Graph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
0-15 Name; NULL terminated ASCII string
|
||
|
16-17 XRange; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
|
||
|
24-25 A Range; starting column
|
||
|
26-27 starting row
|
||
|
28-29 ending column
|
||
|
30-31 ending row
|
||
|
|
||
|
32-33 B Range; starting column
|
||
|
34-35 starting row
|
||
|
36-37 ending column
|
||
|
38-39 ending row
|
||
|
|
||
|
40-41 C Range; starting column
|
||
|
42-43 starting row
|
||
|
44-45 ending column
|
||
|
46-47 ending row
|
||
|
|
||
|
48-49 D Range; starting column
|
||
|
50-51 starting row
|
||
|
52-53 ending column
|
||
|
54-55 ending row
|
||
|
|
||
|
56-57 E Range; starting column
|
||
|
58-59 starting row
|
||
|
60-61 ending column
|
||
|
62-63 ending row
|
||
|
|
||
|
64-65 F Range; starting column
|
||
|
66-67 starting row
|
||
|
68-69 ending column
|
||
|
70-71 ending row
|
||
|
|
||
|
72-73 A Labels; starting column
|
||
|
74-75 starting row
|
||
|
76-77 ending column
|
||
|
78-79 ending row
|
||
|
|
||
|
80-81 B Labels; starting column
|
||
|
82-83 starting row
|
||
|
84-85 ending column
|
||
|
86-87 ending row
|
||
|
|
||
|
88-89 C Labels; starting column
|
||
|
90-91 starting row
|
||
|
92-93 ending column
|
||
|
94-95 ending row
|
||
|
|
||
|
|
||
|
GRAPH2
|
||
|
|
||
|
|
||
|
Table 7 (continued) Symphony Graph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
96-97 D Labels; starting column
|
||
|
98-99 starting row
|
||
|
100-101 ending column
|
||
|
102-103 ending row
|
||
|
|
||
|
104-105 E Labels; starting column
|
||
|
106-107 starting row
|
||
|
108-109 ending column
|
||
|
110-111 ending row
|
||
|
|
||
|
112-113 F Labels; starting column
|
||
|
114-115 starting row
|
||
|
116-117 ending column
|
||
|
118-119 ending row
|
||
|
|
||
|
120 Graph type; 0 = XY, 1 = bar, 2 = pie,
|
||
|
4 = line, 5 = stacked
|
||
|
bar
|
||
|
|
||
|
121 Grid; 0 = none, 1 = horizontal,
|
||
|
2 = vertical, 3 = both
|
||
|
|
||
|
122 Color; 0 = black-white,
|
||
|
FF = color
|
||
|
|
||
|
123 A Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol,
|
||
|
3 = line-symbol
|
||
|
|
||
|
124 B Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol,
|
||
|
3 = line-symbol
|
||
|
|
||
|
125 C Range line format; 0 = none, 1 = line,
|
||
|
2 = symbol,
|
||
|
3 = line-symbol
|
||
|
|
||
|
126 D Range line format; 0 = none, 1 = line
|
||
|
2 = symbol,
|
||
|
3 = line-symbol
|
||
|
|
||
|
127 E Range line format; 0 = none, 1 = line
|
||
|
2 = symbol,
|
||
|
3 = line-symbol
|
||
|
|
||
|
128 F Range line format; 0 = none, 1 = line
|
||
|
2 = symbol
|
||
|
3 = line-symbol
|
||
|
|
||
|
129 A Range data label alignment; 0 = center, 1 = right,
|
||
|
2 = below, 3 = left,
|
||
|
4 = above
|
||
|
|
||
|
130 B Range data label alignment; 0 = center, 1 = right
|
||
|
2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
131 C Range data label alignment; 0 = center, 1 = right
|
||
|
2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
132 D Range data label alignment; 0 = center, 1 = right
|
||
|
2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
133 E Range data label alignment; 0 = center, 1 = right
|
||
|
2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
134 F Range data label alignment; 0 = center, 1 = right
|
||
|
2 = below, 3 = left
|
||
|
4 = above
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
GRAPH2
|
||
|
|
||
|
|
||
|
Table 7 (continued) Symphony Graph Record Structure
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
135 X Scale 0 = auto
|
||
|
|
||
|
136-143 X lower limit in floating point format FF = manual
|
||
|
|
||
|
144-151 X upper limit in floating point format
|
||
|
|
||
|
152 Y scale; 0 = automatic
|
||
|
FF = manual
|
||
|
|
||
|
153-160 Y lower limit in floating point format
|
||
|
161-168 Y upper limit in floating point format
|
||
|
169-208 First title
|
||
|
209-248 Second title
|
||
|
249-288 X title
|
||
|
289-328 Y title
|
||
|
329-348 A legend
|
||
|
349-368 B legend
|
||
|
369-388 C legend
|
||
|
389-408 D legend
|
||
|
409-428 E legend
|
||
|
429-448 F legend
|
||
|
449 X format
|
||
|
450 Y format
|
||
|
451-452 Skip factor
|
||
|
453 X scale flag; (x1K) 0 = ON
|
||
|
FF = OFF
|
||
|
|
||
|
454 Y scale flag;(x1K) 0 = ON
|
||
|
FF = OFF
|
||
|
|
||
|
455 suppress; 0 = no
|
||
|
else = yes
|
||
|
|
||
|
456-463 Bar origin (float)
|
||
|
464-471 X linear scale (float)
|
||
|
472-479 Y linear scale (float)
|
||
|
480 X log scale
|
||
|
481 Y log scale
|
||
|
|
||
|
482 graph region color; X hue code
|
||
|
483 A hue code
|
||
|
484 B hue code
|
||
|
485 C hue code
|
||
|
487 D hue code
|
||
|
488 F hue code
|
||
|
489-490 Y width
|
||
|
491-498 Aspect (float)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
GRAPHNAME
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
GRAPHNAME 65 (41h) 16 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Current Graph Record Name
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 NULL terminated ASCII string
|
||
|
|
||
|
|
||
|
ZOOM
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
ZOOM 66 (42h) 9 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Original coordinates expanded window
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0 iszoom? 0 = no
|
||
|
1 = yes
|
||
|
1-2 X coordinates
|
||
|
3-4 Y coordinates
|
||
|
5-6 column depth
|
||
|
7-8 row depth
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
SYMSPLIT
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
SYMSPLIT 67 (43h) 2 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Number of split windows
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 number of split windows
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
NSROWS
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
NSROWS Code Body length
|
||
|
|
||
|
NSROWS 68 (44h) 2 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Number of screen rows
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 number of screen rows
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
NSCOLS
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
NSCOLS 69 (45h) 2 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Number of screen columns
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 Number of screen columns
|
||
|
|
||
|
|
||
|
|
||
|
RULER
|
||
|
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
RULER 70 (46h) 25 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Name ruler range
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 Name; NULL terminated ASCII string
|
||
|
16-17 Range; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
24 Range type; 0 = single cell
|
||
|
1 = range
|
||
|
|
||
|
|
||
|
|
||
|
NNAME
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
NNAME 71 (47h) 25 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Named sheet range
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-15 Name; NULL terminated ASCII string
|
||
|
16-17 Range; starting column
|
||
|
18-19 starting row
|
||
|
20-21 ending column
|
||
|
22-23 ending row
|
||
|
24 Range type; 0 = single cell
|
||
|
1 = range
|
||
|
|
||
|
|
||
|
|
||
|
ACCOM
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
ACOMM 72 (48h) 65 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Autoload communications file
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-64 Path name to Autoload file;
|
||
|
NULL terminated ASCII string
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
AMACRO
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
AMACRO 73 (49h) 8 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Autoexecute macro address
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
|
||
|
|
||
|
|
||
|
PARSE
|
||
|
|
||
|
|
||
|
Record Type Code Body length
|
||
|
|
||
|
PARSE 74 (4Ah) 16 bytes
|
||
|
|
||
|
Record Description
|
||
|
|
||
|
Query parse information
|
||
|
|
||
|
Used in Symphony only.
|
||
|
|
||
|
Byte Number Byte Description
|
||
|
|
||
|
0-1 Parse range; starting column
|
||
|
2-3 starting row
|
||
|
4-5 ending column
|
||
|
6-7 ending row
|
||
|
8-9 Review range; starting column
|
||
|
10-11 starting row
|
||
|
12-13 ending column
|
||
|
14-15 ending row
|