亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memtabledataeh.hpp

?? 一個功能強大的DBGRID控件
?? HPP
?? 第 1 頁 / 共 4 頁
字號:
// CodeGear C++ Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Memtabledataeh.pas' rev: 11.00

#ifndef MemtabledataehHPP
#define MemtabledataehHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Ehlibvcl.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <Maskutils.hpp>	// Pascal unit
#include <Sqltimst.hpp>	// Pascal unit
#include <Fmtbcd.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <Contnrs.hpp>	// Pascal unit
#include <Dbcommon.hpp>	// Pascal unit
#include <Memtreeeh.hpp>	// Pascal unit

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

namespace Memtabledataeh
{
//-- type declarations -------------------------------------------------------
typedef DynamicArray<int >  TIntArray;

class DELPHICLASS TAutoIncrementEh;
class PASCALIMPLEMENTATION TAutoIncrementEh : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	int FStep;
	int FInitValue;
	void __fastcall SetInitValue(const int Value);
	
protected:
	int FCurValue;
	
public:
	__fastcall TAutoIncrementEh(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property int CurValue = {read=FCurValue, nodefault};
	int __fastcall Promote(void);
	void __fastcall Reset(void);
	
__published:
	__property int InitValue = {read=FInitValue, write=SetInitValue, default=-1};
	__property int Step = {read=FStep, write=FStep, default=-1};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TAutoIncrementEh(void) { }
	#pragma option pop
	
};


class DELPHICLASS TUpdateErrorEh;
class PASCALIMPLEMENTATION TUpdateErrorEh : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Sysutils::Exception* FException;
	
public:
	__fastcall TUpdateErrorEh(Sysutils::Exception* AException);
	__fastcall virtual ~TUpdateErrorEh(void);
	__property Sysutils::Exception* ExceptionObject = {read=FException};
};


#pragma option push -b-
enum TDataSetExprParserTypeEh { dsptFilterEh, dsptAggregateEh };
#pragma option pop

class DELPHICLASS TDataSetExprParserEh;
class DELPHICLASS TMemoryRecordEh;
class DELPHICLASS TRecordsViewEh;
class PASCALIMPLEMENTATION TDataSetExprParserEh : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Db::TDataSet* FDataSet;
	DynamicArray<Byte >  FExprData;
	int FExprDataSize;
	TDataSetExprParserTypeEh FExprParserType;
	
public:
	__fastcall TDataSetExprParserEh(Db::TDataSet* ADataSet, TDataSetExprParserTypeEh ExprParserType);
	void __fastcall ParseExpression(AnsiString Expr);
	bool __fastcall IsCurRecordInFilter(TMemoryRecordEh* Rec);
	Variant __fastcall CalcAggregateValue(TRecordsViewEh* RecordsView);
	bool __fastcall HasData(void);
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TDataSetExprParserEh(void) { }
	#pragma option pop
	
};


class DELPHICLASS TMTDataFieldEh;
class DELPHICLASS TMTDataStructEh;
class DELPHICLASS TMemTableDataEh;
class DELPHICLASS TRecordsListEh;
class DELPHICLASS TMTIndexesEh;
class DELPHICLASS TMTIndexEh;
#pragma option push -b-
enum TRecordsListNotification { rlnRecAddingEh, rlnRecAddedEh, rlnRecChangingEh, rlnRecChangedEh, rlnRecDeletingEh, rlnRecDeletedEh, rlnListChangingEh, rlnListChangedEh, rlnRecMarkingForDelEh, rlnRecMarkedForDelEh };
#pragma option pop

class PASCALIMPLEMENTATION TMTIndexesEh : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
private:
	TRecordsListEh* FRecList;
	HIDESBASE TMTIndexEh* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, const TMTIndexEh* Value);
	
protected:
	virtual void __fastcall RecordMoved(TMemoryRecordEh* Item, int OldIndex, int NewIndex);
	void __fastcall RLDataEvent(TMemoryRecordEh* MemRec, int Index, TRecordsListNotification Action);
	
public:
	__fastcall TMTIndexesEh(TRecordsListEh* ARecList);
	__fastcall virtual ~TMTIndexesEh(void);
	HIDESBASE TMTIndexEh* __fastcall Add(void);
	TMTIndexEh* __fastcall GetIndexForFields(AnsiString Fields);
	__property TMTIndexEh* Items[int Index] = {read=GetItem, write=SetItem};
};


