// CodeGear C++Builder
// Copyright (c) 1995, 2020 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'QImport3XLSCommon.pas' rev: 34.00 (Windows)

#ifndef Qimport3xlscommonHPP
#define Qimport3xlscommonHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <System.SysUtils.hpp>

//-- user supplied -----------------------------------------------------------

namespace Qimport3xlscommon
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS ExlsFileError;
struct TBIFF_Header;
struct TBIFF_XF;
struct TBIFF_PTGRef;
struct TBIFF_PTGRef3D;
struct TBIFF_PTGArea;
struct TBIFF_PTGArea3D;
struct TBIFF_PTGName;
struct TBIFF_PTGNameX;
struct TXLS_FUNCTION;
//-- type declarations -------------------------------------------------------
#pragma pack(push,4)
class PASCALIMPLEMENTATION ExlsFileError : public System::Sysutils::Exception
{
	typedef System::Sysutils::Exception inherited;
	
public:
	/* Exception.Create */ inline __fastcall ExlsFileError(const System::UnicodeString Msg) : System::Sysutils::Exception(Msg) { }
	/* Exception.CreateFmt */ inline __fastcall ExlsFileError(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High) : System::Sysutils::Exception(Msg, Args, Args_High) { }
	/* Exception.CreateRes */ inline __fastcall ExlsFileError(NativeUInt Ident)/* overload */ : System::Sysutils::Exception(Ident) { }
	/* Exception.CreateRes */ inline __fastcall ExlsFileError(System::PResStringRec ResStringRec)/* overload */ : System::Sysutils::Exception(ResStringRec) { }
	/* Exception.CreateResFmt */ inline __fastcall ExlsFileError(NativeUInt Ident, const System::TVarRec *Args, const int Args_High)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High) { }
	/* Exception.CreateResFmt */ inline __fastcall ExlsFileError(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High) { }
	/* Exception.CreateHelp */ inline __fastcall ExlsFileError(const System::UnicodeString Msg, int AHelpContext) : System::Sysutils::Exception(Msg, AHelpContext) { }
	/* Exception.CreateFmtHelp */ inline __fastcall ExlsFileError(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High, int AHelpContext) : System::Sysutils::Exception(Msg, Args, Args_High, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall ExlsFileError(NativeUInt Ident, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall ExlsFileError(System::PResStringRec ResStringRec, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall ExlsFileError(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall ExlsFileError(NativeUInt Ident, const System::TVarRec *Args, const int Args_High, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High, AHelpContext) { }
	/* Exception.Destroy */ inline __fastcall virtual ~ExlsFileError() { }
	
};

#pragma pack(pop)

typedef System::StaticArray<System::WideString, 7> TBOOL_ERR_STRINGS;

typedef System::StaticArray<System::WideString, 50> Qimport3xlscommon__2;

typedef TBIFF_Header *PBIFF_Header;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_Header
{
public:
	System::Word ID;
	System::Word Length;
};
#pragma pack(pop)


typedef TBIFF_XF *PBIFF_XF;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_XF
{
public:
	System::Word FontIndex;
	System::Word FormatIndex;
	System::Word Data1;
	System::Word Data2;
	System::Word Data3;
	System::Word Data4;
	System::Word Data5;
	int Data6;
	System::Word Data7;
};
#pragma pack(pop)


typedef TBIFF_PTGRef *PBIFF_PTGRef;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_PTGRef
{
public:
	System::Word Row;
	System::Word Col;
};
#pragma pack(pop)


typedef TBIFF_PTGRef3D *PBIFF_PTGRef3D;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_PTGRef3D
{
public:
	System::Word Index;
	System::Word Row;
	System::Word Col;
};
#pragma pack(pop)


typedef TBIFF_PTGArea *PBIFF_PTGArea;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_PTGArea
{
public:
	System::Word Row1;
	System::Word Row2;
	System::Word Col1;
	System::Word Col2;
};
#pragma pack(pop)


typedef TBIFF_PTGArea3D *PBIFF_PTGArea3D;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_PTGArea3D
{
public:
	System::Word Index;
	System::Word Row1;
	System::Word Row2;
	System::Word Col1;
	System::Word Col2;
};
#pragma pack(pop)


typedef TBIFF_PTGName *PBIFF_PTGName;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_PTGName
{
public:
	System::Word NameIndex;
	System::Word Reserved;
};
#pragma pack(pop)


typedef TBIFF_PTGNameX *PBIFF_PTGNameX;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TBIFF_PTGNameX
{
public:
	System::Word ExternSheetIndex;
	System::Word ExternNameIndex;
	System::Word Reserved;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD TXLS_FUNCTION
{
public:
	System::Byte Min;
	System::Byte Max;
	System::AnsiString Name;
};
#pragma pack(pop)


enum DECLSPEC_DENUM TXLS_FUNCTION_ID : unsigned char { fidCount, fidIf, fidIsNa, fidIsError, fidSum, fidAverage, fidMin, fidMax, fidRow, fidColumn, fidNA, fidNPV, fidSTDEV, fidDollar, fidFixed, fidSin, fidCos, fidTan, fidATan, fidPI, fidSqrt, fidExp, fidLN, fidLog10, fidAbs, fidInt };

typedef System::StaticArray<TXLS_FUNCTION, 368> TXLS_FUNCTIONS;

//-- var, const, procedure ---------------------------------------------------
static const System::Byte MAX_COL_COUNT = System::Byte(0xff);
static const System::Word MAX_ROW_COUNT = System::Word(0xffff);
static const System::Byte MAX_SHEET_COUNT = System::Byte(0xfa);
static const System::Int8 XLSEDITOR_MAX_ROW_COUNT = System::Int8(0x19);
static const System::Word MAX_RECORD_DATA_SIZE = System::Word(0x2020);
static const System::Word BIFF_BOF_VER = System::Word(0x600);
static const System::Int8 BIFF_BOF_GLOBALS = System::Int8(0x5);
static const System::Int8 BIFF_BOF_WORKSHEET = System::Int8(0x10);
static const System::Int8 BIFF_BOF_CHART = System::Int8(0x20);
static const System::Word BIFF_ROW = System::Word(0x208);
static const System::Int8 BIFF_FORMULA = System::Int8(0x6);
static const System::Int8 BIFF_EOF = System::Int8(0xa);
static const System::Int8 BIFF_NAME = System::Int8(0x18);
static const System::Int8 BIFF_1904 = System::Int8(0x22);
static const System::Int8 BIFF_CONTINUE = System::Int8(0x3c);
static const System::Byte BIFF_BOUNDSHEET = System::Byte(0x85);
static const System::Byte BIFF_MULRK = System::Byte(0xbd);
static const System::Byte BIFF_MULBLANK = System::Byte(0xbe);
static const System::Byte BIFF_XF = System::Byte(0xe0);
static const System::Byte BIFF_SST = System::Byte(0xfc);
static const System::Byte BIFF_LABELSST = System::Byte(0xfd);
static const System::Word BIFF_LABEL = System::Word(0x204);
static const System::Word BIFF_BLANK = System::Word(0x201);
static const System::Word BIFF_NUMBER = System::Word(0x203);
static const System::Word BIFF_BOOLERR = System::Word(0x205);
static const System::Word BIFF_STRING = System::Word(0x207);
static const System::Word BIFF_RK = System::Word(0x27e);
static const System::Word BIFF_FORMAT = System::Word(0x41e);
static const System::Word BIFF_SHRFMLA = System::Word(0x4bc);
static const System::Word BIFF_BOF = System::Word(0x809);
static const System::Word BIFF_BOF_3 = System::Word(0x209);
static const System::Word BIFF_CHARTFRTINFO = System::Word(0x850);
static const System::Int8 BOOL_ERR_ID_NULL = System::Int8(0x0);
static const System::Int8 BOOL_ERR_ID_DIV_ZERO = System::Int8(0x7);
static const System::Int8 BOOL_ERR_ID_VALUE = System::Int8(0xf);
static const System::Int8 BOOL_ERR_ID_REF = System::Int8(0x17);
static const System::Int8 BOOL_ERR_ID_NAME = System::Int8(0x1d);
static const System::Int8 BOOL_ERR_ID_NUM = System::Int8(0x24);
static const System::Int8 BOOL_ERR_ID_NA = System::Int8(0x2a);
#define BOOL_ERR_STR_NULL L"#NULL!"
#define BOOL_ERR_STR_DIV_ZERO L"#DIV/0!"
#define BOOL_ERR_STR_VALUE L"#VALUE!"
#define BOOL_ERR_STR_REF L"#REF!"
#define BOOL_ERR_STR_NAME L"#NAME?"
#define BOOL_ERR_STR_NUM L"#NUM!"
#define BOOL_ERR_STR_NA L"#N/A"
extern DELPHI_PACKAGE TBOOL_ERR_STRINGS BOOL_ERR_STRINGS;
static const System::Int8 ptgExp = System::Int8(0x1);
static const System::Int8 ptgTbl = System::Int8(0x2);
static const System::Int8 ptgAdd = System::Int8(0x3);
static const System::Int8 ptgSub = System::Int8(0x4);
static const System::Int8 ptgMul = System::Int8(0x5);
static const System::Int8 ptgDiv = System::Int8(0x6);
static const System::Int8 ptgPower = System::Int8(0x7);
static const System::Int8 ptgConcat = System::Int8(0x8);
static const System::Int8 ptgLT = System::Int8(0x9);
static const System::Int8 ptgLE = System::Int8(0xa);
static const System::Int8 ptgEQ = System::Int8(0xb);
static const System::Int8 ptgGE = System::Int8(0xc);
static const System::Int8 ptgGT = System::Int8(0xd);
static const System::Int8 ptgNE = System::Int8(0xe);
static const System::Int8 ptgIsect = System::Int8(0xf);
static const System::Int8 ptgUnion = System::Int8(0x10);
static const System::Int8 ptgRange = System::Int8(0x11);
static const System::Int8 ptgUplus = System::Int8(0x12);
static const System::Int8 ptgUminus = System::Int8(0x13);
static const System::Int8 ptgPercent = System::Int8(0x14);
static const System::Int8 ptgParen = System::Int8(0x15);
static const System::Int8 ptgMissArg = System::Int8(0x16);
static const System::Int8 ptgStr = System::Int8(0x17);
static const System::Int8 ptgAttr = System::Int8(0x19);
static const System::Int8 ptgSheet = System::Int8(0x1a);
static const System::Int8 ptgEndSheet = System::Int8(0x1b);
static const System::Int8 ptgErr = System::Int8(0x1c);
static const System::Int8 ptgBool = System::Int8(0x1d);
static const System::Int8 ptgInt = System::Int8(0x1e);
static const System::Int8 ptgNum = System::Int8(0x1f);
static const System::Int8 ptgArray = System::Int8(0x20);
static const System::Int8 ptgFunc = System::Int8(0x21);
static const System::Int8 ptgFuncVar = System::Int8(0x22);
static const System::Int8 ptgName = System::Int8(0x23);
static const System::Int8 ptgRef = System::Int8(0x24);
static const System::Int8 ptgArea = System::Int8(0x25);
static const System::Int8 ptgMemArea = System::Int8(0x26);
static const System::Int8 ptgMemErr = System::Int8(0x27);
static const System::Int8 ptgMemNoMem = System::Int8(0x28);
static const System::Int8 ptgMemFunc = System::Int8(0x29);
static const System::Int8 ptgRefErr = System::Int8(0x2a);
static const System::Int8 ptgAreaErr = System::Int8(0x2b);
static const System::Int8 ptgRefN = System::Int8(0x2c);
static const System::Int8 ptgAreaN = System::Int8(0x2d);
static const System::Int8 ptgMemAreaN = System::Int8(0x2e);
static const System::Int8 ptgMemNoMemN = System::Int8(0x2f);
static const System::Int8 ptgNameX = System::Int8(0x39);
static const System::Int8 ptgRef3d = System::Int8(0x3a);
static const System::Int8 ptgArea3d = System::Int8(0x3b);
static const System::Int8 ptgRefErr3d = System::Int8(0x3c);
static const System::Int8 ptgAreaErr3d = System::Int8(0x3d);
static const System::Int8 ptgArrayV = System::Int8(0x40);
static const System::Int8 ptgFuncV = System::Int8(0x41);
static const System::Int8 ptgFuncVarV = System::Int8(0x42);
static const System::Int8 ptgNameV = System::Int8(0x43);
static const System::Int8 ptgRefV = System::Int8(0x44);
static const System::Int8 ptgAreaV = System::Int8(0x45);
static const System::Int8 ptgMemAreaV = System::Int8(0x46);
static const System::Int8 ptgMemErrV = System::Int8(0x47);
static const System::Int8 ptgMemNoMemV = System::Int8(0x48);
static const System::Int8 ptgMemFuncV = System::Int8(0x49);
static const System::Int8 ptgRefErrV = System::Int8(0x4a);
static const System::Int8 ptgAreaErrV = System::Int8(0x4b);
static const System::Int8 ptgRefNV = System::Int8(0x4c);
static const System::Int8 ptgAreaNV = System::Int8(0x4d);
static const System::Int8 ptgMemAreaNV = System::Int8(0x4e);
static const System::Int8 ptgMemNoMemNV = System::Int8(0x4f);
static const System::Int8 ptgFuncCEV = System::Int8(0x58);
static const System::Int8 ptgNameXV = System::Int8(0x59);
static const System::Int8 ptgRef3dV = System::Int8(0x5a);
static const System::Int8 ptgArea3dV = System::Int8(0x5b);
static const System::Int8 ptgRefErr3dV = System::Int8(0x5c);
static const System::Int8 ptgAreaErr3dV = System::Int8(0x5d);
static const System::Int8 ptgArrayA = System::Int8(0x60);
static const System::Int8 ptgFuncA = System::Int8(0x61);
static const System::Int8 ptgFuncVarA = System::Int8(0x62);
static const System::Int8 ptgNameA = System::Int8(0x63);
static const System::Int8 ptgRefA = System::Int8(0x64);
static const System::Int8 ptgAreaA = System::Int8(0x65);
static const System::Int8 ptgMemAreaA = System::Int8(0x66);
static const System::Int8 ptgMemErrA = System::Int8(0x67);
static const System::Int8 ptgMemNoMemA = System::Int8(0x68);
static const System::Int8 ptgMemFuncA = System::Int8(0x69);
static const System::Int8 ptgRefErrA = System::Int8(0x6a);
static const System::Int8 ptgAreaErrA = System::Int8(0x6b);
static const System::Int8 ptgRefNA = System::Int8(0x6c);
static const System::Int8 ptgAreaNA = System::Int8(0x6d);
static const System::Int8 ptgMemAreaNA = System::Int8(0x6e);
static const System::Int8 ptgMemNoMemNA = System::Int8(0x6f);
static const System::Int8 ptgFuncCEA = System::Int8(0x78);
static const System::Int8 ptgNameXA = System::Int8(0x79);
static const System::Int8 ptgRef3dA = System::Int8(0x7a);
static const System::Int8 ptgArea3dA = System::Int8(0x7b);
static const System::Int8 ptgRefErr3dA = System::Int8(0x7c);
static const System::Int8 ptgAreaErr3dA = System::Int8(0x7d);
#define tkBinary (System::Set<System::Byte, 0, 255>() << 0x3 << 0x4 << 0x5 << 0x6 << 0x7 << 0x8 << 0x9 << 0xa << 0xb << 0xc << 0xd << 0xe << 0xf << 0x10 << 0x11 )
#define tkUnary (System::Set<System::Byte, 0, 255>() << 0x12 << 0x13 << 0x14 << 0x15 )
#define tkArea3D (System::Set<System::Byte, 0, 255>() << 0x3b << 0x5b << 0x7b )
#define LETTERS L"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
extern DELPHI_PACKAGE Qimport3xlscommon__2 InternalNumberFormats;
extern DELPHI_PACKAGE TXLS_FUNCTIONS XLS_FUNCTIONS;
}	/* namespace Qimport3xlscommon */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_QIMPORT3XLSCOMMON)
using namespace Qimport3xlscommon;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Qimport3xlscommonHPP
