abstypes.hpp

来自「Absolute Database 5.12 src. Absolute Da」· HPP 代码 · 共 749 行 · 第 1/2 页

HPP
749
字号
typedef TABSKeyBuffer *PABSKeyBuffer;

#pragma pack(push,1)
struct TABSKeyBuffer
{
	
public:
	bool Modified;
	bool Exclusive;
	int FieldCount;
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct TABSNavigationInfo
{
	
public:
	TABSGetRecordMode GetRecordMode;
	int IndexID;
	#pragma pack(push,1)
	TABSPageItemID RecordID;
	#pragma pack(pop)
	char *RecordBuffer;
	bool FirstPosition;
	bool LastPosition;
	TABSGetRecordResult GetRecordResult;
} ;
#pragma pack(pop)

#pragma option push -b-
enum TABSDateTimeExtractField { dtefYear, dtefMonth, dtefDay, dtefHour, dtefMinute, dtefSecond };
#pragma option pop

class DELPHICLASS TABSIndexPositionCache;
class PASCALIMPLEMENTATION TABSIndexPositionCache : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	void *Position;
	int IndexID;
	#pragma pack(push,1)
	TABSPageItemID RecordID;
	#pragma pack(pop)
	int TableState;
	__fastcall TABSIndexPositionCache(void);
	__fastcall virtual ~TABSIndexPositionCache(void);
};


class DELPHICLASS TABSScanSearchCondition;
class PASCALIMPLEMENTATION TABSScanSearchCondition : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	void *Expression;
	TABSSearchCondition Condition;
	char *KeyRecordBuffer;
	int KeyRecordBufferSize;
	int KeyFieldCount;
	int IndexID;
	bool CreatedFromExpression;
	Classes::TList* ParentExpressions;
	Classes::TList* ParentExpressionNodes;
	bool FExternalKeyRecordBuffer;
	bool PartialCompare;
	void __fastcall ClearKeyRecordBuffer(void);
	__fastcall TABSScanSearchCondition(bool ExternalKeyRecordBuffer);
	__fastcall virtual ~TABSScanSearchCondition(void);
	void __fastcall Assign(TABSScanSearchCondition* ScanSearchCondition);
};


#pragma pack(push,1)
struct TABSExtractedConditionInfo
{
	
public:
	char *KeyRecordBuffer;
	void *ExtractedExpressionNode;
	void *Expression;
} ;
#pragma pack(pop)

typedef TABSExtractedConditionInfo *PABSExtractedConditionInfo;

typedef DynamicArray<TABSScanSearchCondition* >  ABSTypes__4;

class DELPHICLASS TABSScanSearchConditionArray;
class PASCALIMPLEMENTATION TABSScanSearchConditionArray : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	DynamicArray<TABSScanSearchCondition* >  Items;
	int Count;
	__fastcall TABSScanSearchConditionArray(void);
	__fastcall virtual ~TABSScanSearchConditionArray(void);
	void __fastcall Delete(int ItemNo);
	void __fastcall AddExpression(void * Expression);
	void __fastcall AddCondition(TABSScanSearchCondition* ScanSearchCondition);
	
private:
	void __fastcall TryToExtendMultiFieldIndexCondition(int ConditionNo, void * IndexDef, Classes::TList* Expressions);
	
public:
	void __fastcall CreateIndexScanConditionsFromExpressions(void * IndexDefs, int SessionID);
	void __fastcall RemoveUnusedConditionsCreatedFromExpressions(int &ScanConditionNo, int &ScanEndConditionNo);
	void __fastcall ExtractChosenConditionsFromExpressions(int ScanConditionNo, int ScanEndConditionNo);
	void __fastcall ReturnExtractedConditionsToExpressions(int ScanConditionNo, int ScanEndConditionNo);
};


struct TABSSortSpecification
{
	
public:
	AnsiString TableName;
	AnsiString ColumnName;
	bool Descending;
} ;

typedef int *PABSDate;

typedef int TABSDate;

typedef int *PABSTime;

typedef int TABSTime;

struct TABSDateTime;
typedef TABSDateTime *PABSDateTime;

#pragma pack(push,1)
struct TABSDateTime
{
	
public:
	int Date;
	int Time;
} ;
#pragma pack(pop)

typedef Word *PABSLogical;

typedef Word TABSLogical;

typedef double *PABSCurrency;

typedef double TABSCurrency;

typedef GUID *PABSGuid;

typedef GUID  TABSGuid;

class DELPHICLASS TABSIntegerArray;
class PASCALIMPLEMENTATION TABSIntegerArray : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	DynamicArray<int >  Items;
	int ItemCount;
	int AllocBy;
	int deAllocBy;
	int MaxAllocBy;
	int AllocItemCount;
	__fastcall TABSIntegerArray(int size, int DefaultAllocBy, int MaximumAllocBy);
	__fastcall virtual ~TABSIntegerArray(void);
	void __fastcall SetSize(int newSize);
	void __fastcall Assign(TABSIntegerArray* v);
	void __fastcall Append(int value);
	void __fastcall Insert(int ItemNo, int value);
	void __fastcall Delete(int ItemNo);
	void __fastcall MoveTo(int itemNo, int newItemNo);
	void __fastcall CopyTo(int * ar, const int ar_Size, int itemNo, int iCount);
	bool __fastcall IsValueExists(int value);
	int __fastcall IndexOf(int value);
};