typedef TMetaClass* TMemoryRecordEhClass;

typedef DynamicArray<Variant >  TRecDataValues;

typedef int __fastcall (__closure *TCompareRecords)(TMemoryRecordEh* Rec1, TMemoryRecordEh* Rec2, System::TObject* ParamSort);

class PASCALIMPLEMENTATION TRecordsListEh : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
public:
	TMemoryRecordEh* operator[](int Index) { return Rec[Index]; }
	
private:
	bool FCachedUpdates;
	Contnrs::TObjectList* FDeletedList;
	Contnrs::TObjectList* FDeltaList;
	TMTIndexesEh* FIndexes;
	TMetaClass* FItemClass;
	TMemTableDataEh* FMemTableData;
	unsigned FNewHashCode;
	Contnrs::TObjectList* FRecList;
	int FUpdateCount;
	int __fastcall GeRecValCount(void);
	int __fastcall GetCount(void);
	TMTDataStructEh* __fastcall GetDataStruct(void);
	TMemoryRecordEh* __fastcall GetRec(int Index);
	Variant __fastcall GetValue(int RecNo, int ValNo);
	bool __fastcall IsEmpty(void);
	void __fastcall ReadData(Classes::TReader* Reader);
	void __fastcall SetCachedUpdates(const bool Value);
	void __fastcall SetRec(int Index, const TMemoryRecordEh* Value);
	void __fastcall SetValue(int RecNo, int ValNo, const Variant &Value);
	void __fastcall WriteData(Classes::TWriter* Writer);
	
protected:
	int __fastcall AddInsertRecord(TMemoryRecordEh* Rec, int Index, bool Append, bool Fetching);
	TMemoryRecordEh* __fastcall Delete(int Index);
	unsigned __fastcall NewHashCode(void);
	void __fastcall ApplyUpdateFor(TMemoryRecordEh* Rec, Db::TUpdateStatus UpdateStatus);
	void __fastcall ApplyUpdates(TMemTableDataEh* AMemTableData);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	void __fastcall InitRecord(TRecDataValues RecValues);
	virtual void __fastcall Notify(TMemoryRecordEh* MemRec, int Index, TRecordsListNotification Action);
	virtual void __fastcall RecordMoved(TMemoryRecordEh* Item, int OldIndex, int NewIndex);
	void __fastcall ReIndexRecs(int FromIndex, int ToIndex);
	void __fastcall CheckForDestroyRecord(TMemoryRecordEh* Rec);
	void __fastcall FreeDeletedRecords(void);
	
public:
	__fastcall TRecordsListEh(TMemTableDataEh* AMemTableData);
	__fastcall virtual ~TRecordsListEh(void);
	int __fastcall AddRecord(TMemoryRecordEh* Rec);
	int __fastcall FetchRecord(TMemoryRecordEh* Rec);
	bool __fastcall HasCachedChanges(void);
	int __fastcall IndexOf(TMemoryRecordEh* Item);
	TMemoryRecordEh* __fastcall NewRecord(void);
	virtual void __fastcall BeginUpdate(void);
	void __fastcall CancelUpdates(void);
	void __fastcall CleanupChangedRecs(void);
	void __fastcall Clear(void);
	void __fastcall DeleteRecord(int Index);
	virtual void __fastcall EndUpdate(void);
	void __fastcall InsertRecord(int Index, TMemoryRecordEh* Rec);
	void __fastcall MergeChangeLog(void);
	void __fastcall Move(int CurIndex, int NewIndex);
	void __fastcall PersistDeleteRecord(int Index);
	void __fastcall PersistRemoveRecord(int Index);
	void __fastcall QuickSort(int L, int R, TCompareRecords Compare, System::TObject* ParamSort);
	void __fastcall RefreshRecord(int Index, TMemoryRecordEh* FromRec);
	void __fastcall RevertRecord(int Index);
	void __fastcall SetAutoIncValue(TMemoryRecordEh* Rec);
	void __fastcall SortData(TCompareRecords Compare, System::TObject* ParamSort);
	__property bool CachedUpdates = {read=FCachedUpdates, write=SetCachedUpdates, nodefault};
	__property int Count = {read=GetCount, nodefault};
	__property TMTDataStructEh* DataStruct = {read=GetDataStruct};
	__property Contnrs::TObjectList* DeltaList = {read=FDeltaList};
	__property TMTIndexesEh* Indexes = {read=FIndexes};
	__property TMemTableDataEh* MemTableData = {read=FMemTableData};
	__property TMemoryRecordEh* Rec[int Index] = {read=GetRec, write=SetRec/*, default*/};
	__property int RecValCount = {read=GeRecValCount, nodefault};
	__property Variant Value[int RecNo][int ValNo] = {read=GetValue, write=SetValue};
};


