红色软件卡控Recipe名称的特殊字符

main
wyj 3 months ago
parent db37aeff08
commit 78068989fb

1
.gitignore vendored

@ -14,3 +14,4 @@
/LaiPuLaser/Debug
*.ipch
/LaiPuLaser/LaiPuLaser
/LaipuDrawing/LaiPuLaser.aps

@ -1581,19 +1581,23 @@ CString CRecipeMgr::RecipeCtrlExcute(CRecipeCtrlItem &CtrlItem)
if(RecipeCtrlType==_RecipeCtrl_AddGroup
||RecipeCtrlType==_RecipeCtrl_GroupName
||RecipeCtrlType==_RecipeCtrl_RecipeName
||RecipeCtrlType==_RecipeCtrl_AddRecipe)
||RecipeCtrlType==_RecipeCtrl_AddRecipe
|| RecipeCtrlType == _RecipeCtrl_CopyRecipe)
{
if(EditName2.Find('.',0)!= -1)
if(EditName2=="")
{
ErrMsg = "不能有小数点!";
ErrMsg = "输入不能为空!";
return ErrMsg;
}
if(EditName2=="")
else
{
ErrMsg = CheckInvalidChar(EditName2);
if (!ErrMsg.IsEmpty())
{
ErrMsg = "输入不能为空!";
return ErrMsg;
}
}
}
switch(RecipeCtrlType)
{
@ -2526,4 +2530,39 @@ CString CRecipeMgr::GetShowParText(int Row)
return str;
}
CString CRecipeMgr::CheckInvalidChar(CString Str)
{
CString RetStr = "";
int Len = Str.GetLength();
const char* CheckCh = (LPCTSTR)Str;
char ch;
for (int i = 0; i<Len; i++)
{
ch = *(CheckCh + i);
if ((ch >= 'a' && ch <= 'z')
|| (ch >= 'A' && ch <= 'Z')
|| ('%'==ch )
|| (ch >= '0' && ch <= '9')
|| ('_' == ch)
|| ('.' == ch&&i!=0&&i!= Len-1))
{
continue;
}
else
{
if ('.' == ch)
{
RetStr = "'.'不能位于首尾!";
}
else
{
RetStr = "含无效字符!(有效字符含字母大小写、数字、小数点、下划线、百分号)";
}
break;
}
}
return RetStr;
}
#endif

@ -272,6 +272,8 @@ public:
void UpdateRecipeGroupInfo();
CString GetOffsetTablePath(CString TabName);
CString GetShowParText(int Row);
CString CheckInvalidChar(CString Str);
private:
CString GetGroupDirPath(int GroupIdx);
CString GetRecipeNameListPath();
@ -323,7 +325,6 @@ private:
double m_FocusAdjustMin;//焦距调整范围最小值
double m_FocusAdjustMax;//焦距调整范围最大值
};
extern CRecipeMgr *gRecipeMgr;
Loading…
Cancel
Save