亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
99国产精品国产精品毛片| 国产电影精品久久禁18| 色88888久久久久久影院野外| 久久久久久电影| 国产主播一区二区| 亚洲精品在线观看网站| 久久99久久久欧美国产| 91精品在线麻豆| 日韩激情在线观看| 欧美三级日韩在线| 婷婷综合另类小说色区| 欧美日韩一级二级| 午夜视频在线观看一区二区三区| 欧美日免费三级在线| 亚洲一区自拍偷拍| 欧美日韩国产首页| 图片区小说区区亚洲影院| 欧美区在线观看| 天堂成人免费av电影一区| 欧美绝品在线观看成人午夜影视| 亚洲午夜精品17c| 欧美三级在线视频| 丝袜美腿一区二区三区| 日韩欧美国产一区二区在线播放| 麻豆传媒一区二区三区| 久久综合色之久久综合| 国产a级毛片一区| 中文字幕一区二区三| 91丨porny丨户外露出| 亚洲欧美日本在线| 精品视频一区二区三区免费| 日韩—二三区免费观看av| 精品国产制服丝袜高跟| 国产一区亚洲一区| 国产精品久久久久久久蜜臀 | 五月天激情小说综合| 欧美日韩一区二区三区四区| 青青国产91久久久久久| 2020国产精品久久精品美国| 成人激情免费网站| 亚洲综合小说图片| 欧美一级xxx| 国产成人在线视频免费播放| 亚洲欧洲精品成人久久奇米网| 欧美最新大片在线看 | 亚洲精品国产精品乱码不99| 欧美综合在线视频| 另类小说一区二区三区| 日本一区二区免费在线观看视频| 91免费在线视频观看| 日韩精品一级二级| 国产日韩成人精品| 91国产免费观看| 蓝色福利精品导航| 日韩理论片网站| 日韩欧美的一区| 99精品视频一区| 日韩国产精品久久久| 久久久久久久久久久99999| 色综合色狠狠综合色| 奇米亚洲午夜久久精品| 国产视频亚洲色图| 欧美在线视频不卡| 国产精品一区二区视频| 亚洲精品国产成人久久av盗摄| 欧美一二三区精品| 99久久精品一区| 久色婷婷小香蕉久久| 一区二区中文字幕在线| 欧美日韩电影在线| 成人午夜精品在线| 日韩黄色一级片| 中文字幕一区视频| 精品国产精品网麻豆系列 | 蜜桃视频免费观看一区| 中文字幕制服丝袜一区二区三区 | 精品一区二区三区的国产在线播放| 中文字幕日韩精品一区| 欧美zozozo| 色女孩综合影院| 国产精品一区二区男女羞羞无遮挡 | 日韩手机在线导航| 99re这里只有精品首页| 久久精品国产99国产| 亚洲自拍偷拍av| 国产欧美日韩不卡| 日韩欧美在线不卡| 欧美伊人久久久久久久久影院 | 亚洲伦理在线精品| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲视频1区2区| 精品久久久久久综合日本欧美| 91福利国产成人精品照片| 国产成人在线免费观看| 日韩高清不卡一区二区三区| 一区二区三区日韩欧美精品| 国产蜜臀av在线一区二区三区| 欧美一级日韩免费不卡| 欧美性色黄大片| 色综合天天性综合| 国产不卡视频在线播放| 毛片一区二区三区| 午夜精品久久久久久久久| 亚洲人精品一区| 欧美国产禁国产网站cc| 精品成人佐山爱一区二区| 欧美日韩成人综合| 色婷婷av一区二区三区软件 | 亚洲国产精品成人综合| 精品国产制服丝袜高跟| 制服丝袜在线91| 欧美日韩一区三区| 在线精品视频免费播放| 93久久精品日日躁夜夜躁欧美| 国产91对白在线观看九色| 激情久久五月天| 另类小说一区二区三区| 美女诱惑一区二区| 日韩不卡免费视频| 五月婷婷激情综合| 亚洲高清视频的网址| 一区二区在线电影| 亚洲欧美激情插| 亚洲男帅同性gay1069| 亚洲欧美在线另类| 国产精品久久久久久久浪潮网站| 国产精品美女一区二区| 国产精品国产三级国产普通话蜜臀| 国产日韩欧美综合在线| 国产午夜三级一区二区三| 国产日韩精品视频一区| 中文字幕av免费专区久久| 国产精品国产三级国产有无不卡| 国产精品美女一区二区在线观看| 国产精品家庭影院| 亚洲精品你懂的| 一区二区三区欧美视频| 亚洲一二三四久久| 五月婷婷欧美视频| 另类小说一区二区三区| 国产一区二区调教| 国产jizzjizz一区二区| 99精品1区2区| 欧美性淫爽ww久久久久无| 欧美日韩日日骚| 欧美一区二区播放| 日韩午夜中文字幕| 久久网站热最新地址| 久久嫩草精品久久久精品| 国产精品色哟哟网站| 亚洲精品午夜久久久| 亚洲福利视频一区| 精油按摩中文字幕久久| 国产高清精品网站| 99精品久久久久久| 欧美色图一区二区三区| 欧美一级精品在线| 久久精品一区八戒影视| 亚洲欧美欧美一区二区三区| 亚洲成人福利片| 久久99久久久久| 岛国一区二区在线观看| 欧美在线免费观看视频| 日韩一区二区在线观看| 亚洲国产精品成人综合| 亚洲影视资源网| 激情综合一区二区三区| 不卡高清视频专区| 欧美日韩一区二区欧美激情| 欧美成人精品1314www| 国产精品区一区二区三| 亚洲午夜在线电影| 精品一区二区三区在线播放视频| 成人免费观看av| 精品视频在线免费观看| 久久久噜噜噜久久中文字幕色伊伊| 最新热久久免费视频| 午夜久久久影院| 国产精品亚洲一区二区三区妖精| 色综合天天天天做夜夜夜夜做| 日韩一区二区三区四区 | 亚洲欧美另类小说| 奇米综合一区二区三区精品视频| 国产不卡免费视频| 欧美日韩一级视频| 亚洲国产成人私人影院tom| 一区二区久久久久久| 精品在线观看视频| av在线不卡免费看| 91精品国产91综合久久蜜臀| 国产精品视频看| 免费看日韩精品| a4yy欧美一区二区三区| 日韩一级完整毛片| 亚洲天堂av老司机| 韩日欧美一区二区三区| 欧美性大战久久久久久久| 久久精品一区二区| 三级欧美韩日大片在线看| 99麻豆久久久国产精品免费|