class DELPHICLASS TRecordsListNotificatorEh;
class PASCALIMPLEMENTATION TMemTableDataEh : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	TAutoIncrementEh* FAutoIncrement;
	TMTDataStructEh* FDataStruct;
	DynamicArray<int >  FIncFieldIndexes;
	TMTDataStructEh* FNewDataStruct;
	Contnrs::TObjectList* FNotificators;
	TRecordsListEh* FRecordsList;
	bool FRestructMode;
	bool __fastcall GetIsEmpty(void);
	void __fastcall AncestorNotFound(Classes::TReader* Reader, const AnsiString ComponentName, TMetaClass* ComponentClass, Classes::TComponent* &Component);
	void __fastcall CreateComponent(Classes::TReader* Reader, TMetaClass* ComponentClass, Classes::TComponent* &Component);
	void __fastcall ReadAutoIncCurValue(Classes::TReader* Reader);
	void __fastcall WriteAutoIncCurValue(Classes::TWriter* Writer);
	
protected:
	virtual TAutoIncrementEh* __fastcall GetAutoIncrement(void);
	virtual TMTDataStructEh* __fastcall GetDataStruct(void);
	virtual TRecordsListEh* __fastcall GetRecordsList(void);
	virtual void __fastcall AddNotificator(TRecordsListNotificatorEh* RecordsList);
	virtual void __fastcall ApplyUpdates(TMemTableDataEh* AMemTableData);
	virtual void __fastcall CheckInactive(void);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
	virtual void __fastcall Notify(TMemoryRecordEh* MemRec, int Index, TRecordsListNotification Action);
	virtual void __fastcall ReadState(Classes::TReader* Reader);
	virtual void __fastcall RecordMoved(TMemoryRecordEh* Item, int OldIndex, int NewIndex);
	void __fastcall RemoveNotificator(TRecordsListNotificatorEh* RecordsList);
	void __fastcall Restruct(void);
	virtual void __fastcall SetAutoIncrement(const TAutoIncrementEh* Value);
	virtual void __fastcall SetAutoIncValue(TMemoryRecordEh* Rec);
	virtual void __fastcall StructChanged(void);
	
public:
	__fastcall virtual TMemTableDataEh(Classes::TComponent* AOwner);
	__fastcall virtual ~TMemTableDataEh(void);
	virtual TMTDataStructEh* __fastcall BeginRestruct(void);
	virtual int __fastcall FetchRecords(int Count);
	virtual void __fastcall CancelRestruct(void);
	virtual void __fastcall CommitRestruct(void);
	virtual void __fastcall DestroyTable(void);
	__property TAutoIncrementEh* AutoIncrement = {read=GetAutoIncrement, write=SetAutoIncrement};
	__property TMTDataStructEh* DataStruct = {read=GetDataStruct};
	__property bool IsEmpty = {read=GetIsEmpty, nodefault};
	__property TRecordsListEh* RecordsList = {read=GetRecordsList};
};


typedef TMetaClass* TMTDataFieldClassEh;

class PASCALIMPLEMENTATION TMTDataStructEh : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
public:
	TMTDataFieldEh* operator[](int Index) { return DataFields[Index]; }
	
private:
	Contnrs::TObjectList* FList;
	TMemTableDataEh* FMemTableData;
	__int64 FNextFieldId;
	int __fastcall GetCount(void);
	TMTDataFieldEh* __fastcall GetDataField(int Index);
	
protected:
	DYNAMIC Classes::TComponent* __fastcall GetChildOwner(void);
	DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
	
