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

// (DO NOT EDIT: machine generated header) 'BIFF_RecordStorage5.pas' rev: 28.00 (Windows)

#ifndef Biff_recordstorage5HPP
#define Biff_recordstorage5HPP

#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>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <BIFF_RecsII5.hpp>	// Pascal unit
#include <BIFF_Stream5.hpp>	// Pascal unit
#include <XLSUtils5.hpp>	// Pascal unit

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

namespace Biff_recordstorage5
{
//-- type declarations -------------------------------------------------------
struct TRecordData;
typedef TRecordData *PRecordData;

struct DECLSPEC_DRECORD TRecordData
{
private:
	struct DECLSPEC_DRECORD _TRecordData__1
	{
	};
	
	
	
public:
	System::Word RecId;
	System::Word Length;
	_TRecordData__1 Data;
};


class DELPHICLASS TBaseRecordStorage;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TBaseRecordStorage : public System::Classes::TList
{
	typedef System::Classes::TList inherited;
	
public:
	PRecordData operator[](int Index) { return Items[Index]; }
	
private:
	PRecordData __fastcall GetItems(int Index);
	void __fastcall SetItems(int Index, const PRecordData Value);
	
public:
	__fastcall virtual ~TBaseRecordStorage(void);
	virtual void __fastcall Clear(void);
	PRecordData __fastcall AddRec(Biff_recsii5::TBIFFHeader Header, System::Sysutils::PByteArray Data);
	PRecordData __fastcall UpdateRec(int Index, int Len, System::Sysutils::PByteArray Data);
	void __fastcall ReadUntilEOF(Biff_stream5::TXLSStream* Stream, System::Sysutils::PByteArray PBuf);
	virtual void __fastcall WriteAllRecs(Biff_stream5::TXLSStream* Stream);
	void __fastcall WriteRec(int Index, Biff_stream5::TXLSStream* Stream);
	int __fastcall Size(void);
	int __fastcall FindRecord(System::Word RecId);
	HIDESBASE void __fastcall Assign(TBaseRecordStorage* Records);
	__property PRecordData Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	/* TObject.Create */ inline __fastcall TBaseRecordStorage(void) : System::Classes::TList() { }
	
};

#pragma pack(pop)

class DELPHICLASS TRecordStorage;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRecordStorage : public TBaseRecordStorage
{
	typedef TBaseRecordStorage inherited;
	
public:
	virtual void __fastcall SetDefaultData(void) = 0 ;
	virtual int __fastcall PostCheck(void) = 0 ;
	virtual void __fastcall UpdateDefault(Biff_recsii5::TBIFFHeader Header, System::Sysutils::PByteArray Data) = 0 ;
	virtual void __fastcall UpdateInternal(System::Word Id) = 0 ;
public:
	/* TBaseRecordStorage.Destroy */ inline __fastcall virtual ~TRecordStorage(void) { }
	
public:
	/* TObject.Create */ inline __fastcall TRecordStorage(void) : TBaseRecordStorage() { }
	
};

#pragma pack(pop)

class DELPHICLASS TRecordStorageEx2007Unknown;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRecordStorageEx2007Unknown : public TBaseRecordStorage
{
	typedef TBaseRecordStorage inherited;
	
public:
	virtual void __fastcall WriteAllRecs(Biff_stream5::TXLSStream* Stream);
public:
	/* TBaseRecordStorage.Destroy */ inline __fastcall virtual ~TRecordStorageEx2007Unknown(void) { }
	
public:
	/* TObject.Create */ inline __fastcall TRecordStorageEx2007Unknown(void) : TBaseRecordStorage() { }
	
};

#pragma pack(pop)

class DELPHICLASS TRecordStorageDefault;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRecordStorageDefault : public TRecordStorage
{
	typedef TRecordStorage inherited;
	
protected:
	TBaseRecordStorage* FDefault;
	PRecordData __fastcall AddDefRecWord(int Id, System::Word Data);
	PRecordData __fastcall AddDefRec(int Id, int Length);
	
public:
	__fastcall TRecordStorageDefault(void);
	__fastcall virtual ~TRecordStorageDefault(void);
	virtual void __fastcall Clear(void);
	virtual void __fastcall MoveDefault(PRecordData Rec, PRecordData NewRec) = 0 ;
	HIDESBASE void __fastcall UpdateRec(PRecordData &Rec, Biff_recsii5::TBIFFHeader Header, System::Sysutils::PByteArray Data);
	void __fastcall MoveAllDefault(void);
};

#pragma pack(pop)

class DELPHICLASS TRecordStorageGlobals;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRecordStorageGlobals : public TRecordStorageDefault
{
	typedef TRecordStorageDefault inherited;
	
private:
	TRecordData *P_INT_FORMATS;
	TRecordData *P_INT_BOUNDSHEETS;
	TRecordData *P_INT_NAMES;
	TRecordData *P_INT_MSODRWGRP;
	TRecordData *P_INT_SST;
	TRecordData *PBOF;
	TRecordData *PWRITEACCESS;
	TRecordData *PCODEPAGE;
	TRecordData *PDSF;
	TRecordData *PTABID;
	TRecordData *PFNGROUPCOUNT;
	TRecordData *PWINDOWPROTECT;
	TRecordData *PPROTECT;
	TRecordData *PPASSWORD;
	TRecordData *PPROT4REV;
	TRecordData *PWINDOW1;
	TRecordData *PBACKUP;
	TRecordData *PHIDEOBJ;
	TRecordData *P1904;
	TRecordData *PPRECISION;
	TRecordData *PREFRESHALL;
	TRecordData *PBOOKBOOL;
	TRecordData *PCOUNTRY;
	TRecordData *PRECALCID;
	TRecordData *PEOF;
	System::Word __fastcall GetCODEPAGE(void);
	Biff_recsii5::PRecWINDOW1 __fastcall GetWINDOW1(void);
	bool __fastcall GetWINDOWPROTECT(void);
	System::UnicodeString __fastcall GetWRITEACCESS(void);
	void __fastcall SetCODEPAGE(const System::Word Value);
	void __fastcall SetWINDOWPROTECT(const bool Value);
	void __fastcall SetWRITEACCESS(const System::UnicodeString Value);
	bool __fastcall GetBACKUP(void);
	void __fastcall SetBACKUP(const bool Value);
	System::Word __fastcall GetHIDEOBJ(void);
	void __fastcall SetHIDEOBJ(const System::Word Value);
	bool __fastcall GetPRECISION(void);
	void __fastcall SetRECISION(const bool Value);
	bool __fastcall GetREFRESHALL(void);
	void __fastcall SetREFRESHALL(const bool Value);
	bool __fastcall GetBOOKBOOL(void);
	void __fastcall SetBOOKBOOL(const bool Value);
	Biff_recsii5::PRecCOUNTRY __fastcall GetCOUNTRY(void);
	Biff_recsii5::PRecRECALCID __fastcall GetRECALCID(void);
	Biff_recsii5::PRecBOF8 __fastcall GetBOF(void);
	bool __fastcall GetDATE1904(void);
	System::Word __fastcall GetPASSWORD(void);
	
public:
	__fastcall TRecordStorageGlobals(void);
	virtual void __fastcall Clear(void);
	virtual void __fastcall SetDefaultData(void);
	virtual int __fastcall PostCheck(void);
	virtual void __fastcall MoveDefault(PRecordData Rec, PRecordData NewRec);
	virtual void __fastcall UpdateDefault(Biff_recsii5::TBIFFHeader Header, System::Sysutils::PByteArray Data);
	virtual void __fastcall UpdateInternal(System::Word Id);
	__property Biff_recsii5::PRecBOF8 BOF = {read=GetBOF};
	__property System::Word CODEPAGE = {read=GetCODEPAGE, write=SetCODEPAGE, nodefault};
	__property System::UnicodeString WRITEACCESS = {read=GetWRITEACCESS, write=SetWRITEACCESS};
	__property bool WINDOWPROTECT = {read=GetWINDOWPROTECT, write=SetWINDOWPROTECT, nodefault};
	__property Biff_recsii5::PRecWINDOW1 WINDOW1 = {read=GetWINDOW1};
	__property bool BACKUP = {read=GetBACKUP, write=SetBACKUP, nodefault};
	__property System::Word HIDEOBJ = {read=GetHIDEOBJ, write=SetHIDEOBJ, nodefault};
	__property bool PRECISION = {read=GetPRECISION, write=SetRECISION, nodefault};
	__property bool REFRESHALL = {read=GetREFRESHALL, write=SetREFRESHALL, nodefault};
	__property bool BOOKBOOL = {read=GetBOOKBOOL, write=SetBOOKBOOL, nodefault};
	__property Biff_recsii5::PRecCOUNTRY COUNTRY = {read=GetCOUNTRY};
	__property Biff_recsii5::PRecRECALCID RECALCID = {read=GetRECALCID};
	__property bool DATE1904 = {read=GetDATE1904, nodefault};
	__property System::Word PASSWORD = {read=GetPASSWORD, nodefault};
public:
	/* TRecordStorageDefault.Destroy */ inline __fastcall virtual ~TRecordStorageGlobals(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TRecordStorageSheet;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRecordStorageSheet : public TRecordStorageDefault
{
	typedef TRecordStorageDefault inherited;
	
private:
	TRecordData *P_INT_PAGEBREAKES;
	TRecordData *P_INT_HEADER;
	TRecordData *P_INT_MARGINS;
	TRecordData *P_INT_COLINFO;
	TRecordData *P_INT_CELLDATA;
	TRecordData *P_INT_SUFFIXDATA;
	TRecordData *PBOF;
	TRecordData *PCALCMODE;
	TRecordData *PCALCCOUNT;
	TRecordData *PDELTA;
	TRecordData *PREFMODE;
	TRecordData *PITERATION;
	TRecordData *PSAVERECALC;
	TRecordData *PPRINTHEADERS;
	TRecordData *PPRINTGRIDLINES;
	TRecordData *PGRIDSET;
	TRecordData *PGUTS;
	TRecordData *PDEFAULTROWHEIGHT;
	TRecordData *PWSBOOL;
	TRecordData *PHCENTER;
	TRecordData *PVCENTER;
	TRecordData *PSETUP;
	TRecordData *PPROTECT;
	TRecordData *PDEFCOLWIDTH;
	TRecordData *PDIMENSIONS;
	TRecordData *PWINDOW2;
	TRecordData *PEOF;
	System::Word __fastcall GetCALCMODE(void);
	void __fastcall SetCALCMODE(const System::Word Value);
	double __fastcall GetDELTA(void);
	void __fastcall SetDELTA(const double Value);
	System::Word __fastcall GetCALCCOUNT(void);
	void __fastcall SetCALCCOUNT(const System::Word Value);
	bool __fastcall GetITERATION(void);
	System::Word __fastcall GetREFMODE(void);
	bool __fastcall GetSAVERECALC(void);
	void __fastcall SetITERATION(const bool Value);
	void __fastcall SetREFMODE(const System::Word Value);
	void __fastcall SetSAVERECALC(const bool Value);
	bool __fastcall GetPRINTGRIDLINES(void);
	bool __fastcall GetPRINTHEADERS(void);
	void __fastcall SetPRINTGRIDLINES(const bool Value);
	void __fastcall SetPRINTHEADERS(const bool Value);
	System::Word __fastcall GetGRIDSET(void);
	void __fastcall SetGRIDSET(const System::Word Value);
	Biff_recsii5::PRecGUTS __fastcall GetGUTS(void);
	Biff_recsii5::PRecDEFAULTROWHEIGHT __fastcall GetDEFAULTROWHEIGHT(void);
	System::Word __fastcall GetWSBOOL(void);
	void __fastcall SetWSBOOL(const System::Word Value);
	bool __fastcall GetHCENTER(void);
	void __fastcall SetHCENTER(const bool Value);
	bool __fastcall GetVCENTER(void);
	void __fastcall SetVCENTER(const bool Value);
	Biff_recsii5::PRecSETUP __fastcall GetSETUP(void);
	System::Word __fastcall GetDEFCOLWIDTH(void);
	void __fastcall SetDEFCOLWIDTH(const System::Word Value);
	Biff_recsii5::PRecDIMENSIONS8 __fastcall GetDIMENSIONS(void);
	Biff_recsii5::PRecWINDOW2_8 __fastcall GetWINDOW2(void);
	Biff_recsii5::PRecBOF8 __fastcall GetBOF(void);
	void __fastcall SetPROTECT(const System::Word Value);
	System::Word __fastcall GetPROTECT(void);
	
public:
	__fastcall TRecordStorageSheet(void);
	virtual void __fastcall Clear(void);
	virtual void __fastcall SetDefaultData(void);
	virtual int __fastcall PostCheck(void);
	virtual void __fastcall MoveDefault(PRecordData Rec, PRecordData NewRec);
	virtual void __fastcall UpdateDefault(Biff_recsii5::TBIFFHeader Header, System::Sysutils::PByteArray Data);
	virtual void __fastcall UpdateInternal(System::Word Id);
	__property Biff_recsii5::PRecBOF8 BOF = {read=GetBOF};
	__property System::Word CALCMODE = {read=GetCALCMODE, write=SetCALCMODE, nodefault};
	__property System::Word CALCCOUNT = {read=GetCALCCOUNT, write=SetCALCCOUNT, nodefault};
	__property double DELTA = {read=GetDELTA, write=SetDELTA};
	__property System::Word REFMODE = {read=GetREFMODE, write=SetREFMODE, nodefault};
	__property bool ITERATION = {read=GetITERATION, write=SetITERATION, nodefault};
	__property bool SAVERECALC = {read=GetSAVERECALC, write=SetSAVERECALC, nodefault};
	__property bool PRINTHEADERS = {read=GetPRINTHEADERS, write=SetPRINTHEADERS, nodefault};
	__property bool PRINTGRIDLINES = {read=GetPRINTGRIDLINES, write=SetPRINTGRIDLINES, nodefault};
	__property System::Word GRIDSET = {read=GetGRIDSET, write=SetGRIDSET, nodefault};
	__property Biff_recsii5::PRecGUTS GUTS = {read=GetGUTS};
	__property Biff_recsii5::PRecDEFAULTROWHEIGHT DEFAULTROWHEIGHT = {read=GetDEFAULTROWHEIGHT};
	__property System::Word WSBOOL = {read=GetWSBOOL, write=SetWSBOOL, nodefault};
	__property bool HCENTER = {read=GetHCENTER, write=SetHCENTER, nodefault};
	__property bool VCENTER = {read=GetVCENTER, write=SetVCENTER, nodefault};
	__property Biff_recsii5::PRecSETUP SETUP = {read=GetSETUP};
	__property System::Word DEFCOLWIDTH = {read=GetDEFCOLWIDTH, write=SetDEFCOLWIDTH, nodefault};
	__property Biff_recsii5::PRecDIMENSIONS8 DIMENSIONS = {read=GetDIMENSIONS};
	__property Biff_recsii5::PRecWINDOW2_8 WINDOW2 = {read=GetWINDOW2};
	__property System::Word PROTECT = {read=GetPROTECT, write=SetPROTECT, nodefault};
public:
	/* TRecordStorageDefault.Destroy */ inline __fastcall virtual ~TRecordStorageSheet(void) { }
	
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
static const System::Word INTERNAL_PLACEHOLDER = System::Word(0x8000);
static const System::Word INTERNAL_FORMATS = System::Word(0x8001);
static const System::Word INTERNAL_BOUNDSHEETS = System::Word(0x8002);
static const System::Word INTERNAL_NAMES = System::Word(0x8003);
static const System::Word INTERNAL_MSODRWGRP = System::Word(0x8004);
static const System::Word INTERNAL_SST = System::Word(0x8005);
static const System::Word INTERNAL_PAGEBREAKES = System::Word(0x8101);
static const System::Word INTERNAL_HEADER = System::Word(0x8102);
static const System::Word INTERNAL_MARGINS = System::Word(0x8103);
static const System::Word INTERNAL_COLINFO = System::Word(0x8104);
static const System::Word INTERNAL_CELLDATA = System::Word(0x8105);
static const System::Word INTERNAL_SUFFIXDATA = System::Word(0x8106);
}	/* namespace Biff_recordstorage5 */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_BIFF_RECORDSTORAGE5)
using namespace Biff_recordstorage5;
#endif
#pragma pack(pop)
#pragma option pop

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