⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataexchangefundefine.h

📁 实用的VC平台的ADO数据库编程
💻 H
字号:
#if !defined(DATAEXCHANGEFUNDEFINE)
#define DATAEXCHANGEFUNDEFINE

#define  dim(x) (sizeof(x)/sizeof(x[0]))

class DataExchangeFunction
{
private:
	UINT m_DlgIDTemplate;

	void _IntDataExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);//通用函数
	void _DoubleDataExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);//通用函数
	void _StringDataExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);//通用函数

public:
	void IntDataExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);//通用函数
	void DoubleDataExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);//通用函数

	void ConcreteGradeExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void SteelGradeExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void SteelDiameterExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void SteelLayerExchange(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void SteelFrameStyle(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void SteelNumbers(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);

	void bendsteel_wholelength(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void bendsteel_truncation(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void sidefulcrum_leftsteel_tilte(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void sidefulcrum_rightsteel_tilte(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void middlefulcrum_leftsteel_tilte(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void middlefulcrum_rightsteel_tilte(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void steelsectionlocation(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void basestructdata(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void steelframelabel(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void steelframedefine(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
	void wholesteellever(_RecordsetPtr &pRecordset,CListCtrl &listcontrol);
};

struct tableToDataStructExchangeMap{
	LPTSTR  functionname;
	void    (DataExchangeFunction::*pfn)(_RecordsetPtr &pRecordset,CListCtrl &listcontrol) ;
};

//此处让对应对话框通过映射在运行时索引到对应对话框调用函数,而不是通过构造大量对应每个记录的数据结
//构对象,通过虚函数机制调用对应对话框,因为如为每个记录生成数据结构对象会占用大量内存,
static	struct tableToDataStructExchangeMap  _structExchangeMapEntries[]=
{
	"钢筋骨架分类" ,	DataExchangeFunction::IntDataExchange,
	"支 点 个 数" ,		DataExchangeFunction::IntDataExchange,
	"一排主筋根数" ,	DataExchangeFunction::IntDataExchange,
	"箍 筋 环 数" ,		DataExchangeFunction::IntDataExchange,
	"边箍围主筋数" ,	DataExchangeFunction::IntDataExchange,
	"中箍围主筋数" ,	DataExchangeFunction::IntDataExchange,

	"横 梁 宽 度" ,		DataExchangeFunction::DoubleDataExchange,
	"横 梁 高 度" ,		DataExchangeFunction::DoubleDataExchange,
	"横 梁 厚 度" ,		DataExchangeFunction::DoubleDataExchange,
	"悬 臂 宽 度" ,		DataExchangeFunction::DoubleDataExchange,
	"悬臂外侧厚" ,		DataExchangeFunction::DoubleDataExchange,
	"悬臂内侧厚" ,		DataExchangeFunction::DoubleDataExchange,
	"边支点距外侧" ,	DataExchangeFunction::DoubleDataExchange,

	"混凝土标号",       DataExchangeFunction::ConcreteGradeExchange,
	"钢筋等级",         DataExchangeFunction::SteelGradeExchange,
	"钢筋直径",         DataExchangeFunction::SteelDiameterExchange,

	"钢筋保护层",       DataExchangeFunction::DoubleDataExchange,
	"距离",				DataExchangeFunction::DoubleDataExchange,
	"钢筋排数",			DataExchangeFunction::SteelLayerExchange,

	"钢筋骨架类型",		DataExchangeFunction::SteelFrameStyle,
	"钢筋根数",		    DataExchangeFunction::SteelNumbers,

	"通过跨中弯起钢筋",    DataExchangeFunction::bendsteel_wholelength,
	"不通过跨中弯起钢筋",  DataExchangeFunction::bendsteel_truncation,
	"边支点左侧斜筋",	DataExchangeFunction::sidefulcrum_leftsteel_tilte,
	"边支点右侧斜筋",	DataExchangeFunction::sidefulcrum_rightsteel_tilte,
	"中支点左侧斜筋",	DataExchangeFunction::middlefulcrum_leftsteel_tilte,
	"中支点右侧斜筋",	DataExchangeFunction::middlefulcrum_rightsteel_tilte,
	"横截面主筋布置",	DataExchangeFunction::steelsectionlocation,
	"基本构造数据",		DataExchangeFunction::basestructdata,
	"钢筋骨架定义",		DataExchangeFunction::steelframedefine,
	"通长钢筋",			DataExchangeFunction::wholesteellever,
};

#endif // !defined(DATAEXCHANGEFUNDEFINE)

⌨️ 快捷键说明

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