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

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

#ifndef Qimport3htmlHPP
#define Qimport3htmlHPP

#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 <System.IniFiles.hpp>
#include <Winapi.Windows.hpp>
#include <Winapi.ActiveX.hpp>
#include <System.Variants.hpp>
#include <System.SysUtils.hpp>
#include <System.Math.hpp>
#include <System.DateUtils.hpp>
#include <System.Win.ComObj.hpp>
#include <QImport3.hpp>
#include <QImport3StrTypes.hpp>
#include <QImport3MSHtmlTLB.hpp>
#include <QImport3WideStrUtils.hpp>
#include <QImport3Common.hpp>

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

namespace Qimport3html
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS THTMLCell;
class DELPHICLASS THTMLCellList;
class DELPHICLASS THTMLRow;
class DELPHICLASS THTMLRowList;
class DELPHICLASS THTMLTable;
class DELPHICLASS THTMLTableList;
class DELPHICLASS THTMLFile;
class DELPHICLASS TQImport3HTML;
class DELPHICLASS TDocLoadController;
class DELPHICLASS TDefault;
//-- type declarations -------------------------------------------------------
class PASCALIMPLEMENTATION THTMLCell : public System::Classes::TCollectionItem
{
	typedef System::Classes::TCollectionItem inherited;
	
private:
	System::WideString FText;
	
public:
	__property System::WideString Text = {read=FText, write=FText};
public:
	/* TCollectionItem.Create */ inline __fastcall virtual THTMLCell(System::Classes::TCollection* Collection) : System::Classes::TCollectionItem(Collection) { }
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~THTMLCell() { }
	
};


class PASCALIMPLEMENTATION THTMLCellList : public System::Classes::TCollection
{
	typedef System::Classes::TCollection inherited;
	
public:
	THTMLCell* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE THTMLCell* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, THTMLCell* const Value);
	
public:
	HIDESBASE THTMLCell* __fastcall Add();
	__property THTMLCell* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Create */ inline __fastcall THTMLCellList(System::Classes::TCollectionItemClass ItemClass) : System::Classes::TCollection(ItemClass) { }
	/* TCollection.Destroy */ inline __fastcall virtual ~THTMLCellList() { }
	
};


class PASCALIMPLEMENTATION THTMLRow : public System::Classes::TCollectionItem
{
	typedef System::Classes::TCollectionItem inherited;
	
private:
	THTMLCellList* FCells;
	
public:
	__fastcall virtual THTMLRow(System::Classes::TCollection* Collection);
	__fastcall virtual ~THTMLRow();
	__property THTMLCellList* Cells = {read=FCells};
};


class PASCALIMPLEMENTATION THTMLRowList : public System::Classes::TCollection
{
	typedef System::Classes::TCollection inherited;
	
public:
	THTMLRow* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE THTMLRow* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, THTMLRow* const Value);
	
public:
	HIDESBASE THTMLRow* __fastcall Add();
	__property THTMLRow* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Create */ inline __fastcall THTMLRowList(System::Classes::TCollectionItemClass ItemClass) : System::Classes::TCollection(ItemClass) { }
	/* TCollection.Destroy */ inline __fastcall virtual ~THTMLRowList() { }
	
};


class PASCALIMPLEMENTATION THTMLTable : public System::Classes::TCollectionItem
{
	typedef System::Classes::TCollectionItem inherited;
	
private:
	THTMLRowList* FRows;
	void __fastcall SetRows(THTMLRowList* const Value);
	
public:
	__fastcall virtual THTMLTable(System::Classes::TCollection* Collection);
	__fastcall virtual ~THTMLTable();
	__property THTMLRowList* Rows = {read=FRows, write=SetRows};
};


class PASCALIMPLEMENTATION THTMLTableList : public System::Classes::TCollection
{
	typedef System::Classes::TCollection inherited;
	
public:
	THTMLTable* operator[](int Index) { return this->Items[Index]; }
	
private:
	HIDESBASE THTMLTable* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, THTMLTable* const Value);
	
public:
	HIDESBASE THTMLTable* __fastcall Add();
	__property THTMLTable* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Create */ inline __fastcall THTMLTableList(System::Classes::TCollectionItemClass ItemClass) : System::Classes::TCollection(ItemClass) { }
	/* TCollection.Destroy */ inline __fastcall virtual ~THTMLTableList() { }
	
};


