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

// (DO NOT EDIT: machine generated header) 'Smivcalendar.pas' rev: 21.00

#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 <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Smcells.hpp>	// Pascal unit

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

namespace Smivcalendar
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TSMIVCField;
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) { }
	
};


class DELPHICLASS TSMIVCFields;
class PASCALIMPLEMENTATION TSMIVCFields : public Classes::TList
{
	typedef 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) : Classes::TList() { }
	
};


class DELPHICLASS TSMIVCalendar;
class PASCALIMPLEMENTATION TSMIVCalendar : public Smcells::TSpreadSheetFile
{
	typedef Smcells::TSpreadSheetFile inherited;
	
private:
	TSMIVCFields* lstFields;
	
protected:
	Classes::TStrings* lstItems;
	
public:
	__fastcall virtual TSMIVCalendar(Classes::TComponent* AOwner);
	__fastcall virtual ~TSMIVCalendar(void);
	virtual void __fastcall LoadFromStream(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(Classes::TStrings* lst, const System::UnicodeString strFieldList);
	__property TSMIVCFields* Fields = {read=lstFields};
};


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

}	/* namespace Smivcalendar */
using namespace Smivcalendar;
#pragma pack(pop)
#pragma option pop

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