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

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

#ifndef Qimport3xlsfileHPP
#define Qimport3xlsfileHPP

#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.Variants.hpp>
#include <System.Classes.hpp>
#include <System.SysUtils.hpp>
#include <System.Win.ComObj.hpp>
#include <Winapi.ActiveX.hpp>
#include <Winapi.Windows.hpp>
#include <System.Types.hpp>
#include <QImport3XLSConsts.hpp>
#include <QImport3XLSCommon.hpp>

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

namespace Qimport3xlsfile
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TbiffRecord;
class DELPHICLASS TbiffContinue;
class DELPHICLASS TbiffBOF;
class DELPHICLASS TbiffEOF;
class DELPHICLASS TbiffBoundSheet;
class DELPHICLASS TbiffString;
class DELPHICLASS TbiffColRow;
class DELPHICLASS Tbiff1904;
class DELPHICLASS TbiffCell;
class DELPHICLASS TbiffBlank;
class DELPHICLASS TbiffBoolErr;
class DELPHICLASS TbiffNumber;
class DELPHICLASS TbiffRK;
class DELPHICLASS TbiffLabel;
class DELPHICLASS TxlsString;
class DELPHICLASS TxlsSSTEntry;
class DELPHICLASS TbiffLabelSST;
class DELPHICLASS ETokenException;
class DELPHICLASS TbiffFormula;
class DELPHICLASS TbiffShrFmla;
class DELPHICLASS TbiffName;
class DELPHICLASS TbiffMultiple;
class DELPHICLASS TbiffMulBlank;
class DELPHICLASS TbiffMulRK;
class DELPHICLASS TbiffFont;
class DELPHICLASS TbiffXF;
class DELPHICLASS TbiffFormat;
class DELPHICLASS TbiffSST;
class DELPHICLASS TxlsList;
class DELPHICLASS TbiffRecordList;
class DELPHICLASS TbiffColRowList;
class DELPHICLASS TbiffCellList;
class DELPHICLASS TxlsRow;
class DELPHICLASS TxlsCol;
class DELPHICLASS TbiffShrFmlaList;
class DELPHICLASS TbiffNameList;
class DELPHICLASS TbiffBoundSheetList;
class DELPHICLASS TbiffXFList;
class DELPHICLASS TbiffFormatList;
class DELPHICLASS TbiffSSTList;
class DELPHICLASS TxlsRowList;
class DELPHICLASS TxlsColList;
class DELPHICLASS TxlsSection;
class DELPHICLASS TxlsGlobals;
class DELPHICLASS TxlsSheet;
class DELPHICLASS TxlsSheetList;
class DELPHICLASS TxlsWorkSheet;
class DELPHICLASS TxlsWorkSheetList;
class DELPHICLASS TxlsWorkbook;
class DELPHICLASS TxlsFile;
//-- type declarations -------------------------------------------------------
class PASCALIMPLEMENTATION TbiffRecord : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	TxlsSection* FSection;
	System::Word FID;
	System::Word FDataSize;
	System::Sysutils::TByteArray *FData;
	TbiffContinue* FContinue;
	System::Classes::TNotifyEvent FOnDestroy;
	TbiffXFList* __fastcall GetXFList();
	TbiffFormatList* __fastcall GetFormatList();
	TbiffSSTList* __fastcall GetSSTList();
	
public:
	__fastcall virtual TbiffRecord(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	__fastcall virtual ~TbiffRecord();
	void __fastcall AddContinue(TbiffContinue* const Continue);
	__property TxlsSection* Section = {read=FSection};
	__property TbiffXFList* XFList = {read=GetXFList};
	__property TbiffFormatList* FormatList = {read=GetFormatList};
	__property TbiffSSTList* SSTList = {read=GetSSTList};
	__property System::Word ID = {read=FID, nodefault};
	__property System::Word DataSize = {read=FDataSize, write=FDataSize, nodefault};
	__property System::Sysutils::PByteArray Data = {read=FData};
	__property TbiffContinue* Continue = {read=FContinue};
	__property System::Classes::TNotifyEvent OnDestroy = {read=FOnDestroy, write=FOnDestroy};
};


class PASCALIMPLEMENTATION TbiffContinue : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffContinue(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffContinue() { }
	
};


class PASCALIMPLEMENTATION TbiffBOF : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::Word __fastcall GetBOFType();
	
public:
	__property System::Word BOFType = {read=GetBOFType, nodefault};
	__fastcall virtual TbiffBOF(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffBOF() { }
	
};


class PASCALIMPLEMENTATION TbiffEOF : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffEOF(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffEOF() { }
	
};


class PASCALIMPLEMENTATION TbiffBoundSheet : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::WideString __fastcall GetName();
	System::Word __fastcall GetOptionFlags();
	
public:
	__property System::WideString Name = {read=GetName};
	__property System::Word OptionFlags = {read=GetOptionFlags, nodefault};
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffBoundSheet(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffBoundSheet() { }
	
};