class PASCALIMPLEMENTATION THTMLFile : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	System::UnicodeString FFileName;
	bool FLoaded;
	THTMLTableList* FTableList;
	
public:
	__fastcall THTMLFile();
	__fastcall virtual ~THTMLFile();
	void __fastcall Load(const System::Word LoadingTimeOut, const int ARowCount = 0x0);
	void __fastcall Clear();
	__property System::UnicodeString FileName = {read=FFileName, write=FFileName};
	__property THTMLTableList* TableList = {read=FTableList};
};


class PASCALIMPLEMENTATION TQImport3HTML : public Qimport3::TQImport3
{
	typedef Qimport3::TQImport3 inherited;
	
private:
	THTMLFile* FHTML;
	int FCounter;
	int FTableNumber;
	bool FExternalHTMLFile;
	System::Word FLoadingTimeOut;
	void __fastcall SetTableNumber(const int Value);
	
protected:
	virtual void __fastcall DoBeforeImport();
	virtual void __fastcall StartImport();
	virtual bool __fastcall CheckCondition();
	virtual bool __fastcall Skip();
	virtual void __fastcall ChangeCondition();
	virtual void __fastcall FinishImport();
	virtual void __fastcall DoAfterImport();
	virtual void __fastcall FillImportRow();
	virtual Qimport3::TQImportResult __fastcall ImportData();
	virtual void __fastcall DoLoadConfiguration(System::Inifiles::TIniFile* IniFile);
	virtual void __fastcall DoSaveConfiguration(System::Inifiles::TIniFile* IniFile);
	__property THTMLFile* HTML = {read=FHTML, write=FHTML};
	
public:
	__fastcall virtual TQImport3HTML(System::Classes::TComponent* AOwner);
	__property System::Word LoadingTimeOut = {read=FLoadingTimeOut, write=FLoadingTimeOut, default=0};
	
__published:
	__property FileName = {default=0};
	__property SkipFirstRows = {default=0};
	__property int TableNumber = {read=FTableNumber, write=SetTableNumber, default=0};
public:
	/* TQImport3.Destroy */ inline __fastcall virtual ~TQImport3HTML() { }
	
};


class PASCALIMPLEMENTATION TDocLoadController : public System::TInterfacedObject
{
	typedef System::TInterfacedObject inherited;
	
public:
	HRESULT __stdcall GetTypeInfoCount(/* out */ int &Count);
	HRESULT __stdcall GetTypeInfo(int Index, int LocaleID, /* out */ void *TypeInfo);
	HRESULT __stdcall GetIDsOfNames(const GUID &IID, void * Names, int NameCount, int LocaleID, void * DispIDs);
	HRESULT __stdcall Invoke(int DispID, const GUID &IID, int LocaleID, System::Word Flags, void *Params, void * VarResult, void * ExcepInfo, void * ArgErr);
	HRESULT __stdcall SaveObject();
	HRESULT __stdcall GetMoniker(int dwAssign, int dwWhichMoniker, /* out */ _di_IMoniker &mk);
	HRESULT __stdcall GetContainer(/* out */ _di_IOleContainer &container);
	HRESULT __stdcall ShowObject();
	HRESULT __stdcall OnShowWindow(System::LongBool fShow);
	HRESULT __stdcall RequestNewObjectLayout();
public:
	/* TObject.Create */ inline __fastcall TDocLoadController() : System::TInterfacedObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TDocLoadController() { }
	
private:
	void *__IOleClientSite;	// IOleClientSite 
	void *__IDispatch;	// IDispatch 
	
public:
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000118-0000-0000-C000-000000000046}
	operator _di_IOleClientSite()
	{
		_di_IOleClientSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleClientSite*(void) { return (IOleClientSite*)&__IOleClientSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00020400-0000-0000-C000-000000000046}
	operator _di_IDispatch()
	{
		_di_IDispatch intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IDispatch*(void) { return (IDispatch*)&__IDispatch; }
	#endif
	
};


class PASCALIMPLEMENTATION TDefault : public System::TObject
{
	typedef System::TObject inherited;
	
public:
	/* TObject.Create */ inline __fastcall TDefault() : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TDefault() { }
	
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE System::WideString __fastcall SafeUtf8DecodeEx(const System::AnsiString Source, bool RaiseOnError = false);
}	/* namespace Qimport3html */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_QIMPORT3HTML)
using namespace Qimport3html;
#endif
#pragma pack(pop)
#pragma option pop

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