⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 biffrecsii2.pas

📁 一个经典的读写Excel的控件
💻 PAS
📖 第 1 页 / 共 3 页
字号:
     Value: double;
     end;

type PRec2LABEL = ^TRec2LABEL;
     TRec2LABEL = packed record
     Row: word;
     Col: byte;
     Res: byte;
     Attribute: array[0..2] of byte;
     Len: byte;
     Data: array[0..255] of byte;
     end;

type PRec2FORMULA = ^TRec2FORMULA;
     TRec2FORMULA = packed record
     Row: word;
     Col: byte;
     Res: byte;
     Attribute: array[0..2] of byte;
     Value: double;
     Options: byte;
     ParseLen: byte;
     Data: array[0..255] of byte;
     end;

type PRec2STRING = ^TRec2STRING;
     TRec2STRING = packed record
     Len: byte;
     Data: array[0..255] of byte;
     end;

type PRecBLANK = ^TRecBLANK;
     TRecBLANK = packed record
     Row: word;
     Col: word;
     FormatIndex: word;
     end;

type PRecBOF8 = ^TRecBOF8;
     TRecBOF8 = packed record
     VersionNumber: word;
     SubstreamType: word;
     BuildIdentifier: word;
     BuildYear: word;
     FileHistoryFlags: longint;
     LowBIFF: longint;
     end;

type PRecBOF7 = ^TRecBOF7;
     TRecBOF7 = packed record
     VersionNumber: word;
     SubstreamType: word;
     BuildIdentifier: word;
     BuildYear: word;
     end;

type PRecBOF4 = ^TRecBOF4;
     TRecBOF4 = packed record
     A: word;  // Don't know what this is.
     B: word;  //
     C: word;  //
     end;

type PRecBOOLERR = ^TRecBOOLERR;
     TRecBOOLERR = packed record
     Row: word;
     Col: word;
     FormatIndex: word;
     BoolErr: byte;
     Error: byte;
     end;

type PRecBOUNDSHEET7 = ^TRecBOUNDSHEET7;
     TRecBOUNDSHEET7 = packed record
     BOFPos: longint;
     Options: word;
     NameLen: byte;
     Name: array[0..255] of byte;
     end;

type PRecBOUNDSHEET8 = ^TRecBOUNDSHEET8;
     TRecBOUNDSHEET8 = packed record
     BOFPos: longint;
     Options: word;
     NameLen: byte;
     Name: array[0..65535] of byte;
     end;

type PRecCODEPAGE = ^TRecCODEPAGE;
     TRecCODEPAGE = packed record
     Codepage: word;
     end;

type PRecCOLINFO = ^TRecCOLINFO;
     TRecCOLINFO = packed record
     Col1,Col2: word;
     Width: word;
     FormatIndex: word;
     Options: word;
     Reserved: word;
     end;

type PRecCOUNTRY = ^TRecCOUNTRY;
     TRecCOUNTRY = packed record
     DefaultCountryIndex: word;
     WinIniCountry: word;
     end;

type POPERNum = ^TOPERNum;
     TOPERNum = packed record
     OperType: byte;
     Value: double;
     end;

type POPERStr = ^TOPERStr;
     TOPERStr = packed record
     OperType: byte;
     StrLen: byte;
     Value: array[0..1023] of char;
     end;

type POPERBool = ^TOPERBool;
     TOPERBool = packed record
     OperType: byte;
     Value: word;
     Unused: array[0..5] of byte;
     end;

type POPERErr = ^TOPERErr;
     TOPERErr = packed record
     OperType: byte;
     Value: word;
     Unused: array[0..5] of byte;
     end;

type PRecCRN = ^TRecCRN;
     TRecCRN = packed record
     LastCol, FirstCol: byte;
     Row: word;
     OPER: array[0..1023] of TOperNum;
     end;

type PCFFont = ^TCFFont;
     TCFFont = packed record
     Reserved1: array[0..63] of byte;
     Height: longword;
     Options: longword;
     Weight: word;
     Escapement: word;
     Underline: byte;
     Reserved2: array[0..2] of byte;
     ColorIndex: longword;
     Reserved3: array[0..3] of byte;
     ModifiedFlags: longword;
     EscapementModified: longword;
     UnderlineModified: longword;
     Reserved4: array[0..15] of byte;
     Is0001: word;
     end;

type PCFBorder = ^TCFBorder;
     TCFBorder = packed record
     Linestyle: word;
     ColorIndex: longword;
     Reserved: word;
     end;

type PCFPattern = ^TCFPattern;
     TCFPattern = packed record
     PatternStyle: word;
     ColorIndex: word;
     end;

type PRecCF = ^TRecCF;
     TRecCF = packed record
     CFType: byte;
     Operator: byte;
     Formula1Size: word;
     Formula2Size: word;
     Flags: longword;
     Reserved: word;
     VarData: record end;
     end;

type PRecCONDFMT = ^TRecCONDFMT;
     TRecCONDFMT = packed record
     CFCount: word;
     Flags: word;
     AreaExt: TRecCellArea;
     AreaCount: word;
     Areas: array[0..0] of TRecCellArea;
     end;

