用map是您的程序更清晰!

   当您遇到一大堆用数字串对应的规则时,记这些字符串有时会让人很头痛。没关系,用 枚举+map。

1.定义一些枚举。

enum UpdateKind
{
	enCommenFile = 1, 
	enCom,          //
	enDelCommenFile,//
	enDelCom,       //
	enRegTable,     //
	enShortCut,     //
	enModifySec,    // 
	enDelSec,       // 
	enActiveX,      // 
};

2.定义一个map的成员变量和枚举的成员变量,来映射数字串和枚举的关系

	map<CString,UpdateKind> m_mapKind;
        UpdateKind m_enSrvType;

 
3.同时有个接口给人设置类型。

void CAutoCommand::Set_SrvType(const CString &strType)
{
	m_enSrvType = m_mapKind[strType];
};

4.构造函数中来个初始化吧

 CAutoCommand::CAutoCommand()
 {
	 m_mapKind.insert(make_pair(_T("0100"),enCommenFile));
	 m_mapKind.insert(make_pair(_T("0200"),enCom));
	 m_mapKind.insert(make_pair(_T("0300"),enDelCommenFile));
	 m_mapKind.insert(make_pair(_T("0400"),enDelCom));
	 m_mapKind.insert(make_pair(_T("0500"),enRegTable));
	 m_mapKind.insert(make_pair(_T("0600"),enShortCut));
	 m_mapKind.insert(make_pair(_T("0702"),enModifySec));
	 m_mapKind.insert(make_pair(_T("0703"),enDelSec));
	 m_mapKind.insert(make_pair(_T("0800"),enActiveX));
 };

5.别人设置了类型。

pUpdateCmd->Set_SrvType(sectioninfoSrv.strType);

6.该是你自己表现的时候了

	UpdateResult CAutoCommand::UpdateFile()
{
	UpdateResult updateRtn = enFailure;
	switch(m_enSrvType)
	{
	case enCommenFile:   // 
		updateRtn=commen();
		break;
	case enCom:       // 
		updateRtn=com();
		break;
	case enDelCommenFile:// 
		updateRtn=delCommen();
		break;
	case enDelCom:       // 
		updateRtn=delCom();
		break;
	case enRegTable:     // 
		updateRtn=regedit();
		break;
	case enShortCut:     // 
		updateRtn=shortcut();		
		break;
	case enModifySec:    //
		updateRtn=modifyIni();
		break;
	case enDelSec:       //
		updateRtn=deleteIni();
		break;
	case enActiveX:      //
		updateRtn=myIE();
		break;
	default:
		break;
	}
	return updateRtn;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值