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

// (DO NOT EDIT: machine generated header) 'FMX.UXlsCellRecords.pas' rev: 27.00 (Windows)

#ifndef Fmx_UxlscellrecordsHPP
#define Fmx_UxlscellrecordsHPP

#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 <FMX.UXlsBaseRecords.hpp>	// Pascal unit
#include <FMX.XlsMessages.hpp>	// Pascal unit
#include <FMX.UFlxMessages.hpp>	// Pascal unit
#include <System.Variants.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <FMX.UOle2Impl.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Uxlscellrecords
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TBlankRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TBlankRecord : public Fmx::Uxlsbaserecords::TCellRecord
{
	typedef Fmx::Uxlsbaserecords::TCellRecord inherited;
	
public:
	__fastcall TBlankRecord(const System::Word aRow, const System::Word aCol, const System::Word aXF);
	virtual bool __fastcall CanJoinNext(Fmx::Uxlsbaserecords::TCellRecord* const NextRecord, const int MaxCol);
	virtual void __fastcall SaveFirstMul(Fmx::Uole2impl::TOle2File* const Workbook, const System::Word JoinedRecordSize);
	virtual void __fastcall SaveMidMul(Fmx::Uole2impl::TOle2File* const Workbook);
	virtual void __fastcall SaveLastMul(Fmx::Uole2impl::TOle2File* const Workbook);
	virtual int __fastcall TotalSizeFirst(void);
	virtual int __fastcall TotalSizeMid(void);
	virtual int __fastcall TotalSizeLast(void);
public:
	/* TBaseRowColRecord.Create */ inline __fastcall virtual TBlankRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TCellRecord(aId, aData, aDataSize) { }
	
public:
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TBlankRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TBoolErrRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TBoolErrRecord : public Fmx::Uxlsbaserecords::TCellRecord
{
	typedef Fmx::Uxlsbaserecords::TCellRecord inherited;
	
protected:
	virtual System::Variant __fastcall GetValue(void);
	virtual void __fastcall SetValue(const System::Variant &Value);
	System::UnicodeString __fastcall ErrcodeToString(const int ErrCode);
	int __fastcall StringToErrcode(const System::UnicodeString ErrStr);
	
public:
	__fastcall TBoolErrRecord(const System::Word aRow, const System::Word aCol, const System::Word aXF);
public:
	/* TBaseRowColRecord.Create */ inline __fastcall virtual TBoolErrRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TCellRecord(aId, aData, aDataSize) { }
	
public:
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TBoolErrRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TNumberRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TNumberRecord : public Fmx::Uxlsbaserecords::TCellRecord
{
	typedef Fmx::Uxlsbaserecords::TCellRecord inherited;
	
protected:
	virtual System::Variant __fastcall GetValue(void);
	virtual void __fastcall SetValue(const System::Variant &Value);
	
public:
	__fastcall TNumberRecord(const System::Word aRow, const System::Word aCol, const System::Word aXF);
public:
	/* TBaseRowColRecord.Create */ inline __fastcall virtual TNumberRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TCellRecord(aId, aData, aDataSize) { }
	
public:
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TNumberRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TRKRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRKRecord : public Fmx::Uxlsbaserecords::TCellRecord
{
	typedef Fmx::Uxlsbaserecords::TCellRecord inherited;
	
protected:
	virtual System::Variant __fastcall GetValue(void);
	virtual void __fastcall SetValue(const System::Variant &Value);
	
public:
	__fastcall TRKRecord(const System::Word aRow, const System::Word aCol, const System::Word aXF);
	virtual bool __fastcall CanJoinNext(Fmx::Uxlsbaserecords::TCellRecord* const NextRecord, const int MaxCol);
	virtual void __fastcall SaveFirstMul(Fmx::Uole2impl::TOle2File* const Workbook, const System::Word JoinedRecordSize);
	virtual void __fastcall SaveMidMul(Fmx::Uole2impl::TOle2File* const Workbook);
	virtual void __fastcall SaveLastMul(Fmx::Uole2impl::TOle2File* const Workbook);
	virtual int __fastcall TotalSizeFirst(void);
	virtual int __fastcall TotalSizeMid(void);
	virtual int __fastcall TotalSizeLast(void);
public:
	/* TBaseRowColRecord.Create */ inline __fastcall virtual TRKRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TCellRecord(aId, aData, aDataSize) { }
	
public:
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TRKRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TMultipleValueRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TMultipleValueRecord : public Fmx::Uxlsbaserecords::TBaseRecord
{
	typedef Fmx::Uxlsbaserecords::TBaseRecord inherited;
	
public:
	virtual bool __fastcall Eof(void) = 0 ;
	virtual Fmx::Uxlsbaserecords::TCellRecord* __fastcall ExtractOneRecord(void) = 0 ;
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TMultipleValueRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TBaseRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TMultipleValueRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TMulBlankRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TMulBlankRecord : public TMultipleValueRecord
{
	typedef TMultipleValueRecord inherited;
	
private:
	int CurrentCol;
	
public:
	virtual bool __fastcall Eof(void);
	virtual Fmx::Uxlsbaserecords::TCellRecord* __fastcall ExtractOneRecord(void);
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TMulBlankRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : TMultipleValueRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TMulBlankRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TMulRKRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TMulRKRecord : public TMultipleValueRecord
{
	typedef TMultipleValueRecord inherited;
	
private:
	int CurrentCol;
	
public:
	virtual bool __fastcall Eof(void);
	virtual Fmx::Uxlsbaserecords::TCellRecord* __fastcall ExtractOneRecord(void);
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TMulRKRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : TMultipleValueRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TMulRKRecord(void) { }
	
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE bool __fastcall EncodeRK(const double Value, /* out */ int &RK);
extern DELPHI_PACKAGE bool __fastcall IsRK(const double Value);
}	/* namespace Uxlscellrecords */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_UXLSCELLRECORDS)
using namespace Fmx::Uxlscellrecords;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX)
using namespace Fmx;
#endif
#pragma pack(pop)
#pragma option pop

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