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

// (DO NOT EDIT: machine generated header) 'QImport3XLS.pas' rev: 34.00 (Windows)

#ifndef Qimport3xlsHPP
#define Qimport3xlsHPP

#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>
#include <SysInit.hpp>
#include <System.Classes.hpp>
#include <Data.DB.hpp>
#include <System.IniFiles.hpp>
#include <System.Math.hpp>
#include <System.SysUtils.hpp>
#include <QImport3.hpp>
#include <QImport3XLSFile.hpp>
#include <QImport3XLSMapParser.hpp>
#include <QImport3Common.hpp>

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

namespace Qimport3xls
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TQImport3XLS;
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TQImportRange : unsigned char { qirMax, qirMin };

enum DECLSPEC_DENUM TQImportSheetIDType : unsigned char { qstNumber, qstName };

class PASCALIMPLEMENTATION TQImport3XLS : public Qimport3::TQImport3
{
	typedef Qimport3::TQImport3 inherited;
	
private:
	Qimport3xlsfile::TxlsFile* FXLS;
	Qimport3xlsmapparser::TMapRowList* FMapRowList;
	int FMax;
	int FMin;
	TQImportRange FImportRange;
	TQImportSheetIDType FDefaultSheetIDType;
	int FDefaultSheetNumber;
	System::UnicodeString FDefaultSheetName;
	System::Classes::TStrings* FRow;
	int FTotal;
	int FCounter;
	
protected:
	virtual void __fastcall DoBeforeImport();
	virtual void __fastcall DoAfterImport();
	virtual void __fastcall StartImport();
	virtual bool __fastcall CheckCondition();
	virtual bool __fastcall Skip();
	virtual void __fastcall FillImportRow();
	virtual Qimport3::TQImportResult __fastcall ImportData();
	virtual void __fastcall ChangeCondition();
	virtual void __fastcall FinishImport();
	virtual void __fastcall DoLoadConfiguration(System::Inifiles::TIniFile* IniFile);
	virtual void __fastcall DoSaveConfiguration(System::Inifiles::TIniFile* IniFile);
	
public:
	__fastcall virtual TQImport3XLS(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TQImport3XLS();
	
__published:
	__property FileName = {default=0};
	__property SkipFirstRows = {default=0};
	__property SkipFirstCols = {default=0};
	__property TQImportRange ImportRange = {read=FImportRange, write=FImportRange, default=0};
	__property TQImportSheetIDType DefaultSheetIDType = {read=FDefaultSheetIDType, write=FDefaultSheetIDType, default=0};
	__property int DefaultSheetNumber = {read=FDefaultSheetNumber, write=FDefaultSheetNumber, default=1};
	__property System::UnicodeString DefaultSheetName = {read=FDefaultSheetName, write=FDefaultSheetName};
};


//-- var, const, procedure ---------------------------------------------------
}	/* namespace Qimport3xls */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_QIMPORT3XLS)
using namespace Qimport3xls;
#endif
#pragma pack(pop)
#pragma option pop

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