//
BOOL CNewProjectBak::readFromEditCtrl()
{
//先定义变量;
CString projectName; //备份项目名称;
CString operatorName; //新建备份项目操作人;
CString fuctionRemark;//项目功能备注;
//将控件与变量关联;
GetDlgItemText(IDC_EDIT_PROJECT_NAME, projectName);
GetDlgItemText(IDC_EDIT_OPERATOR_NAME, operatorName);
GetDlgItemText(IDC_EDIT_FUNCTION_REMARK, fuctionRemark);
//再检测这三个文本编辑框的输入是否正确;
if(!SwitchCase(IDC_EDIT_PROJECT_NAME,projectName,_T("<项目名称>")))
return FALSE;
if(!SwitchCase(IDC_EDIT_OPERATOR_NAME,operatorName,_T("<操作人员姓名>")))
return FALSE;
if(!SwitchCase(IDC_EDIT_FUNCTION_REMARK,fuctionRemark,_T("<项目功能备注>")))
return FALSE;
//如果三项输入都正确,则执行下面的语句;
CString str = projectName+_T("--")+operatorName+_T("--")+fuctionRemark;
AfxMessageBox(str);
m_strBakRootName = projectName; //获取项目备份名;
return TRUE;
}
//////////////////////////////////////////////////////////////////////////---zwh;
//////////////////////////////////////////////////////////////////////////---zwh--注:辅助性函数,用于选择性弹出相关信息;
BOOL CNewProjectBak::SwitchCase(UINT idcEdit,CString str,CString msg)
{
switch(Consider(idcEdit,str))
{
case 0:
AfxMessageBox(msg+_T("不能为空"));
return FALSE;
case 1:
AfxMessageBox(msg+_T("字数太多!"));
return FALSE;
case 2:
AfxMessageBox(_T("您输入的")+msg+_T("包含非中文字符"));
return FALSE;
default:
break;
}
return TRUE;
}
//////////////////////////////////////////////////////////////////////////---zwh;
//////////////////////////////////////////////////////////////////////////---zwh--注:辅助性函数,用于判断非法输入;
int CNewProjectBak::Consider(UINT idcEdit,CString str)
{
if (str.IsEmpty()) //输入为空;
{
return 0;
}//
//////--判断是否是中文字符;
size_t len = strlen(str.GetBuffer());
char cStr[100] = "";
strcpy(cStr,str.GetBuffer());
size_t maxNum = 0;
switch(idcEdit)
{
case IDC_EDIT_PROJECT_NAME:
maxNum = 20; //项目名不能超过10个汉字!
break;
case IDC_EDIT_OPERATOR_NAME:
maxNum = 12; //姓名不能超过6个汉字!
break;
case IDC_EDIT_FUNCTION_REMARK:
maxNum = 40; //项目功能备注不能超过20个汉字!
break;
}
if(len>maxNum)
{
return 1;
}
for(size_t i=0;i<len;i++)
{
if((0x80 & cStr[i]) != 0x80) //包含非中文字符;
{
return 2;
}
}
//////--
return 3;
}
评论