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

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

#ifndef Qimport3encodingHPP
#define Qimport3encodingHPP

#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 <Winapi.Windows.hpp>
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>
#include <System.Math.hpp>
#include <QImport3StrTypes.hpp>
#include <QImport3Common.hpp>

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

namespace Qimport3encoding
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TQIEncoding;
class DELPHICLASS TQIMBCSEncoding;
class DELPHICLASS TQIUTF8Encoding;
class DELPHICLASS TQITableEncoding;
class DELPHICLASS TQIUnicodeEncoding;
class DELPHICLASS TQIBigEndianUnicodeEncoding;
class DELPHICLASS TQIUTF32Encoding;
class DELPHICLASS TQIBigEndianUTF32Encoding;
class DELPHICLASS EQIConversionError;
class DELPHICLASS EQICharsetEncodingError;
class DELPHICLASS TQICharsetAutoDetector;
class DELPHICLASS TQICharacter;
class DELPHICLASS TQIIterator;
class DELPHICLASS TQIBufferIterator;
class DELPHICLASS TQIStreamIterator;
class DELPHICLASS TEncodedReadStream;
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TQICharsetType : unsigned char { ctWinDefined, ctISO8859_1, ctArmscii8, ctAscii, ctCp850, ctCp852, ctCp866, ctCp1250, ctCp1251, ctCp1256, ctCp1257, ctDec8, ctGeostd8, ctISO8859_7, ctISO8859_8, ctHp8, ctKeybcs2, ctKoi8r, ctKoi8u, ctISO8859_2, ctISO8859_9, ctISO8859_13, ctMacce, ctMacroman, ctSwe7, ctUtf8, ctUtf16BE, ctUtf32, ctUnicode, ctISO8859_3, ctISO8859_4, ctISO8859_10, ctISO8859_14, ctISO8859_5, ctISO8859_6, ctCp1026, ctCp1254, ctCp1255, ctCp1258, ctCp437, ctCp500, ctCp737, ctCp855, ctCp856, ctCp857, ctCp860, ctCp862, ctCp863, ctCp864, ctCp865, ctCp869, ctCp874, ctCp875, ctIceland, ctBig5, ctKSC5601, ctEUC, ctGB2312, ctSJIS_0208, ctLatin9, ctLatin13, ctISO8859_15, ctCp1252, ctCp1253, ctCp775, ctCp858, ctCp932, ctTIS620, ctGBK, 
	ctGB18030 };

typedef System::StaticArray<System::UnicodeString, 70> Qimport3encoding__1;

typedef System::TArray__1<System::Byte> *PBytes;

class PASCALIMPLEMENTATION TQIEncoding : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	bool FIsSingleByte;
	int FMaxCharSize;
	virtual int __fastcall GetByteCount(System::WideChar * Chars, int CharCount) = 0 /* overload */;
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount) = 0 /* overload */;
	virtual int __fastcall GetCharCount(System::PByte Bytes, int ByteCount) = 0 /* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount) = 0 /* overload */;
	
public:
	__classmethod virtual System::TArray__1<System::Byte> __fastcall GetBOM();
	__classmethod TQIEncoding* __fastcall GetEncoding(int CodePage)/* overload */;
	__classmethod TQIEncoding* __fastcall GetEncoding(const TQICharsetType Charset)/* overload */;
	System::TArray__1<System::Byte> __fastcall GetBytes(const System::WideString S)/* overload */;
	System::WideString __fastcall GetString(const System::TArray__1<System::Byte> Bytes, int ByteIndex, int ByteCount);
	virtual int __fastcall GetRightTrimSize(System::PByte Buffer, int BufferLen);
	__property bool IsSingleByte = {read=FIsSingleByte, nodefault};
	__property int MaxCharSize = {read=FMaxCharSize, nodefault};
public:
	/* TObject.Create */ inline __fastcall TQIEncoding() : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TQIEncoding() { }
	
};


class PASCALIMPLEMENTATION TQIMBCSEncoding : public TQIEncoding
{
	typedef TQIEncoding inherited;
	
private:
	unsigned FCodePage;
	unsigned FMBToWCharFlags;
	unsigned FWCharToMBFlags;
	
protected:
	virtual int __fastcall GetByteCount(System::WideChar * Chars, int CharCount)/* overload */;
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetCharCount(System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount)/* overload */;
	
public:
	__fastcall TQIMBCSEncoding()/* overload */;
	__fastcall TQIMBCSEncoding(int CodePage)/* overload */;
	__fastcall TQIMBCSEncoding(int CodePage, int MBToWCharFlags, int WCharToMBFlags)/* overload */;
	virtual int __fastcall GetRightTrimSize(System::PByte Buffer, int BufferLen);
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIMBCSEncoding() { }
	
