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

// (DO NOT EDIT: machine generated header) 'ABSConverts.pas' rev: 35.00 (Windows)

#ifndef AbsconvertsHPP
#define AbsconvertsHPP

#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.SysUtils.hpp>
#include <Data.DB.hpp>
#include <Winapi.Windows.hpp>
#include <ABSTypes.hpp>
#include <ABSStrUtils.hpp>
#include <ABSExcept.hpp>
#include <ABSConst.hpp>

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

namespace Absconverts
{
//-- forward type declarations -----------------------------------------------
struct TSQLFieldType;
//-- type declarations -------------------------------------------------------
#pragma pack(push,1)
struct DECLSPEC_DRECORD TSQLFieldType
{
public:
	System::UnicodeString SqlName;
	Abstypes::TABSAdvancedFieldType AdvancedFieldType;
	Abstypes::TABSBaseFieldType BaseFieldType;
	Data::Db::TFieldType FieldType;
};
#pragma pack(pop)


typedef System::StaticArray<TSQLFieldType, 62> Absconverts__1;

//-- var, const, procedure ---------------------------------------------------
static const System::WideChar WildCardMultipleChar = (System::WideChar)(0x25);
static const System::WideChar WildCardSingleChar = (System::WideChar)(0x5f);
extern DELPHI_PACKAGE Absconverts__1 SQLFieldTypes;
extern DELPHI_PACKAGE Abstypes::TABSBaseFieldType __fastcall AdvancedFieldTypeToBaseFieldType(Abstypes::TABSAdvancedFieldType AdvancedFieldType);
extern DELPHI_PACKAGE Abstypes::TABSAdvancedFieldType __fastcall BaseFieldTypeToAdvancedFieldType(Abstypes::TABSBaseFieldType BaseFieldType);
extern DELPHI_PACKAGE Abstypes::TABSAdvancedFieldType __fastcall FieldTypeToABSAdvFieldType(Data::Db::TFieldType FieldType);
extern DELPHI_PACKAGE Data::Db::TFieldType __fastcall ABSAdvFieldTypeToFieldType(Abstypes::TABSAdvancedFieldType AdvancedFieldType);
extern DELPHI_PACKAGE System::UnicodeString __fastcall AftToStr(Abstypes::TABSAdvancedFieldType AdvancedFieldType);
extern DELPHI_PACKAGE Abstypes::TABSAdvancedFieldType __fastcall StrToAft(System::UnicodeString TypeName);
extern DELPHI_PACKAGE System::UnicodeString __fastcall BftToStr(Abstypes::TABSBaseFieldType BaseFieldType);
extern DELPHI_PACKAGE System::UnicodeString __fastcall FtToStr(Data::Db::TFieldType FieldType);
extern DELPHI_PACKAGE System::TDateTime __fastcall ABSDateToDate(int ABSDate)/* overload */;
extern DELPHI_PACKAGE int __fastcall DateToABSDate(System::TDateTime Date)/* overload */;
extern DELPHI_PACKAGE System::TDateTime __fastcall ABSTimeToTime(int ABSTime)/* overload */;
extern DELPHI_PACKAGE int __fastcall TimeToABSTime(System::TDateTime Time)/* overload */;
extern DELPHI_PACKAGE System::TDateTime __fastcall ABSDateTimeToDateTime(const Abstypes::TABSDateTime &ABSDateTime)/* overload */;
extern DELPHI_PACKAGE Abstypes::TABSDateTime __fastcall DateTimeToABSDateTime(System::TDateTime DateTime)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsBLOBFieldType(Abstypes::TABSBaseFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsBLOBFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsStringFieldType(Abstypes::TABSBaseFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsStringFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsWideStringFieldType(Abstypes::TABSBaseFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsWideStringFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsBytesFieldType(Abstypes::TABSBaseFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsBytesFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsAutoincFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsNumericFieldType(Abstypes::TABSBaseFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsNumericFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsDateTimeFieldType(Abstypes::TABSBaseFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsDateTimeFieldType(Abstypes::TABSAdvancedFieldType FieldType)/* overload */;
extern DELPHI_PACKAGE bool __fastcall IsSizebleFieldType(Abstypes::TABSAdvancedFieldType FieldType);
extern DELPHI_PACKAGE bool __fastcall IsConvertableFieldType(Abstypes::TABSAdvancedFieldType FieldType);
extern DELPHI_PACKAGE bool __fastcall IsStrMatchPattern(char * StrPtr, char * PatternPtr, bool IsPatternEscaped, char EscapeChar, bool bIgnoreCase);
extern DELPHI_PACKAGE bool __fastcall IsWideStrMatchPattern(System::WideChar * StrPtr, System::WideChar * PatternPtr, bool IsPatternEscaped, System::WideChar EscapeChar, bool bIgnoreCase);
extern DELPHI_PACKAGE void __fastcall AssignField(Data::Db::TField* SrcField, Data::Db::TField* DestField);
extern DELPHI_PACKAGE bool __fastcall ISODateStrToDate(const System::UnicodeString DateStr, System::TDateTime &Date);
extern DELPHI_PACKAGE bool __fastcall ISOTimeStrToTime(const System::UnicodeString TimeStr, System::TDateTime &Time);
extern DELPHI_PACKAGE bool __fastcall ISOTimeStampStrToDateTime(const System::UnicodeString TimeStampStr, System::TDateTime &DateTime);
}	/* namespace Absconverts */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_ABSCONVERTS)
using namespace Absconverts;
#endif
#pragma pack(pop)
#pragma option pop

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