public:
	__fastcall TMTDataStructEh(TMemTableDataEh* AMemTableData);
	__fastcall virtual ~TMTDataStructEh(void);
	TMTDataFieldEh* __fastcall CreateField(TMetaClass* FieldClass);
	TMTDataFieldEh* __fastcall FieldByName(const AnsiString FieldName);
	int __fastcall FieldIndex(const AnsiString FieldName);
	TIntArray __fastcall FieldsIndex(const AnsiString FieldNames);
	TMTDataFieldEh* __fastcall FindField(const AnsiString FieldName);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	void __fastcall BuildFieldDefsFromStruct(Db::TFieldDefs* FieldDefs);
	void __fastcall BuildStructFromFieldDefs(Db::TFieldDefs* FieldDefs);
	void __fastcall BuildStructFromFields(Db::TFields* Fields);
	void __fastcall CheckFieldName(const AnsiString FieldName);
	void __fastcall Clear(void);
	void __fastcall GetFieldList(Contnrs::TObjectList* List, const AnsiString FieldNames);
	void __fastcall InsertField(TMTDataFieldEh* Field);
	void __fastcall RemoveField(TMTDataFieldEh* Field);
	__property int Count = {read=GetCount, nodefault};
	__property TMTDataFieldEh* DataFields[int Index] = {read=GetDataField/*, default*/};
	__property TMemTableDataEh* MemTableData = {read=FMemTableData};
};