	/* Hoisted overloads: */
	
public:
	inline System::TArray__1<System::Byte> __fastcall  GetBytes(const System::WideString S){ return TQIEncoding::GetBytes(S); }
	
};


class PASCALIMPLEMENTATION TQIUTF8Encoding : public TQIMBCSEncoding
{
	typedef TQIMBCSEncoding inherited;
	
public:
	__classmethod virtual System::TArray__1<System::Byte> __fastcall GetBOM();
	virtual int __fastcall GetRightTrimSize(System::PByte Buffer, int BufferLen);
	__fastcall TQIUTF8Encoding();
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIUTF8Encoding() { }
	
};


typedef System::StaticArray<System::WideChar, 256> TArrCharOfWideChar;

typedef TArrCharOfWideChar *PArrCharOfWideChar;

class PASCALIMPLEMENTATION TQITableEncoding : public TQIEncoding
{
	typedef TQIEncoding inherited;
	
private:
	TQICharsetType FCharset;
	
protected:
	virtual int __fastcall GetByteCount(System::WideChar * Chars, int CharCount)/* overload */;
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetCharCount(System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount)/* overload */;
	
public:
	__fastcall TQITableEncoding(const TQICharsetType Charset);
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQITableEncoding() { }
	
	/* Hoisted overloads: */
	
public:
	inline System::TArray__1<System::Byte> __fastcall  GetBytes(const System::WideString S){ return TQIEncoding::GetBytes(S); }
	
};


class PASCALIMPLEMENTATION TQIUnicodeEncoding : public TQIEncoding
{
	typedef TQIEncoding inherited;
	
protected:
	virtual int __fastcall GetByteCount(System::WideChar * Chars, int CharCount)/* overload */;
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetCharCount(System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount)/* overload */;
	
public:
	__fastcall TQIUnicodeEncoding();
	__classmethod virtual System::TArray__1<System::Byte> __fastcall GetBOM();
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIUnicodeEncoding() { }
	
	/* Hoisted overloads: */
	
public:
	inline System::TArray__1<System::Byte> __fastcall  GetBytes(const System::WideString S){ return TQIEncoding::GetBytes(S); }
	
};


class PASCALIMPLEMENTATION TQIBigEndianUnicodeEncoding : public TQIUnicodeEncoding
{
	typedef TQIUnicodeEncoding inherited;
	
protected:
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount)/* overload */;
	
public:
	__classmethod virtual System::TArray__1<System::Byte> __fastcall GetBOM();
public:
	/* TQIUnicodeEncoding.Create */ inline __fastcall TQIBigEndianUnicodeEncoding() : TQIUnicodeEncoding() { }
	
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIBigEndianUnicodeEncoding() { }
	
	/* Hoisted overloads: */
	
public:
	inline System::TArray__1<System::Byte> __fastcall  GetBytes(const System::WideString S){ return TQIEncoding::GetBytes(S); }
	
};


class PASCALIMPLEMENTATION TQIUTF32Encoding : public TQIEncoding
{
	typedef TQIEncoding inherited;
	
protected:
	virtual int __fastcall GetByteCount(System::WideChar * Chars, int CharCount)/* overload */;
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetCharCount(System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount)/* overload */;
	
public:
	__fastcall TQIUTF32Encoding();
	__classmethod virtual System::TArray__1<System::Byte> __fastcall GetBOM();
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIUTF32Encoding() { }
	
	/* Hoisted overloads: */
	
public:
	inline System::TArray__1<System::Byte> __fastcall  GetBytes(const System::WideString S){ return TQIEncoding::GetBytes(S); }
	
};


class PASCALIMPLEMENTATION TQIBigEndianUTF32Encoding : public TQIUTF32Encoding
{
	typedef TQIUTF32Encoding inherited;
	
protected:
	virtual int __fastcall GetBytes(System::WideChar * Chars, int CharCount, System::PByte Bytes, int ByteCount)/* overload */;
	virtual int __fastcall GetChars(System::PByte Bytes, int ByteCount, System::WideChar * Chars, int CharCount)/* overload */;
	
public:
	__classmethod virtual System::TArray__1<System::Byte> __fastcall GetBOM();
public:
	/* TQIUTF32Encoding.Create */ inline __fastcall TQIBigEndianUTF32Encoding() : TQIUTF32Encoding() { }
	
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIBigEndianUTF32Encoding() { }
	