class PASCALIMPLEMENTATION TbiffString : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::WideString __fastcall GetValue();
	
public:
	__property System::WideString Value = {read=GetValue};
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffString(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffString() { }
	
};


class PASCALIMPLEMENTATION TbiffColRow : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::Word __fastcall GetCol();
	void __fastcall SetCol(System::Word Value);
	System::Word __fastcall GetRow();
	void __fastcall SetRow(System::Word Value);
	
public:
	__fastcall virtual TbiffColRow(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	__property System::Word Col = {read=GetCol, write=SetCol, nodefault};
	__property System::Word Row = {read=GetRow, write=SetRow, nodefault};
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffColRow() { }
	
};


class PASCALIMPLEMENTATION Tbiff1904 : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::Word __fastcall GetValue();
	
public:
	__property System::Word Value = {read=GetValue, nodefault};
public:
	/* TbiffRecord.Create */ inline __fastcall virtual Tbiff1904(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~Tbiff1904() { }
	
};


enum DECLSPEC_DENUM TbiffCellType : unsigned char { bctString, bctBoolean, bctNumeric, bctDateTime, bctUnknown };

class PASCALIMPLEMENTATION TbiffCell : public TbiffColRow
{
	typedef TbiffColRow inherited;
	
private:
	TxlsWorkSheet* FWorkSheet;
	System::Word __fastcall GetXFIndex();
	void __fastcall SetXFIndex(System::Word Value);
	System::Word __fastcall GetFormatIndex();
	System::UnicodeString __fastcall GetCellName();
	
protected:
	virtual TbiffCellType __fastcall GetCellType();
	virtual bool __fastcall GetIsFormula();
	bool __fastcall GetIsString();
	bool __fastcall GetIsBoolean();
	bool __fastcall GetIsFloat();
	bool __fastcall GetIsDateTime();
	bool __fastcall GetIsDateOnly();
	bool __fastcall GetIsTimeOnly();
	bool __fastcall GetIsVariant();
	virtual System::WideString __fastcall GetAsString();
	virtual void __fastcall SetAsString(const System::WideString Value);
	virtual bool __fastcall GetAsBoolean();
	virtual void __fastcall SetAsBoolean(bool Value);
	virtual double __fastcall GetAsFloat();
	virtual void __fastcall SetAsFloat(double Value);
	virtual System::TDateTime __fastcall GetAsDateTime();
	virtual void __fastcall SetAsDateTime(System::TDateTime Value);
	virtual System::Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsVariant(const System::Variant &Value);
	
public:
	__fastcall virtual TbiffCell(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	__property TxlsWorkSheet* WorkSheet = {read=FWorkSheet};
	__property System::Word XFIndex = {read=GetXFIndex, write=SetXFIndex, nodefault};
	__property System::Word FormatIndex = {read=GetFormatIndex, nodefault};
	__property TbiffCellType CellType = {read=GetCellType, nodefault};
	__property bool IsFormula = {read=GetIsFormula, nodefault};
	__property bool IsString = {read=GetIsString, nodefault};
	__property bool IsBoolean = {read=GetIsBoolean, nodefault};
	__property bool IsFloat = {read=GetIsFloat, nodefault};
	__property bool IsDateTime = {read=GetIsDateTime, nodefault};
	__property bool IsDateOnly = {read=GetIsDateOnly, nodefault};
	__property bool IsTimeOnly = {read=GetIsTimeOnly, nodefault};
	__property bool IsVariant = {read=GetIsVariant, nodefault};
	__property System::WideString AsString = {read=GetAsString, write=SetAsString};
	__property bool AsBoolean = {read=GetAsBoolean, write=SetAsBoolean, nodefault};
	__property double AsFloat = {read=GetAsFloat, write=SetAsFloat};
	__property System::TDateTime AsDateTime = {read=GetAsDateTime, write=SetAsDateTime};
	__property System::Variant AsVariant = {read=GetAsVariant, write=SetAsVariant};
	__property System::Variant Value = {read=GetAsVariant, write=SetAsVariant};
	__property System::UnicodeString CellName = {read=GetCellName};
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffCell() { }
	
};


class PASCALIMPLEMENTATION TbiffBlank : public TbiffCell
{
	typedef TbiffCell inherited;
	
public:
	/* TbiffCell.Create */ inline __fastcall virtual TbiffBlank(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffCell(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffBlank() { }
	
};


class PASCALIMPLEMENTATION TbiffBoolErr : public TbiffCell
{
	typedef TbiffCell inherited;
	
protected:
	virtual TbiffCellType __fastcall GetCellType();
	virtual bool __fastcall GetAsBoolean();
	virtual void __fastcall SetAsBoolean(bool Value);
	virtual System::Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsVariant(const System::Variant &Value);
	virtual System::WideString __fastcall GetAsString();
	virtual void __fastcall SetAsString(const System::WideString Value);
public:
	/* TbiffCell.Create */ inline __fastcall virtual TbiffBoolErr(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffCell(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffBoolErr() { }
	
};


class PASCALIMPLEMENTATION TbiffNumber : public TbiffCell
{
	typedef TbiffCell inherited;
	
protected:
	virtual TbiffCellType __fastcall GetCellType();
	virtual double __fastcall GetAsFloat();
	virtual void __fastcall SetAsFloat(double Value);
	virtual System::TDateTime __fastcall GetAsDateTime();
	virtual void __fastcall SetAsDateTime(System::TDateTime Value);
	virtual System::Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsVariant(const System::Variant &Value);
	virtual System::WideString __fastcall GetAsString();
	virtual void __fastcall SetAsString(const System::WideString Value);
public:
	/* TbiffCell.Create */ inline __fastcall virtual TbiffNumber(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffCell(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffNumber() { }
	
};


class PASCALIMPLEMENTATION TbiffRK : public TbiffCell
{
	typedef TbiffCell inherited;
	
protected:
	virtual TbiffCellType __fastcall GetCellType();
	virtual double __fastcall GetAsFloat();
	virtual void __fastcall SetAsFloat(double Value);
	virtual System::TDateTime __fastcall GetAsDateTime();
	virtual void __fastcall SetAsDateTime(System::TDateTime Value);
	virtual System::Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsVariant(const System::Variant &Value);
	virtual System::WideString __fastcall GetAsString();
	virtual void __fastcall SetAsString(const System::WideString Value);
public:
	/* TbiffCell.Create */ inline __fastcall virtual TbiffRK(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffCell(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffRK() { }
	
};


class PASCALIMPLEMENTATION TbiffLabel : public TbiffCell
{
	typedef TbiffCell inherited;
	
protected:
	virtual TbiffCellType __fastcall GetCellType();
	virtual System::WideString __fastcall GetAsString();
	virtual System::Variant __fastcall GetAsVariant();
public:
	/* TbiffCell.Create */ inline __fastcall virtual TbiffLabel(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffCell(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffLabel() { }
	
};


typedef System::Int8 TxlsCharSize;

class PASCALIMPLEMENTATION TxlsString : public System::TObject
{
	typedef System::TObject inherited;
	
public:
	bool FIsWideStr;
	System::Word FStrLen;
	System::Byte FOptionFlags;
	System::WideString FWideData;
	System::AnsiString FShortData;
	System::Word FRTFNumber;
	System::Sysutils::TByteArray *FRTFData;
	unsigned FFarEastDataSize;
	System::Sysutils::TByteArray *FFarEastData;
	System::Byte __fastcall GetLenOfLen();
	bool __fastcall GetHasWideChar();
	bool __fastcall GetHasRichText();
	bool __fastcall GetFarEast();
	System::WideString __fastcall GetValue();
	__fastcall TxlsString(bool IsWideStr, TbiffRecord* &ARecord, int &Offset);
	__fastcall TxlsString(bool IsWideStr, const System::WideString Str);
	__fastcall virtual ~TxlsString();
	int __fastcall Compare(TxlsString* Str);
	__property System::Byte OptionFlags = {read=FOptionFlags, nodefault};
	__property System::AnsiString ShortData = {read=FShortData};
	__property System::WideString WideData = {read=FWideData};
	__property System::Byte LenOfLen = {read=GetLenOfLen, nodefault};
	__property bool HasWideChar = {read=GetHasWideChar, nodefault};
	__property bool HasRichText = {read=GetHasRichText, nodefault};
	__property bool HasFarEast = {read=GetFarEast, nodefault};
	__property System::WideString Value = {read=GetValue};
public:
	/* TObject.Create */ inline __fastcall TxlsString() : System::TObject() { }
	
};


class PASCALIMPLEMENTATION TxlsSSTEntry : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	int FRefCount;
	TxlsString* FValue;
	System::Classes::TNotifyEvent FOnDestroy;
	
public:
	__fastcall TxlsSSTEntry(TxlsString* Str);
	__fastcall TxlsSSTEntry(System::WideString Str);
	__fastcall virtual ~TxlsSSTEntry();
	void __fastcall IncRef();
	void __fastcall DecRef();
	__property int RefCount = {read=FRefCount, nodefault};
	__property TxlsString* Value = {read=FValue};
	__property System::Classes::TNotifyEvent OnDestroy = {read=FOnDestroy, write=FOnDestroy};
public:
	/* TObject.Create */ inline __fastcall TxlsSSTEntry() : System::TObject() { }
	
};


class PASCALIMPLEMENTATION TbiffLabelSST : public TbiffCell
{
	typedef TbiffCell inherited;
	
private:
	TxlsSSTEntry* FSSTEntry;
	void __fastcall DestroySSTEntry(System::TObject* Sender);
	
protected:
	virtual TbiffCellType __fastcall GetCellType();
	virtual System::WideString __fastcall GetAsString();
	virtual void __fastcall SetAsString(const System::WideString Value);
	virtual System::Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsVariant(const System::Variant &Value);
	
public:
	__fastcall virtual TbiffLabelSST(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	__fastcall virtual ~TbiffLabelSST();
};


class PASCALIMPLEMENTATION ETokenException : public System::Sysutils::Exception
{
	typedef System::Sysutils::Exception inherited;
	
private:
	int FToken;
	
public:
	__fastcall ETokenException(int Token, const System::UnicodeString Msg);
	__property int Token = {read=FToken, nodefault};
public:
	/* Exception.CreateFmt */ inline __fastcall ETokenException(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High) : System::Sysutils::Exception(Msg, Args, Args_High) { }
	/* Exception.CreateRes */ inline __fastcall ETokenException(NativeUInt Ident)/* overload */ : System::Sysutils::Exception(Ident) { }
	/* Exception.CreateRes */ inline __fastcall ETokenException(System::PResStringRec ResStringRec)/* overload */ : System::Sysutils::Exception(ResStringRec) { }
	/* Exception.CreateResFmt */ inline __fastcall ETokenException(NativeUInt Ident, const System::TVarRec *Args, const int Args_High)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High) { }
	/* Exception.CreateResFmt */ inline __fastcall ETokenException(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High) { }
	/* Exception.CreateHelp */ inline __fastcall ETokenException(const System::UnicodeString Msg, int AHelpContext) : System::Sysutils::Exception(Msg, AHelpContext) { }
	/* Exception.CreateFmtHelp */ inline __fastcall ETokenException(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 ETokenException(NativeUInt Ident, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall ETokenException(System::PResStringRec ResStringRec, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall ETokenException(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 ETokenException(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 ~ETokenException() { }
	
};


class PASCALIMPLEMENTATION TbiffFormula : public TbiffCell
{
	typedef TbiffCell inherited;
	
private:
	System::Variant FValue;
	bool __fastcall GetIsExp();
	unsigned __fastcall GetKey();
	void __fastcall ArrangeSharedFormulas();
	
protected:
	virtual bool __fastcall GetIsFormula();
	virtual System::Variant __fastcall GetAsVariant();
	virtual void __fastcall SetAsVariant(const System::Variant &Value);
	virtual System::WideString __fastcall GetAsString();
	virtual void __fastcall SetAsString(const System::WideString Value);
	
public:
	__fastcall virtual TbiffFormula(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	void __fastcall MixShared(System::Sysutils::PByteArray SharedData, int SharedDataSize);
	__property bool IsExp = {read=GetIsExp, nodefault};
	__property unsigned Key = {read=GetKey, nodefault};
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffFormula() { }
	
};


class PASCALIMPLEMENTATION TbiffShrFmla : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::Word __fastcall GetFirstRow();
	System::Word __fastcall GetLastRow();
	System::Word __fastcall GetFirstCol();
	System::Word __fastcall GetLastCol();
	int __fastcall GetKey();
	
public:
	__property System::Word FirstRow = {read=GetFirstRow, nodefault};
	__property System::Word LastRow = {read=GetLastRow, nodefault};
	__property System::Word FirstCol = {read=GetFirstCol, nodefault};
	__property System::Word LastCol = {read=GetLastCol, nodefault};
	__property int Key = {read=GetKey, nodefault};
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffShrFmla(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffShrFmla() { }
	
};


class PASCALIMPLEMENTATION TbiffName : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::WideString __fastcall GetName();
	System::Byte __fastcall GetNameLength();
	int __fastcall GetNameSize();
	System::Byte __fastcall GetOptionFlags();
	int __fastcall GetRow1();
	int __fastcall GetRow2();
	int __fastcall GetCol1();
	int __fastcall GetCol2();
	
public:
	__property System::WideString Name = {read=GetName};
	__property System::Byte NameLength = {read=GetNameLength, nodefault};
	__property int NameSize = {read=GetNameSize, nodefault};
	__property System::Byte OptionFlags = {read=GetOptionFlags, nodefault};
	__property int Row1 = {read=GetRow1, nodefault};
	__property int Row2 = {read=GetRow2, nodefault};
	__property int Col1 = {read=GetCol1, nodefault};
	__property int Col2 = {read=GetCol2, nodefault};
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffName(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffName() { }
	
};


class PASCALIMPLEMENTATION TbiffMultiple : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
protected:
	int FCol;
	virtual bool __fastcall GetEOF() = 0 ;
	virtual TbiffCell* __fastcall GetCell() = 0 ;
	
public:
	__fastcall virtual TbiffMultiple(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	__property bool Eof = {read=GetEOF, nodefault};
	__property TbiffCell* Cell = {read=GetCell};
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffMultiple() { }
	
};


class PASCALIMPLEMENTATION TbiffMulBlank : public TbiffMultiple
{
	typedef TbiffMultiple inherited;
	
protected:
	virtual bool __fastcall GetEOF();
	virtual TbiffCell* __fastcall GetCell();
public:
	/* TbiffMultiple.Create */ inline __fastcall virtual TbiffMulBlank(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffMultiple(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffMulBlank() { }
	
};


class PASCALIMPLEMENTATION TbiffMulRK : public TbiffMultiple
{
	typedef TbiffMultiple inherited;
	
protected:
	virtual bool __fastcall GetEOF();
	virtual TbiffCell* __fastcall GetCell();
public:
	/* TbiffMultiple.Create */ inline __fastcall virtual TbiffMulRK(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffMultiple(Section, ID, DataSize, Data) { }
	
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffMulRK() { }
	
};


class PASCALIMPLEMENTATION TbiffFont : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffFont(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffFont() { }
	
};


class PASCALIMPLEMENTATION TbiffXF : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::Word __fastcall GetFormatIndex();
	void __fastcall SetFormatIndex(System::Word Value);
	
public:
	__property System::Word FormatIndex = {read=GetFormatIndex, write=SetFormatIndex, nodefault};
public:
	/* TbiffRecord.Create */ inline __fastcall virtual TbiffXF(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data) : TbiffRecord(Section, ID, DataSize, Data) { }
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffXF() { }
	
};


class PASCALIMPLEMENTATION TbiffFormat : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	System::Word FID;
	System::WideString FValue;
	
public:
	__fastcall virtual TbiffFormat(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
	__property System::Word ID = {read=FID, nodefault};
	__property System::WideString Value = {read=FValue};
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffFormat() { }
	
};


class PASCALIMPLEMENTATION TbiffSST : public TbiffRecord
{
	typedef TbiffRecord inherited;
	
private:
	int FCount;
	
public:
	__property int Count = {read=FCount, nodefault};
	__fastcall virtual TbiffSST(TxlsSection* Section, System::Word ID, System::Word DataSize, System::Sysutils::PByteArray Data);
public:
	/* TbiffRecord.Destroy */ inline __fastcall virtual ~TbiffSST() { }
	
};


class PASCALIMPLEMENTATION TxlsList : public System::Classes::TList
{
	typedef System::Classes::TList inherited;
	
private:
	TxlsWorkbook* FWorkbook;
	System::TObject* __fastcall GetItems(int Index);
	void __fastcall SetItems(int Index, System::TObject* Value);
	
public:
	HIDESBASE int __fastcall Add(System::TObject* Item);
	__fastcall TxlsList(TxlsWorkbook* Workbook);
	virtual void __fastcall Clear();
	HIDESBASE void __fastcall Delete(int Index);
	HIDESBASE System::TObject* __fastcall Extract(System::TObject* Item);
	HIDESBASE System::TObject* __fastcall First();
	HIDESBASE int __fastcall IndexOf(System::TObject* Item);
	HIDESBASE void __fastcall Insert(int Index, System::TObject* Item);
	HIDESBASE System::TObject* __fastcall Last();
	HIDESBASE int __fastcall Remove(System::TObject* Item);
	__property System::TObject* Items[int Index] = {read=GetItems, write=SetItems};
	__property TxlsWorkbook* Workbook = {read=FWorkbook};
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsList() { }
	
};


class PASCALIMPLEMENTATION TbiffRecordList : public TxlsList
{
	typedef TxlsList inherited;
	
public:
	TbiffRecord* operator[](int Index) { return this->Items[Index]; }
	
private:
	int FTotalSize;
	HIDESBASE TbiffRecord* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffRecord* Value);
	
public:
	HIDESBASE int __fastcall Add(TbiffRecord* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffRecord* Item);
	void __fastcall CorrectSize(int Delta);
	void __fastcall RecalculateTotalSize();
	__property TbiffRecord* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffRecordList(TxlsWorkbook* Workbook) : TxlsList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffRecordList() { }
	
};


class PASCALIMPLEMENTATION TbiffColRowList : public TbiffRecordList
{
	typedef TbiffRecordList inherited;
	
public:
	TbiffColRow* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TbiffColRow* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffColRow* Value);
	
public:
	__property TbiffColRow* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
	HIDESBASE int __fastcall Add(TbiffColRow* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffColRow* Item);
public:
	/* TxlsList.Create */ inline __fastcall TbiffColRowList(TxlsWorkbook* Workbook) : TbiffRecordList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffColRowList() { }
	
};


_DECLARE_METACLASS(System::TMetaClass, TbiffColRowListClass);

class PASCALIMPLEMENTATION TbiffCellList : public TbiffColRowList
{
	typedef TbiffColRowList inherited;
	
public:
	TbiffCell* operator[](int Index) { return this->Items[Index]; }
	
private:
	bool FSorted;
	HIDESBASE TbiffCell* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffCell* Value);
	void __fastcall OnDestroyItem(System::TObject* Sender);
	
protected:
	virtual void __fastcall SetMinAndMaxCells(TbiffCell* Item);
	virtual void __fastcall SetColRowNumber(TbiffCell* Item);
	__property bool Sorted = {read=FSorted, write=FSorted, nodefault};
	
public:
	virtual void __fastcall Clear();
	HIDESBASE int __fastcall Add(TbiffCell* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffCell* Item);
	__property TbiffCell* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffCellList(TxlsWorkbook* Workbook) : TbiffColRowList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffCellList() { }
	
};


class PASCALIMPLEMENTATION TxlsRow : public TbiffCellList
{
	typedef TbiffCellList inherited;
	
private:
	int FRowNumber;
	int FMinCol;
	int FMaxCol;
	
protected:
	virtual void __fastcall SetMinAndMaxCells(TbiffCell* Item);
	virtual void __fastcall SetColRowNumber(TbiffCell* Item);
	
public:
	__fastcall TxlsRow(TxlsWorkbook* Workbook);
	bool __fastcall Find(int Col, int &Index);
	HIDESBASE void __fastcall Sort();
	__property int RowNumber = {read=FRowNumber, nodefault};
	__property int MinCol = {read=FMinCol, nodefault};
	__property int MaxCol = {read=FMaxCol, nodefault};
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsRow() { }
	
};


class PASCALIMPLEMENTATION TxlsCol : public TbiffCellList
{
	typedef TbiffCellList inherited;
	
private:
	int FColNumber;
	int FMinRow;
	int FMaxRow;
	
protected:
	virtual void __fastcall SetMinAndMaxCells(TbiffCell* Item);
	virtual void __fastcall SetColRowNumber(TbiffCell* Item);
	
public:
	__fastcall TxlsCol(TxlsWorkbook* Workbook);
	bool __fastcall Find(int Row, int &Index);
	HIDESBASE void __fastcall Sort();
	__property int ColNumber = {read=FColNumber, nodefault};
	__property int MinRow = {read=FMinRow, nodefault};
	__property int MaxRow = {read=FMaxRow, nodefault};
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsCol() { }
	
};


class PASCALIMPLEMENTATION TbiffShrFmlaList : public TbiffRecordList
{
	typedef TbiffRecordList inherited;
	
public:
	TbiffShrFmla* operator[](int Index) { return this->Items[Index]; }
	
private:
	bool FSorted;
	HIDESBASE TbiffShrFmla* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffShrFmla* Value);
	
public:
	HIDESBASE int __fastcall Add(TbiffShrFmla* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffShrFmla* Item);
	bool __fastcall Find(int Key, int &Index);
	HIDESBASE void __fastcall Sort();
	__property TbiffShrFmla* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffShrFmlaList(TxlsWorkbook* Workbook) : TbiffRecordList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffShrFmlaList() { }
	
};


class PASCALIMPLEMENTATION TbiffNameList : public TbiffRecordList
{
	typedef TbiffRecordList inherited;
	
public:
	TbiffName* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TbiffName* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffName* Value);
	
public:
	HIDESBASE int __fastcall Add(TbiffName* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffName* Item);
	__property TbiffName* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffNameList(TxlsWorkbook* Workbook) : TbiffRecordList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffNameList() { }
	
};


class PASCALIMPLEMENTATION TbiffBoundSheetList : public TbiffRecordList
{
	typedef TbiffRecordList inherited;
	
public:
	TbiffBoundSheet* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TbiffBoundSheet* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffBoundSheet* Value);
	System::WideString __fastcall GetName(int Index);
	
public:
	HIDESBASE int __fastcall Add(TbiffBoundSheet* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffBoundSheet* Item);
	__property TbiffBoundSheet* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
	__property System::WideString Name[int Index] = {read=GetName};
public:
	/* TxlsList.Create */ inline __fastcall TbiffBoundSheetList(TxlsWorkbook* Workbook) : TbiffRecordList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffBoundSheetList() { }
	
};


class PASCALIMPLEMENTATION TbiffXFList : public TbiffRecordList
{
	typedef TbiffRecordList inherited;
	
public:
	TbiffXF* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TbiffXF* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffXF* Value);
	
public:
	HIDESBASE int __fastcall Add(TbiffXF* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffXF* Item);
	__property TbiffXF* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffXFList(TxlsWorkbook* Workbook) : TbiffRecordList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffXFList() { }
	
};


class PASCALIMPLEMENTATION TbiffFormatList : public TbiffRecordList
{
	typedef TbiffRecordList inherited;
	
public:
	System::WideString operator[](int Index) { return this->Format[Index]; }
	
private:
	bool FSorted;
	HIDESBASE TbiffFormat* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TbiffFormat* Value);
	System::WideString __fastcall GetFormat(int ID);
	
public:
	HIDESBASE int __fastcall Add(TbiffFormat* Item);
	HIDESBASE void __fastcall Insert(int Index, TbiffFormat* Item);
	bool __fastcall Find(int ID, int &Index);
	HIDESBASE void __fastcall Sort();
	__property TbiffFormat* Items[int Index] = {read=GetItems, write=SetItems};
	__property System::WideString Format[int Index] = {read=GetFormat/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffFormatList(TxlsWorkbook* Workbook) : TbiffRecordList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffFormatList() { }
	
};


class PASCALIMPLEMENTATION TbiffSSTList : public TxlsList
{
	typedef TxlsList inherited;
	
public:
	TxlsSSTEntry* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TxlsSSTEntry* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TxlsSSTEntry* Value);
	
public:
	HIDESBASE int __fastcall Add(TxlsSSTEntry* Item);
	HIDESBASE void __fastcall Insert(int Index, TxlsSSTEntry* Item);
	bool __fastcall Find(TxlsString* Str, int &Index);
	HIDESBASE void __fastcall Sort();
	void __fastcall Load(TbiffSST* SST);
	int __fastcall AddString(const System::WideString Str);
	__property TxlsSSTEntry* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TbiffSSTList(TxlsWorkbook* Workbook) : TxlsList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TbiffSSTList() { }
	
};


class PASCALIMPLEMENTATION TxlsRowList : public TxlsList
{
	typedef TxlsList inherited;
	
public:
	TxlsRow* operator[](int Index) { return this->Items[Index]; }
	
private:
	bool FSorted;
	HIDESBASE TxlsRow* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TxlsRow* Value);
	
public:
	__fastcall TxlsRowList(TxlsWorkbook* Workbook);
	HIDESBASE int __fastcall Add(TxlsRow* Row);
	HIDESBASE void __fastcall Insert(int Index, TxlsRow* Row);
	bool __fastcall Find(int Row, int &Index);
	HIDESBASE void __fastcall Sort();
	__property TxlsRow* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsRowList() { }
	
};


class PASCALIMPLEMENTATION TxlsColList : public TxlsList
{
	typedef TxlsList inherited;
	
public:
	TxlsCol* operator[](int Index) { return this->Items[Index]; }
	
private:
	bool FSorted;
	HIDESBASE TxlsCol* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TxlsCol* Value);
	
public:
	__fastcall TxlsColList(TxlsWorkbook* Workbook);
	HIDESBASE int __fastcall Add(TxlsCol* Col);
	HIDESBASE void __fastcall Insert(int Index, TxlsCol* Col);
	bool __fastcall Find(int Col, int &Index);
	HIDESBASE void __fastcall Sort();
	__property TxlsCol* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsColList() { }
	
};


class PASCALIMPLEMENTATION TxlsSection : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	TxlsWorkbook* FWorkbook;
	TbiffBOF* FBOF;
	TbiffEOF* FEOF;
	System::Classes::TNotifyEvent FOnDestroy;
	
public:
	__fastcall TxlsSection(TxlsWorkbook* Workbook);
	__fastcall virtual ~TxlsSection();
	virtual void __fastcall Load(System::Classes::TStream* Stream, TbiffBOF* BOF) = 0 ;
	void __fastcall Clear();
	__property TxlsWorkbook* Workbook = {read=FWorkbook};
	__property TbiffBOF* Bof = {read=FBOF, write=FBOF};
	__property TbiffEOF* Eof = {read=FEOF, write=FEOF};
	__property System::Classes::TNotifyEvent OnDestroy = {read=FOnDestroy, write=FOnDestroy};
};


class PASCALIMPLEMENTATION TxlsGlobals : public TxlsSection
{
	typedef TxlsSection inherited;
	
private:
	TbiffBoundSheetList* FBoundSheetList;
	TbiffNameList* FNameList;
	TbiffSSTList* FSSTList;
	TbiffXFList* FXFList;
	TbiffFormatList* FFormatList;
	void __fastcall FixFormats();
	
public:
	__fastcall TxlsGlobals(TxlsWorkbook* Workbook);
	__fastcall virtual ~TxlsGlobals();
	HIDESBASE void __fastcall Clear();
	virtual void __fastcall Load(System::Classes::TStream* Stream, TbiffBOF* BOF);
	void __fastcall SkipSubrecords(System::Classes::TStream* AStream);
	__property TbiffBoundSheetList* BoundSheetList = {read=FBoundSheetList};
	__property TbiffNameList* NameList = {read=FNameList};
	__property TbiffSSTList* SSTList = {read=FSSTList};
	__property TbiffXFList* XFList = {read=FXFList};
	__property TbiffFormatList* FormatList = {read=FFormatList};
};


class PASCALIMPLEMENTATION TxlsSheet : public TxlsSection
{
	typedef TxlsSection inherited;
	
private:
	int FIndex;
	System::WideString __fastcall GetName();
	
public:
	__fastcall virtual TxlsSheet(TxlsWorkbook* Workbook);
	__property System::WideString Name = {read=GetName};
public:
	/* TxlsSection.Destroy */ inline __fastcall virtual ~TxlsSheet() { }
	
};


class PASCALIMPLEMENTATION TxlsSheetList : public TxlsList
{
	typedef TxlsList inherited;
	
public:
	TxlsSheet* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TxlsSheet* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TxlsSheet* Value);
	
public:
	HIDESBASE int __fastcall Add(TxlsSheet* Item);
	HIDESBASE void __fastcall Insert(int Index, TxlsSheet* Item);
	__property TxlsSheet* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TxlsSheetList(TxlsWorkbook* Workbook) : TxlsList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsSheetList() { }
	
};


class PASCALIMPLEMENTATION TxlsWorkSheet : public TxlsSheet
{
	typedef TxlsSheet inherited;
	
private:
	TxlsRowList* FRows;
	TxlsColList* FCols;
	TbiffShrFmlaList* FShrFmlaList;
	int __fastcall GetRowCount();
	int __fastcall GetColCount();
	TbiffCell* __fastcall GetCells(int Row, int Col);
	
public:
	__fastcall virtual TxlsWorkSheet(TxlsWorkbook* Workbook);
	__fastcall virtual ~TxlsWorkSheet();
	HIDESBASE void __fastcall Clear();
	virtual void __fastcall Load(System::Classes::TStream* AStream, TbiffBOF* ABof);
	void __fastcall LoadRows(System::Classes::TStream* AStream, TbiffBOF* ABof, unsigned ARowCount);
	void __fastcall AddCell(TbiffCell* Cell);
	void __fastcall AddMultiple(TbiffMultiple* Multiple);
	void __fastcall FixFormulas();
	__property TxlsRowList* Rows = {read=FRows};
	__property TxlsColList* Cols = {read=FCols};
	__property TbiffShrFmlaList* ShrFmlaList = {read=FShrFmlaList};
	__property int RowCount = {read=GetRowCount, nodefault};
	__property int ColCount = {read=GetColCount, nodefault};
	__property TbiffCell* Cells[int Row][int Col] = {read=GetCells};
};


class PASCALIMPLEMENTATION TxlsWorkSheetList : public TxlsList
{
	typedef TxlsList inherited;
	
public:
	TxlsWorkSheet* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE TxlsWorkSheet* __fastcall GetItems(int Index);
	HIDESBASE void __fastcall SetItems(int Index, TxlsWorkSheet* Value);
	void __fastcall OnDestroyItem(System::TObject* Sender);
	
public:
	HIDESBASE int __fastcall Add(TxlsWorkSheet* Item);
	HIDESBASE void __fastcall Insert(int Index, TxlsWorkSheet* Item);
	int __fastcall IndexOfName(const System::WideString Name);
	__property TxlsWorkSheet* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TxlsList.Create */ inline __fastcall TxlsWorkSheetList(TxlsWorkbook* Workbook) : TxlsList(Workbook) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TxlsWorkSheetList() { }
	
};


class PASCALIMPLEMENTATION TxlsWorkbook : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	TxlsFile* FExcelFile;
	TxlsGlobals* FGlobals;
	TxlsSheetList* FSheets;
	TxlsWorkSheetList* FWorkSheets;
	
public:
	__fastcall TxlsWorkbook(TxlsFile* ExcelFile);
	__fastcall virtual ~TxlsWorkbook();
	void __fastcall Load(System::Classes::TStream* Stream);
	void __fastcall Clear();
	__property TxlsFile* ExcelFile = {read=FExcelFile};
	__property TxlsGlobals* Globals = {read=FGlobals};
	__property TxlsSheetList* Sheets = {read=FSheets};
	__property TxlsWorkSheetList* WorkSheets = {read=FWorkSheets};
};


typedef void __fastcall (__closure *TFunctionEvent)(System::TObject* Sender, const System::AnsiString FunctionName, const System::Variant &Arguments, System::Variant &Result);

class PASCALIMPLEMENTATION TxlsFile : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	System::UnicodeString FFileName;
	System::Classes::TMemoryStream* FStream;
	TxlsWorkbook* FWorkbook;
	bool FLoaded;
	unsigned FRowCount;
	TFunctionEvent FOnFunction;
	void __fastcall Open();
	void __fastcall Close();
	void __fastcall OpenStream();
	
public:
	__fastcall TxlsFile();
	__fastcall virtual ~TxlsFile();
	void __fastcall Load();
	void __fastcall LoadRows(unsigned ARowCount);
	void __fastcall Clear();
	__property bool Loaded = {read=FLoaded, nodefault};
	__property System::UnicodeString FileName = {read=FFileName, write=FFileName};
	__property TxlsWorkbook* Workbook = {read=FWorkbook};
	__property TFunctionEvent OnFunction = {read=FOnFunction, write=FOnFunction};
};


//-- var, const, procedure ---------------------------------------------------
}	/* namespace Qimport3xlsfile */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_QIMPORT3XLSFILE)
using namespace Qimport3xlsfile;
#endif
#pragma pack(pop)
#pragma option pop

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