typedef TABSIntegerArray TABSPagesArray;

typedef DynamicArray<int >  ABSTypes__6;

class DELPHICLASS TABSSortedStringPtrArray;
class PASCALIMPLEMENTATION TABSSortedStringPtrArray : public Classes::TList 
{
	typedef Classes::TList inherited;
	
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TABSSortedStringPtrArray(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TABSSortedStringPtrArray(void) : Classes::TList() { }
	#pragma option pop
	
};


#pragma pack(push,1)
struct TABSBLOBDescriptor
{
	
public:
	int BlockSize;
	__int64 NumBlocks;
	__int64 UncompressedSize;
	__int64 StartPosition;
	Byte CompressionAlgorithm;
	Byte CompressionMode;
	Byte Reserved[2];
} ;
#pragma pack(pop)

typedef TABSBLOBDescriptor *PABSBLOBDescriptor;

#pragma pack(push,1)
struct TABSPartialBLOBDescriptor
{
	
public:
	int NumBlocks;
	__int64 UncompressedSize;
} ;
#pragma pack(pop)

typedef TABSPartialBLOBDescriptor *PABSPartialBLOBDescriptor;

#pragma pack(push,1)
struct TABSPartialTemporaryBLOBDescriptor
{
	
public:
	int NumBlocks;
	__int64 UncompressedSize;
	__int64 CompressedSize;
} ;
#pragma pack(pop)

typedef TABSPartialTemporaryBLOBDescriptor *PABSPartialTemporaryBLOBDescriptor;

#pragma pack(push,1)
struct TABSCompressedStreamBlockHeader
{
	
public:
	int CompressedSize;
	int UncompressedSize;
	unsigned Crc32;
	__int64 OffsetToNextHeader;
} ;
#pragma pack(pop)

typedef DynamicArray<TABSCompressedStreamBlockHeader >  ABSTypes__9;

typedef DynamicArray<__int64 >  ABSTypes__01;

class DELPHICLASS TABSCompressedStreamBlockHeadersArray;
class PASCALIMPLEMENTATION TABSCompressedStreamBlockHeadersArray : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	__int64 AllocBy;
	__int64 DeAllocBy;
	__int64 MaxAllocBy;
	__int64 AllocItemCount;
	
public:
	DynamicArray<TABSCompressedStreamBlockHeader >  Items;
	DynamicArray<__int64 >  Positions;
	__int64 ItemCount;
	__fastcall TABSCompressedStreamBlockHeadersArray(void);
	__fastcall virtual ~TABSCompressedStreamBlockHeadersArray(void);
	void __fastcall SetSize(__int64 NewSize);
	void __fastcall AppendItem(const TABSCompressedStreamBlockHeader &Value, __int64 Pos);
	int __fastcall FindPosition(__int64 Pos);
};


#pragma pack(push,1)
struct TABSDiskBLOBCache
{
	
public:
	int NumBlocks;
	__int64 UncompressedSize;
	bool Modified;
	char *BlobData;
} ;
#pragma pack(pop)

typedef TABSDiskBLOBCache *PABSDiskBLOBCache;

typedef PABSDiskBLOBCache *PPABSDiskBLOBCache;

#pragma pack(push,1)
struct TABSDiskBLOBHeader
{
	
public:
	Word BlobID;
	int NumBlocks;
	__int64 CompressedSize;
	__int64 UncompressedSize;
} ;
#pragma pack(pop)

typedef TABSDiskBLOBHeader *PABSDiskBLOBHeader;

#pragma pack(push,1)
struct TABSPageListLink
{
	
public:
	int StartPageNo;
	Word StartOffset;
	int ItemCount;
} ;
#pragma pack(pop)

class DELPHICLASS TABSBitsArray;
class PASCALIMPLEMENTATION TABSBitsArray : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	char *FBits;
	int FBitCount;
	int FNonZeroBitCount;
	Byte FBitsTable[256];
	
protected:
	int __fastcall GetNonZeroBitCount(void);
	void __fastcall SetSize(int NewSize);
	
public:
	void __fastcall LoadFromStream(Classes::TStream* Stream);
	void __fastcall SaveToStream(Classes::TStream* Stream);
	__fastcall TABSBitsArray(void);
	__fastcall virtual ~TABSBitsArray(void);
	bool __fastcall GetBit(int BitNo);
	void __fastcall SetBit(int BitNo, bool Value);
	int __fastcall GetBitNoByBitPosition(int BitPosition);
	int __fastcall GetBitPositionByBitNo(int BitNo);
	void __fastcall SetAllBits(void);
	bool __fastcall FindBit(bool Value, int &BitNo);
	bool __fastcall Find(bool Restart, bool GoForward, int CurBitNo, int &FoundBitNo);
	__property int Size = {read=FBitCount, write=SetSize, nodefault};
	__property int NonZeroBitCount = {read=FNonZeroBitCount, nodefault};
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE bool LocksCompatible[7][7];
extern PACKAGE bool __fastcall CheckNullFlag(int BitNo, char * NullFlags);
extern PACKAGE void __fastcall SetNullFlag(bool ToSet, int BitNo, char * NullFlags);
extern PACKAGE AnsiString __fastcall GetTemporaryName(AnsiString Prefix);
extern PACKAGE AnsiString __fastcall BracketFieldName(AnsiString name);

}	/* namespace Abstypes */
using namespace Abstypes;
#pragma pack(pop)
#pragma option pop

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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?