class PASCALIMPLEMENTATION TMTDataFieldEh : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	Classes::TAlignment FAlignment;
	bool FAutoIncrement;
	TMTDataStructEh* FDataStruct;
	AnsiString FDefaultExpression;
	AnsiString FDisplayLabel;
	int FDisplayWidth;
	AnsiString FEditMask;
	__int64 FFieldId;
	AnsiString FFieldName;
	bool FReadOnly;
	bool FRequired;
	int FSize;
	bool FVisible;
	void __fastcall SetDataStruct(const TMTDataStructEh* Value);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频欧美区| 91成人国产精品| 日韩激情一二三区| 亚洲人成在线播放网站岛国| 国产日韩欧美在线一区| 精品av综合导航| 久久免费电影网| 久久久久久久久99精品| 久久久久久久久久久黄色| 精品福利视频一区二区三区| 精品国产在天天线2019| 欧美不卡在线视频| 久久久99精品免费观看不卡| 欧美激情资源网| 综合色天天鬼久久鬼色| 一区二区三区欧美久久| 日韩成人伦理电影在线观看| 美女网站视频久久| 国产白丝网站精品污在线入口| 成人综合婷婷国产精品久久| eeuss鲁片一区二区三区| 97se亚洲国产综合自在线不卡| 一本到不卡免费一区二区| 欧美亚洲动漫精品| 精品成人一区二区三区| 中文字幕精品—区二区四季| 一区二区成人在线观看| 日本伊人色综合网| 国产精品羞羞答答xxdd| 91麻豆高清视频| 88在线观看91蜜桃国自产| 精品国产精品一区二区夜夜嗨| 中文字幕巨乱亚洲| 亚洲成av人片观看| 久久国产尿小便嘘嘘| 成人国产精品视频| 欧美另类久久久品| 国产欧美中文在线| 亚洲国产精品麻豆| 国产乱码字幕精品高清av | 久久精品夜色噜噜亚洲aⅴ| 欧美国产日韩在线观看| 亚洲免费色视频| 国产一区二区在线影院| 97se亚洲国产综合在线| 日韩美女天天操| 亚洲男女毛片无遮挡| 奇米色777欧美一区二区| 成人av资源在线| 欧美在线不卡一区| 国产欧美日韩中文久久| 午夜精品一区二区三区免费视频| 国产成人综合在线播放| 欧美午夜片在线观看| 国产人成亚洲第一网站在线播放| 天天色综合天天| 99久久精品免费看国产免费软件| 日韩视频免费观看高清完整版 | 6080日韩午夜伦伦午夜伦| 中文av一区二区| 韩国三级电影一区二区| 欧美福利一区二区| 一区二区三区在线不卡| www.久久精品| 国产精品乱码一区二三区小蝌蚪| 美国毛片一区二区| 欧美精品国产精品| 尤物在线观看一区| 91在线小视频| 国产精品久久免费看| 国产成人免费9x9x人网站视频| 欧美一级高清片在线观看| 亚洲成a人v欧美综合天堂| 欧洲一区二区三区免费视频| 综合av第一页| 91免费国产视频网站| 国产精品免费久久久久| 成人91在线观看| 自拍偷拍亚洲欧美日韩| 99精品视频中文字幕| 国产精品毛片久久久久久久| 国产东北露脸精品视频| 久久精品一区二区三区不卡| 国产成人啪免费观看软件| 国产午夜精品在线观看| 国产丶欧美丶日本不卡视频| 亚洲国产精品国自产拍av| 豆国产96在线|亚洲| 中文字幕一区日韩精品欧美| 色呦呦日韩精品| 亚洲一线二线三线视频| 欧美猛男超大videosgay| 三级精品在线观看| 精品国产乱码久久久久久免费| 国产福利精品一区| 亚洲欧洲日韩av| 欧美日韩黄视频| 日本不卡免费在线视频| 精品99一区二区三区| 成人av免费在线播放| 亚洲午夜免费视频| 精品免费99久久| 成人丝袜视频网| 亚洲一区二区免费视频| 日韩欧美久久久| www.亚洲国产| 日韩电影免费一区| 欧美激情一区二区三区全黄| 在线免费一区三区| 麻豆一区二区三区| 亚洲国产激情av| 欧美亚洲一区三区| 韩国欧美国产一区| 亚洲精品免费在线观看| 日韩免费视频一区二区| 暴力调教一区二区三区| 午夜激情一区二区| 国产欧美日韩视频在线观看| 欧美日韩一区二区在线观看| 国产精品99久久久久久久vr| 一区二区三区在线高清| 久久免费精品国产久精品久久久久| 日本韩国视频一区二区| 国产制服丝袜一区| 午夜视黄欧洲亚洲| 国产精品久久久久精k8| 欧美r级电影在线观看| 欧洲精品在线观看| 国产成人亚洲精品狼色在线| 日韩av电影天堂| 亚洲天堂中文字幕| 国产午夜亚洲精品理论片色戒| 777久久久精品| 日本高清不卡aⅴ免费网站| 久久精品国产精品亚洲精品 | 一本大道久久a久久精二百| 久久成人av少妇免费| 亚洲成人tv网| 一区二区三区美女视频| 国产精品久久午夜| 日本一区二区在线不卡| 精品国精品国产| 精品久久久久久亚洲综合网| 欧美精品v日韩精品v韩国精品v| 91丨九色丨国产丨porny| 国产成人免费视频网站高清观看视频| 免费的国产精品| 视频在线观看一区二区三区| 亚洲一区二区精品视频| 亚洲日本在线看| 综合久久给合久久狠狠狠97色 | 国产精品午夜久久| 久久亚洲一级片| 精品va天堂亚洲国产| 日韩免费一区二区| 精品国产一二三区| 精品免费日韩av| 久久久精品蜜桃| 国产日韩欧美高清在线| 国产偷国产偷亚洲高清人白洁| 久久这里只有精品6| 精品国产3级a| 日本一区二区免费在线观看视频| 日本一区二区免费在线观看视频| 中文无字幕一区二区三区| 国产日韩高清在线| 国产精品麻豆视频| 樱花影视一区二区| 午夜影院在线观看欧美| 蜜桃久久av一区| 国产精品一区二区三区99| 国产成人av网站| 99精品偷自拍| 欧美乱妇一区二区三区不卡视频| 欧美一区二区三区成人| xfplay精品久久| 亚洲视频一二三区| 亚洲成人在线免费| 久久av资源网| 成人av免费在线| 欧美性受xxxx| 久久影院电视剧免费观看| 国产精品你懂的在线欣赏| 亚洲第一福利视频在线| 黄色日韩三级电影| 91在线观看美女| 日韩欧美一区二区不卡| 国产精品天美传媒| 婷婷开心激情综合| 国产黄色成人av| 欧美日韩精品系列| 国产视频一区在线观看| 日韩毛片视频在线看| 免费观看在线综合| 91丨porny丨国产| 日韩女同互慰一区二区| 亚洲人xxxx| 国产一区二区看久久| 欧美日韩高清一区| 中文字幕第一区二区|