	/* Hoisted overloads: */
	
public:
	inline System::TArray__1<System::Byte> __fastcall  GetBytes(const System::WideString S){ return TQIEncoding::GetBytes(S); }
	
};


class PASCALIMPLEMENTATION EQIConversionError : public System::Sysutils::Exception
{
	typedef System::Sysutils::Exception inherited;
	
public:
	/* Exception.Create */ inline __fastcall EQIConversionError(const System::UnicodeString Msg) : System::Sysutils::Exception(Msg) { }
	/* Exception.CreateFmt */ inline __fastcall EQIConversionError(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High) : System::Sysutils::Exception(Msg, Args, Args_High) { }
	/* Exception.CreateRes */ inline __fastcall EQIConversionError(NativeUInt Ident)/* overload */ : System::Sysutils::Exception(Ident) { }
	/* Exception.CreateRes */ inline __fastcall EQIConversionError(System::PResStringRec ResStringRec)/* overload */ : System::Sysutils::Exception(ResStringRec) { }
	/* Exception.CreateResFmt */ inline __fastcall EQIConversionError(NativeUInt Ident, const System::TVarRec *Args, const int Args_High)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High) { }
	/* Exception.CreateResFmt */ inline __fastcall EQIConversionError(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High) { }
	/* Exception.CreateHelp */ inline __fastcall EQIConversionError(const System::UnicodeString Msg, int AHelpContext) : System::Sysutils::Exception(Msg, AHelpContext) { }
	/* Exception.CreateFmtHelp */ inline __fastcall EQIConversionError(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High, int AHelpContext) : System::Sysutils::Exception(Msg, Args, Args_High, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall EQIConversionError(NativeUInt Ident, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall EQIConversionError(System::PResStringRec ResStringRec, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall EQIConversionError(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall EQIConversionError(NativeUInt Ident, const System::TVarRec *Args, const int Args_High, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High, AHelpContext) { }
	/* Exception.Destroy */ inline __fastcall virtual ~EQIConversionError() { }
	
};


class PASCALIMPLEMENTATION EQICharsetEncodingError : public EQIConversionError
{
	typedef EQIConversionError inherited;
	
public:
	__fastcall EQICharsetEncodingError(const System::UnicodeString Msg);
public:
	/* Exception.CreateFmt */ inline __fastcall EQICharsetEncodingError(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High) : EQIConversionError(Msg, Args, Args_High) { }
	/* Exception.CreateRes */ inline __fastcall EQICharsetEncodingError(NativeUInt Ident)/* overload */ : EQIConversionError(Ident) { }
	/* Exception.CreateRes */ inline __fastcall EQICharsetEncodingError(System::PResStringRec ResStringRec)/* overload */ : EQIConversionError(ResStringRec) { }
	/* Exception.CreateResFmt */ inline __fastcall EQICharsetEncodingError(NativeUInt Ident, const System::TVarRec *Args, const int Args_High)/* overload */ : EQIConversionError(Ident, Args, Args_High) { }
	/* Exception.CreateResFmt */ inline __fastcall EQICharsetEncodingError(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High)/* overload */ : EQIConversionError(ResStringRec, Args, Args_High) { }
	/* Exception.CreateHelp */ inline __fastcall EQICharsetEncodingError(const System::UnicodeString Msg, int AHelpContext) : EQIConversionError(Msg, AHelpContext) { }
	/* Exception.CreateFmtHelp */ inline __fastcall EQICharsetEncodingError(const System::UnicodeString Msg, const System::TVarRec *Args, const int Args_High, int AHelpContext) : EQIConversionError(Msg, Args, Args_High, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall EQICharsetEncodingError(NativeUInt Ident, int AHelpContext)/* overload */ : EQIConversionError(Ident, AHelpContext) { }
	/* Exception.CreateResHelp */ inline __fastcall EQICharsetEncodingError(System::PResStringRec ResStringRec, int AHelpContext)/* overload */ : EQIConversionError(ResStringRec, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall EQICharsetEncodingError(System::PResStringRec ResStringRec, const System::TVarRec *Args, const int Args_High, int AHelpContext)/* overload */ : EQIConversionError(ResStringRec, Args, Args_High, AHelpContext) { }
	/* Exception.CreateResFmtHelp */ inline __fastcall EQICharsetEncodingError(NativeUInt Ident, const System::TVarRec *Args, const int Args_High, int AHelpContext)/* overload */ : EQIConversionError(Ident, Args, Args_High, AHelpContext) { }
	/* Exception.Destroy */ inline __fastcall virtual ~EQICharsetEncodingError() { }
	
};


class PASCALIMPLEMENTATION TQICharsetAutoDetector : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	bool FBOMDetected;
	bool __fastcall IsUTF8(System::Classes::TStream* Stream);
	bool __fastcall IsContainBOM(const System::TArray__1<System::Byte> Buffer, const System::TArray__1<System::Byte> BOM);
	
public:
	__fastcall TQICharsetAutoDetector();
	bool __fastcall Detect(System::Classes::TStream* Stream, TQICharsetType &Charset, bool BOMOnly = false);
	bool __fastcall DetectBOM(System::Classes::TStream* Stream, TQICharsetType &Charset);
	__property bool BOMDetected = {read=FBOMDetected, nodefault};
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQICharsetAutoDetector() { }
	
};


enum DECLSPEC_DENUM TQICharType : unsigned char { xctUnknown, xctChar, xctLower, xctGreater, xctLF, xctCR, xctSglQuote, xctDblQuote, xctAmpersand, xctSqBracketLeft, xctSqBracketRight, xctQuery, xctSlash, xctXclam, xctParensLeft, xctParensRight, xctDot, xctColon, xctComma, xctAt, xctAsterisk, xctPlus, xctMinus, xctEqual };

class PASCALIMPLEMENTATION TQICharacter : public System::TObject
{
	typedef System::TObject inherited;
	
public:
	__classmethod TQICharType __fastcall GetCharType(const System::WideChar C);
	__classmethod bool __fastcall IsBlankChar(const System::WideChar C);
	__classmethod bool __fastcall IsDecChar(const System::WideChar C);
	__classmethod bool __fastcall IsHexChar(const System::WideChar C);
	__classmethod bool __fastcall IsNumChar(const System::WideChar C);
	__classmethod bool __fastcall IsFirstIdentChar(const System::WideChar C);
	__classmethod bool __fastcall IsIdentChar(const System::WideChar C);
public:
	/* TObject.Create */ inline __fastcall TQICharacter() : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TQICharacter() { }
	
};


class PASCALIMPLEMENTATION TQIIterator : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	System::WideChar FPrevious;
	bool FUndo;
	System::WideChar __fastcall GetCurrent();
	TQICharType __fastcall GetCurrentType();
	
protected:
	int FBuffLen;
	int FIndex;
	virtual System::WideChar __fastcall DoGetCurrent() = 0 ;
	virtual bool __fastcall DoMoveNext();
	virtual bool __fastcall GetEOF();
	void __fastcall Reset();
	
public:
	__fastcall TQIIterator();
	bool __fastcall MoveNext();
	virtual int __fastcall ReadString(int Count, /* out */ System::WideString &Buffer)/* overload */;
	bool __fastcall Rollback();
	void __fastcall SkipBlanks();
	__property System::WideChar Current = {read=GetCurrent, nodefault};
	__property TQICharType CurrentType = {read=GetCurrentType, nodefault};
	__property bool EOF = {read=GetEOF, nodefault};
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIIterator() { }
	
};


class PASCALIMPLEMENTATION TQIBufferIterator : public TQIIterator
{
	typedef TQIIterator inherited;
	
private:
	System::WideChar *FBuffer;
	void __fastcall SetCount(const int Value);
	
protected:
	virtual System::WideChar __fastcall DoGetCurrent();
	virtual bool __fastcall DoMoveNext();
	
public:
	__fastcall TQIBufferIterator();
	__property System::WideChar * Buffer = {read=FBuffer, write=FBuffer};
	__property int Count = {read=FBuffLen, write=SetCount, nodefault};
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TQIBufferIterator() { }
	
};


class PASCALIMPLEMENTATION TQIStreamIterator : public TQIIterator
{
	typedef TQIIterator inherited;
	
	
private:
	typedef System::DynamicArray<System::WideChar> _TQIStreamIterator__1;
	
	
private:
	_TQIStreamIterator__1 FBuffer;
	TEncodedReadStream* FUnicodeStream;
	bool FInternalUnicodeStream;
	void __fastcall FillBuffer();
	
protected:
	virtual System::WideChar __fastcall DoGetCurrent();
	virtual bool __fastcall DoMoveNext();
	virtual bool __fastcall GetEOF();
	
public:
	__fastcall TQIStreamIterator(System::Classes::TStream* Source)/* overload */;
	__fastcall TQIStreamIterator(System::Classes::TStream* Source, TQICharsetType Charset)/* overload */;
	__fastcall TQIStreamIterator(System::Classes::TStream* Source, TQICharsetType Charset, unsigned BufferSize)/* overload */;
	__fastcall TQIStreamIterator(const System::UnicodeString FileName)/* overload */;
	__fastcall TQIStreamIterator(const System::UnicodeString FileName, TQICharsetType Charset)/* overload */;
	__fastcall TQIStreamIterator(const System::UnicodeString FileName, TQICharsetType Charset, unsigned BufferSize)/* overload */;
	__fastcall TQIStreamIterator(TEncodedReadStream* UnicodeStream, unsigned BufferSize)/* overload */;
	__fastcall virtual ~TQIStreamIterator();
};


class PASCALIMPLEMENTATION TEncodedReadStream : public System::Classes::TStream
{
	typedef System::Classes::TStream inherited;
	
private:
	System::Classes::TStream* FStream;
	TQICharsetType FCharset;
	TQIEncoding* FEncoding;
	System::Classes::TMemoryStream* FReadlnBuf;
	System::TArray__1<System::Byte> FInternalBuffer;
	bool FFromFile;
	int __fastcall InternalRead(int InternalBufLen, System::PByte BufPtr);
	
protected:
	HIDESBASE virtual __int64 __fastcall GetPosition();
	virtual __int64 __fastcall GetSize();
	
public:
	__fastcall TEncodedReadStream(System::Classes::TStream* Source)/* overload */;
	__fastcall TEncodedReadStream(System::Classes::TStream* Source, TQICharsetType Charset)/* overload */;
	__fastcall TEncodedReadStream(const System::UnicodeString FileName)/* overload */;
	__fastcall TEncodedReadStream(const System::UnicodeString FileName, TQICharsetType Charset)/* overload */;
	__fastcall virtual ~TEncodedReadStream();
	virtual int __fastcall Read(void *Buffer, int Count)/* overload */;
	virtual int __fastcall Seek(int Offset, System::Word Origin)/* overload */;
	System::WideString __fastcall Readln();
	bool __fastcall GetEof();
	__property TQICharsetType Charset = {read=FCharset, nodefault};
	/* Hoisted overloads: */
	
public:
	inline int __fastcall  Read(System::TArray__1<System::Byte> Buffer, int Offset, int Count){ return System::Classes::TStream::Read(Buffer, Offset, Count); }
	inline int __fastcall  Read(System::TArray__1<System::Byte> &Buffer, int Count){ return System::Classes::TStream::Read(Buffer, Count); }
	inline __int64 __fastcall  Seek(const __int64 Offset, System::Classes::TSeekOrigin Origin){ return System::Classes::TStream::Seek(Offset, Origin); }
	
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE System::StaticArray<int, 70> SystemCTNames;
extern DELPHI_PACKAGE Qimport3encoding__1 QICharsetTypeNames;
extern DELPHI_PACKAGE TQICharsetType __fastcall QICodePageToCharset(int Value);
extern DELPHI_PACKAGE TQICharsetType __fastcall GetWindowsCharset(void);
extern DELPHI_PACKAGE void __fastcall FillCharsetTypeList(System::Widestrings::TWideStrings* List);
extern DELPHI_PACKAGE bool __fastcall IsUnicodeQICharset(TQICharsetType Charset);
extern DELPHI_PACKAGE int __fastcall QICharsetToCodepage(const TQICharsetType Value);
extern DELPHI_PACKAGE TQICharsetType __fastcall QIAliasToCharsetType(const System::WideString Alias);
extern DELPHI_PACKAGE System::WideString __fastcall CharsetToWideString(const void *Buffer, int Count, const TQICharsetType Charset);
extern DELPHI_PACKAGE bool __fastcall DetectCharset(System::Classes::TStream* Stream, bool DiscoverCharset, /* out */ TQICharsetType &Charset);
extern DELPHI_PACKAGE void __fastcall SkipBOM(System::Classes::TStream* Stream, TQICharsetType Charset);
extern DELPHI_PACKAGE bool __fastcall IsBlankText(const System::WideString Text);
extern DELPHI_PACKAGE bool __fastcall IsNumberText(const System::WideString Text);
}	/* namespace Qimport3encoding */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_QIMPORT3ENCODING)
using namespace Qimport3encoding;
#endif
#pragma pack(pop)
#pragma option pop

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