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

// (DO NOT EDIT: machine generated header) 'SMI2OLE.pas' rev: 24.00 (Win32)

#ifndef Smi2oleHPP
#define Smi2oleHPP

#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 <Winapi.Windows.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <Vcl.Graphics.hpp>	// Pascal unit
#include <Data.DB.hpp>	// Pascal unit
#include <SMIBase.hpp>	// Pascal unit
#include <System.Variants.hpp>	// Pascal unit

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

namespace Smi2ole
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TSMImportFromWord;
class PASCALIMPLEMENTATION TSMImportFromWord : public Smibase::TSMImportBaseComponent
{
	typedef Smibase::TSMImportBaseComponent inherited;
	
private:
	int intCurRow;
	int intLenField;
	System::Variant word;
	System::Variant doc;
	System::Variant table;
	
protected:
	virtual void __fastcall BeforeImport(void);
	virtual void __fastcall AfterImport(void);
	virtual void __fastcall GoFirst(void);
	virtual void __fastcall GoNext(void);
	virtual bool __fastcall NeedMore(void);
	virtual int __fastcall GetTotalCount(void);
	virtual System::Variant __fastcall GetFieldValue(const System::Variant &v);
	virtual bool __fastcall NotDefined(System::UnicodeString &strProperty);
	
public:
	__fastcall virtual TSMImportFromWord(System::Classes::TComponent* AOwner);
	__classmethod virtual System::UnicodeString __fastcall Extension();
	__classmethod virtual System::UnicodeString __fastcall FillFileFilters();
	virtual void __fastcall DetectAutoMapping(void);
	
__published:
	__property SourceFileName = {default=0};
	__property RowFirst = {default=1};
	__property RowLast = {default=2147483647};
public:
	/* TSMImportBaseComponent.Destroy */ inline __fastcall virtual ~TSMImportFromWord(void) { }
	
};


class DELPHICLASS TSMImportFromADODOA;
class PASCALIMPLEMENTATION TSMImportFromADODOA : public Smibase::TSMImportBaseComponent
{
	typedef Smibase::TSMImportBaseComponent inherited;
	
private:
	int intCurRow;
	
protected:
	System::Variant connection;
	System::Variant recordset;
	virtual void __fastcall GoFirst(void);
	virtual void __fastcall GoNext(void);
	virtual bool __fastcall NeedMore(void);
	virtual int __fastcall GetTotalCount(void);
	virtual System::Variant __fastcall GetFieldValue(const System::Variant &v);
	
__published:
	__property SourceFileName = {default=0};
	__property RowFirst = {default=1};
	__property RowLast = {default=2147483647};
public:
	/* TSMImportBaseComponent.Create */ inline __fastcall virtual TSMImportFromADODOA(System::Classes::TComponent* AOwner) : Smibase::TSMImportBaseComponent(AOwner) { }
	/* TSMImportBaseComponent.Destroy */ inline __fastcall virtual ~TSMImportFromADODOA(void) { }
	
};


class DELPHICLASS TSMImportFromAccess;
class PASCALIMPLEMENTATION TSMImportFromAccess : public TSMImportFromADODOA
{
	typedef TSMImportFromADODOA inherited;
	
private:
	System::UnicodeString FUserName;
	System::UnicodeString FPassword;
	System::Variant db;
	
protected:
	virtual void __fastcall BeforeImport(void);
	virtual void __fastcall AfterImport(void);
	virtual bool __fastcall NotDefined(System::UnicodeString &strProperty);
	
public:
	__fastcall virtual TSMImportFromAccess(System::Classes::TComponent* AOwner);
	__classmethod virtual System::UnicodeString __fastcall Extension();
	__classmethod virtual System::UnicodeString __fastcall FillFileFilters();
	virtual void __fastcall DetectAutoMapping(void);
	
__published:
	__property System::UnicodeString UserName = {read=FUserName, write=FUserName};
	__property System::UnicodeString Password = {read=FPassword, write=FPassword};
public:
	/* TSMImportBaseComponent.Destroy */ inline __fastcall virtual ~TSMImportFromAccess(void) { }
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall LoadWordPreview(System::TObject* grid, System::UnicodeString strFieldList, System::UnicodeString strFileName, int intFirstRow, int intLastRow, int intRowPreview, int intFieldNamesRow, bool IsASCII, System::Classes::TStrings* lstFields, Smibase::TPreviewCallback CallBack);
extern PACKAGE void __fastcall LoadAccessData(System::Variant &access, System::Variant &db, System::Variant &recordset, const System::UnicodeString DBName, const System::UnicodeString TableName, const System::UnicodeString UserName, const System::UnicodeString Password);
extern PACKAGE void __fastcall UnLoadAccessData(System::Variant &access, System::Variant &db, System::Variant &recordset, bool IsRecordSet);
extern PACKAGE void __fastcall LoadADO(System::Variant &connection, System::Variant &recordset, const System::UnicodeString SourceFileName, const System::UnicodeString SQL);
extern PACKAGE void __fastcall UnLoadADO(System::Variant &connection, System::Variant &recordset);
extern PACKAGE void __fastcall LoadAccessPreview(System::TObject* grid, System::UnicodeString strFieldList, System::UnicodeString strFileName, System::UnicodeString strTable, int intRowPreview, bool IsADO, bool IsASCII, System::Classes::TStrings* lstFields, Smibase::TPreviewCallback CallBack);
extern PACKAGE void __fastcall GetAccessTables(System::Classes::TStrings* lst, const System::UnicodeString DBName, const System::UnicodeString UserName, const System::UnicodeString Password);
extern PACKAGE void __fastcall GetAccessTableFields(System::Classes::TStrings* lst, const System::UnicodeString DBName, const System::UnicodeString TableName, const System::UnicodeString UserName, const System::UnicodeString Password);
extern PACKAGE void __fastcall GetAccessFieldInfo(const System::UnicodeString DBName, const System::UnicodeString TableName, const System::UnicodeString UserName, const System::UnicodeString Password, const System::UnicodeString FieldName, int &FieldType, int &FieldSize, System::UnicodeString &ValidationText, System::Variant &DefaultValue, bool &IsAutoInc, bool &Required, bool &Readonly, bool &AllowZeroLength, bool &Visible);
extern PACKAGE void __fastcall GetAccessTableIndexes(System::Classes::TStrings* lst, const System::UnicodeString DBName, const System::UnicodeString TableName, const System::UnicodeString UserName, const System::UnicodeString Password);
extern PACKAGE void __fastcall GetAccessIndexInfo(const System::UnicodeString DBName, const System::UnicodeString TableName, const System::UnicodeString UserName, const System::UnicodeString Password, const System::UnicodeString IndexName, bool &Foreign, bool &Unique, bool &Required, bool &Clustered, bool &IgnoreNulls, bool &Primary, System::UnicodeString &Fields);
extern PACKAGE void __fastcall GetAccessRelations(System::Classes::TStrings* lst, const System::UnicodeString DBName, const System::UnicodeString UserName, const System::UnicodeString Password);
extern PACKAGE void __fastcall GetAccessRelationInfo(const System::UnicodeString DBName, const System::UnicodeString UserName, const System::UnicodeString Password, const System::UnicodeString RelationName, System::UnicodeString &PrimaryTable, System::UnicodeString &ForeignTable, System::UnicodeString &Fields, System::UnicodeString &Attributes);
}	/* namespace Smi2ole */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_SMI2OLE)
using namespace Smi2ole;
#endif
#pragma pack(pop)
#pragma option pop

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