📄 dataexchangefundefine.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 + -