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

// (DO NOT EDIT: machine generated header) 'SMIVCalendar.pas' rev: 23.00 (Win32)

#ifndef SmivcalendarHPP
#define SmivcalendarHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <Winapi.Windows.hpp>	// Pascal unit
#include <SMCells.hpp>	// Pascal unit

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

namespace Smivcalendar
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TSMIVCField;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TSMIVCField : public System::TObject
{
	typedef System::TObject inherited;
	
public:
	System::UnicodeString FieldName;
	int Length;
	Smcells::TSMICellType FieldType;
public:
	/* TObject.Create */ inline __fastcall TSMIVCField(void) : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TSMIVCField(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TSMIVCFields;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TSMIVCFields : public System::Classes::TList
{
	typedef System::Classes::TList inherited;
	
public:
	__fastcall virtual ~TSMIVCFields(void);
	virtual void __fastcall Clear(void);
	int __fastcall GetIndexByFieldName(const System::UnicodeString Value);
public:
	/* TObject.Create */ inline __fastcall TSMIVCFields(void) : System::Classes::TList() { }
	
};

#pragma pack(pop)

class DELPHICLASS TSMIVCalendar;
class PASCALIMPLEMENTATION TSMIVCalendar : public Smcells::TSpreadSheetFile
{
	typedef Smcells::TSpreadSheetFile inherited;
	
private:
	TSMIVCFields* lstFields;
	
protected:
	System::Classes::TStrings* lstItems;
	
public:
	__fastcall virtual TSMIVCalendar(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TSMIVCalendar(void);
	virtual void __fastcall LoadFromStream(System::Classes::TStream* AStream);
	virtual void __fastcall LoadFromFile(const System::WideString FileName);
	virtual void __fastcall BeforeLoad(void);
	virtual void __fastcall AfterLoad(void);
	virtual bool __fastcall LoadRecord(int RecNo);
	virtual int __fastcall FindColumn(const System::UnicodeString AFieldName);
	virtual void __fastcall FillColumnList(System::Classes::TStrings* lst, const System::UnicodeString strFieldList);
	__property TSMIVCFields* Fields = {read=lstFields};
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Smivcalendar */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_SMIVCALENDAR)
using namespace Smivcalendar;
#endif
#pragma pack(pop)
#pragma option pop

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