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

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

#ifndef Qimport3dbfHPP
#define Qimport3dbfHPP

#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 <Data.DB.hpp>
#include <System.SysUtils.hpp>
#include <QImport3.hpp>
#include <QImport3DBFFile.hpp>
#include <QImport3StrTypes.hpp>
#include <QImport3HashTable.hpp>
#include <QImport3Common.hpp>

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

namespace Qimport3dbf
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TQImport3DBF;
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TDBFCharSet : unsigned char { dcsNone, dcsLatin1, dcsArmscii8, dcsAscii, dcsCp850, dcsCp852, dcsCp866, dcsCp1250, dcsCp1251, dcsCp1256, dcsCp1257, dcsDec8, dcsGeostd8, dcsGreek, dcsHebrew, dcsHp8, dcsKeybcs2, dcsKoi8r, dcsKoi8u, dcsLatin2, dcsLatin5, dcsLatin7, dcsMacce, dcsMacroman, dcsSwe7, dcsUtf8, dcsLatin3, dcsLatin4, dcsLatin6, dcsLatin8, dcsIso8859_5, dcsIso8859_6, dcsCp1026, dcsCp1254, dcsCp1255, dcsCp1258, dcsCp437, dcsCp500, dcsCp737, dcsCp855, dcsCp856, dcsCp857, dcsCp860, dcsCp862, dcsCp863, dcsCp864, dcsCp865, dcsCp869, dcsCp874, dcsCp875, dcsIceland, dcsBig5, dcsKSC5601, dcsEUC, dcsGB2312, dcsSJIS_0208, dcsLatin9, dcsLatin13, dcsCp1252, dcsCp1253, dcsCp775, dcsCp858 };

class PASCALIMPLEMENTATION TQImport3DBF : public Qimport3::TQImport3
{
	typedef Qimport3::TQImport3 inherited;
	
private:
	Qimport3dbffile::TDBFRead* FDBF;
	Qimport3hashtable::TQImportHashTable* FSourceFieldsHash;
	bool FSkipDeleted;
	TDBFCharSet FCharSet;
	System::TDateTime __fastcall DBFStrToDateTime(const System::UnicodeString Str);
	
protected:
	virtual bool __fastcall AllowImportRowComplete();
	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 DoBeforeImport();
	virtual void __fastcall DoAfterImport();
	virtual void __fastcall DoLoadConfiguration(System::Inifiles::TIniFile* IniFile);
	virtual void __fastcall DoSaveConfiguration(System::Inifiles::TIniFile* IniFile);
	
public:
	__fastcall virtual TQImport3DBF(System::Classes::TComponent* AOwner);
	
__published:
	__property bool SkipDeleted = {read=FSkipDeleted, write=FSkipDeleted, default=1};
	__property SkipFirstRows = {default=0};
	__property TDBFCharSet CharSet = {read=FCharSet, write=FCharSet, default=0};
	__property FileName = {default=0};
public:
	/* TQImport3.Destroy */ inline __fastcall virtual ~TQImport3DBF() { }
	
};


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

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