type PRecDEFAULTROWHEIGHT = ^TRecDEFAULTROWHEIGHT;
     TRecDEFAULTROWHEIGHT = packed record
     Options: word;
     Height: word;
     end;

type PRecDBCELL = ^TRecDBCELL;
     TRecDBCELL = packed record
     RowOffset: longint;
     Offsets: array[0..32768] of smallint;
     end;

type PRecDIMENSIONS2 = ^TRecDIMENSIONS2;
     TRecDIMENSIONS2 = packed record
     FirstRow,LastRow: word;
     FirstCol,LastCol: word;
     end;

type PRecDIMENSIONS7 = ^TRecDIMENSIONS7;
     TRecDIMENSIONS7 = packed record
     FirstRow,LastRow: word;
     FirstCol,LastCol: word;
     Reserved: word;
     end;

type PRecDIMENSIONS8 = ^TRecDIMENSIONS8;
     TRecDIMENSIONS8 = packed record
     FirstRow,LastRow: longint;
     FirstCol,LastCol: word;
     Reserved: word;
     end;

type PRecDVAL = ^TRecDVAL;
     TRecDVAL = packed record
     Options: word;
     X,Y: longword;
     DropDownId: longword;
     DVCount: longword;
     end;

type TRecISSTINF = packed record
     Pos: longint;
     Offset: word;
     Reserved: word;
     end;

type PRecEXTSST = ^TRecEXTSST;
     TRecEXTSST = packed record
     BucketSize: word;
     ISSTINF: record end;
     end;

type PRecEXTERNNAME8 = ^TRecEXTERNNAME8;
     TRecEXTERNNAME8  = packed record
     Options: word;
     Reserved: longint;
     LenName: byte;
     Data: array[0..65535] of byte;
     end;

type PRecEXTERNNAME5 = ^TRecEXTERNNAME5;
     TRecEXTERNNAME5  = packed record
     Options: word;
     Reserved: longint;
     NameLen: byte;
     Name: array[0..255] of byte;
     end;

type PRecEXTERNNAME3 = ^TRecEXTERNNAME3;
     TRecEXTERNNAME3  = packed record
     Options: word;
     NameLen: byte;
     Name: array[0..255] of byte;
     end;

type PRecEXTERNSHEET7 = ^TRecEXTERNSHEET7;
     TRecEXTERNSHEET7  = packed record
     Len: byte;
     Data: array[0..255] of byte;
     end;

type TXTI = packed record
     SupBook: word;
     FirstTab: word;
     LastTab: word;
     end;

type PRecEXTERNSHEET8 = ^TRecEXTERNSHEET8;
     TRecEXTERNSHEET8  = packed record
     XTICount: word;
     XTI: array[0..255] of TXTI;
     end;

type PRecFILEPASS = ^TRecFILEPASS;
     TRecFILEPASS = packed record
     Options: word;                      // Zero when SillyPassword is set,
                                         // otherwiese one. When SillyPassword
                                         // is used, the entire record is 6 bytes.
     SillyPassword: array[0..3] of byte; // XOR:ed password for french excel.
     DocId: array[0..15] of byte;
     Salt: array[0..15] of byte;
     HashedSalt: array[0..15] of byte;
     end;

type PRecFONT4 = ^TRecFONT4;
     TRecFONT4 = packed record
     Height: word;
     Attributes: word;
     Unknown: word;
     NameLen: byte;
     Name: array[0..255] of byte;
     end;

type PRecFONT = ^TRecFONT;
     TRecFONT = packed record
     Height: word;
     Attributes: word;
     ColorIndex: word;
     Bold: word;
     SubSuperScript: word;
     Underline: byte;
     Family: byte;
     CharSet: byte;
     Reserved: byte;
     NameLen: byte;
     Name: array[0..255] of byte; 
     end;

type PRecFORMAT7 = ^TRecFORMAT7;
     TRecFORMAT7 = packed record
     Index: word;
     Len: byte;
     Data: array[0..255] of byte;
     end;

type PRecFORMAT8 = ^TRecFORMAT8;
     TRecFORMAT8 = packed record
     Index: word;
     Len: word;
     Data: array[0..255] of byte;
     end;

type PRecFORMAT2 = ^TRecFORMAT2;
     TRecFORMAT2 = packed record
     Len: byte;
     Data: array[0..255] of byte;
     end;

type PRecFORMULA = ^TRecFORMULA;
     TRecFORMULA = packed record
     Row,Col: word;
     FormatIndex: word;
     Value: double;
     Options: word;
     Reserved: longint;
     ParseLen: word;
     Data: array[0..High(word)] of byte;
     end;

type TRecFORMULA_ = packed record
     Row,Col: word;
     FormatIndex: word;
     Value: double;
     Options: word;
     Reserved: longint;
     ParseLen: word;
     end;

type PRecFORMULA3 = ^TRecFORMULA3;
     TRecFORMULA3 = packed record
     Row,Col: word;
     FormatIndex: word;
     Value: double;
     Options: word;
     ParseLen: word;
     Data: array[0..High(word)] of byte;
     end;

type PRecGUTS = ^TRecGUTS;
     TRecGUTS = packed record
     SizeRow: word;
     SizeCol: word;
     LevelRow: word;
     LevelCol: word;
     end;

type PRecHLINK = ^TRecHLINK;
     TRecHLINK = packed record
     Row1,Row2: word;
     Col1,Col2: word;
     GUID: array[0..15] of byte;
     Reserved: longword;
     Options: longword;
     end;

type PRecHLINKTOOLTIP = ^TRecHLINKTOOLTIP;
     TRecHLINKTOOLTIP = packed record
     RecId: word;
     Row1,Row2: word;
     Col1,Col2: word;
     Text: record end;
     end;

type PRecHORIZONTALPAGEBREAKS = ^TRecHORIZONTALPAGEBREAKS;
     TRecHORIZONTALPAGEBREAKS = packed record
     Count: word;
     Breaks: array[0..1024] of TPageBreak;
     end;

type PRecINDEX7 = ^TRecINDEX7;
     TRecINDEX7 = packed record
     Reserved1: longint;
     Row1: word;
     Row2: word;
     Reserved2: longint;
     Offsets: array[0..(High(integer) div 4) - 4] of integer;
     end;

type PRecINDEX8 = ^TRecINDEX8;
     TRecINDEX8 = packed record
     Reserved1: longint;
     Row1: longint;
     Row2: longint;
     Reserved2: longint;
     Offsets: array[0..(High(integer) div 4) - 40] of integer;
     end;

type PRecLABELSST = ^TRecLABELSST;
     TRecLABELSST = packed record
     Row,Col: word;
     FormatIndex: word;
     SSTIndex: longint;
     end;

type PRecLABEL = ^TRecLABEL;
     TRecLABEL = packed record
     Row,Col: word;
     FormatIndex: word;
     Len: word;   // String lengths may not exceed 255 bytes.
     Data: array[0..255] of byte;
     end;

// Left, Right, Top, Bottom margins
type PRecMARGIN = ^TRecMARGIN;
     TRecMARGIN = packed record
     Value: double;
     end;

type TCellRect = packed record
     Row1,Row2: word;
     Col1,Col2: word;
     end;

type PRecMERGEDCELLS = ^TRecMERGEDCELLS;
     TRecMERGEDCELLS = packed record
     Count: word;
     Cells: array[0..8191] of TCellRect;
     end;

type PRecMULBLANK = ^TRecMULBLANK;
     TRecMULBLANK = packed record
     Row: word;
     Col1: word;
     FormatIndexes: array[0..65535] of word;
     end;

type TMULRK = packed record
     FormatIndex: word;
     Value: longint;
     end;

type PRecMULRK = ^TRecMULRK;
     TRecMULRK = packed record
     Row: word;
     Col1: word;
     RKs: array[0..65535] of TMulRK;
     end;

type PRecNUMBER = ^TRecNUMBER;
     TRecNUMBER = packed record
     Row,Col: word;
     FormatIndex: word;
     Value: double;
     end;

type PRecNAME = ^TRecNAME;
     TRecNAME = packed record
     Options: word;
     KeyShortcut: byte;
     LenName: byte;
     LenNameDef: word;
     SheetIndex: word;
     TabIndex: word;
     LenCustMenu: byte;
     LenDescText: byte;
     LenHelpText: byte;
     LenStatusText: byte;
     Data: array[0..255] of byte;
     end;

type PRecNAME3 = ^TRecNAME3;
     TRecNAME3 = packed record
     Options: word;
     Res1: byte;
     LenName: byte;
     Res2: word;
     Data: array[0..255] of byte;
     end;

const TRecNOTE_FIXEDLEN = 8;
type PRecNOTE = ^TRecNOTE;
     TRecNOTE = packed record
     Row: word;
     Col: word;
     Options: word;
     ObjId: word;
     AuthorNameLen: word;
     AuthorName: array[0..32767] of byte;
     end;

// Only first subrecord OBJ record.
type PRecOBJ = ^TRecOBJ;
     TRecOBJ = packed record
     RecId: word;
     Length: word;
     ObjType: word;
     ObjId: word;
     Options: word;
     Reserved: array[0..11] of byte;
     end;

type PRecPALETTE = ^TRecPALETTE;
     TRecPALETTE = packed record
     Count: word;
     Color: array[0..65535] of longint;
     end;

type PRecPANE = ^TRecPANE;
     TRecPANE = packed record
     X,Y: word;
     TopRow: word;
     LeftCol: word;
     PaneNumber: word;
     end;

type PRecRECALCID = ^TRecRECALCID;
     TRecRECALCID = packed record
     RecordIdRepeated: word;
     Reserved: word;
     RecalcEngineId: longword;
     end;

type PRecROW = ^TRecROW;
     TRecROW = packed record
     Row: word;
     Col1,Col2: word;
     Height: word;
     Reserved1,Reserved2: word;
     Options: word;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -