MFC工控项目实例三十二模拟量校正值添加修改删除

用两个列表控件实现三十二模拟量校正值添加、修改、删除。

相关代码

cpp 复制代码
void SenSet::OnSelchangeList1() //修改
{
	m_bAdd_2.EnableWindow(true);
	m_bParameter_2.EnableWindow(true);
	m_bDel_2.EnableWindow(false);
	nSel =m_IDC_LIST1.GetCurSel();
    m_IDC_LIST1.GetText(nSel,nSel_str);
	CString str;
	str.Format("%d",nSel);
	
	CString str6[16],str7[16],str8[16],str9[16];

	GetPrivateProfileString("A/D设置",nSel_str+"零点电压",NULL,str6[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"零点数值",NULL,str7[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"量程电压",NULL,str8[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"量程数值",NULL,str9[16].GetBuffer(20),20,theApp.strFilePath);
    m_IDC_LIST2.DeleteAllItems();
	m_IDC_LIST2.InsertItem(0, _T("1"));   
    m_IDC_LIST2.SetItemText(0, 1,_T(str6[16]));  
    SetDlgItemText(IDC_EDIT1,_T(str6[16]));
    m_IDC_LIST2.SetItemText(0, 2,str7[16]);
	SetDlgItemText(IDC_EDIT2,_T(str7[16]));
    m_IDC_LIST2.InsertItem(1, _T("2"));   
    m_IDC_LIST2.SetItemText(1, 1,str8[16]);
	SetDlgItemText(IDC_EDIT4,_T(str8[16]));
    m_IDC_LIST2.SetItemText(1, 2,str9[16]);
    SetDlgItemText(IDC_EDIT5,_T(str9[16]));
	if (str6[16]!="" && str7[16]!="" && str8[16]!="" && str9[16]!="")
	{
    SetDlgItemText(IDC_BUTTON1,"修改");
	}
	else 
	{
		SetDlgItemText(IDC_BUTTON1,"添加");
	}
}



void SenSet::OnButton1() //添加
{
	
	CString str1,str2,str4,str5;
	CString str6[16],str7[16],str8[16],str9[16];
	GetDlgItemText(IDC_EDIT1,str1);
	GetDlgItemText(IDC_EDIT2,str2);
	GetDlgItemText(IDC_EDIT4,str4);
	GetDlgItemText(IDC_EDIT5,str5);
    WritePrivateProfileString("A/D设置",nSel_str+"零点电压",str1,theApp.strFilePath);
    WritePrivateProfileString("A/D设置",nSel_str+"零点数值",str2,theApp.strFilePath);
    WritePrivateProfileString("A/D设置",nSel_str+"量程电压",str4,theApp.strFilePath);
    WritePrivateProfileString("A/D设置",nSel_str+"量程数值",str5,theApp.strFilePath);
	
	GetPrivateProfileString("A/D设置",nSel_str+"零点电压",NULL,str6[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"零点数值",NULL,str7[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"量程电压",NULL,str8[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"量程数值",NULL,str9[16].GetBuffer(20),20,theApp.strFilePath);
    m_IDC_LIST2.DeleteAllItems();
    m_IDC_LIST2.InsertItem(0, _T("1"));   
    m_IDC_LIST2.SetItemText(0, 1,_T(str6[16]));  
    m_IDC_LIST2.SetItemText(0, 2,str7[16]); 
//	m_IDC_LIST2.DeleteAllItems();
    m_IDC_LIST2.InsertItem(1, _T("2"));   
    m_IDC_LIST2.SetItemText(1, 1,str8[16]);  
    m_IDC_LIST2.SetItemText(1, 2,str9[16]);  

	for(int i=0;i<theApp.COMB_Data_AD_Number_1;i++)
   {
	   
	 GetPrivateProfileString("AD输入",theApp.COMB_Data_AD_1[i],NULL,theApp.b_str_AD_1[i].GetBuffer(20),20,theApp.strFilePath);	
     theApp.AD_1[i]=_ttoi(theApp.b_str_AD_1[i]);
	 if (theApp.b_str_AD_1[i]!="-1" )
	 {

	GetPrivateProfileString("A/D设置",theApp.COMB_Data_AD_1[i]+"零点电压",NULL,theApp.AD_SET_ZERO_VLO[theApp.AD_1[i]].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",theApp.COMB_Data_AD_1[i]+"零点数值",NULL,theApp.AD_SET_ZERO_NUM[theApp.AD_1[i]].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",theApp.COMB_Data_AD_1[i]+"量程电压",NULL,theApp.AD_SET_RAN_VLO[theApp.AD_1[i]].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",theApp.COMB_Data_AD_1[i]+"量程数值",NULL,theApp.AD_SET_RAN_NUM[theApp.AD_1[i]].GetBuffer(20),20,theApp.strFilePath);
//	SetDlgItemText(IDC_STATIC99,theApp.AD_SET_RAN_NUM[theApp.AD_1[15]]);

   theApp.flo_AD_SET_ZERO_VLO[i]= (float)atof(theApp.AD_SET_ZERO_VLO[theApp.AD_1[i]]);
   theApp.flo_AD_SET_ZERO_NUM[i]= (float)atof(theApp.AD_SET_ZERO_NUM[theApp.AD_1[i]]);
   theApp.flo_AD_SET_RAN_VLO[i]= (float)atof(theApp.AD_SET_RAN_VLO[theApp.AD_1[i]]);
   theApp.flo_AD_SET_RAN_NUM[i]= (float)atof(theApp.AD_SET_RAN_VLO[theApp.AD_1[i]]);
	 }
	}
}



void SenSet::OnButton2() //删除
{
	  int nIndex = m_IDC_LIST2.GetSelectionMark();
	  CString str;
	  str.Format("%d",nIndex);
       if (nIndex==0)
	  {
     WritePrivateProfileString("A/D设置",nSel_str+"零点电压",NULL,theApp.strFilePath);
     WritePrivateProfileString("A/D设置",nSel_str+"零点数值",NULL,theApp.strFilePath);
	// SetDlgItemText(IDC_STATIC99,"1");  
	  }
	  if (nIndex==1)
	  {
     WritePrivateProfileString("A/D设置",nSel_str+"量程电压","",theApp.strFilePath);
     WritePrivateProfileString("A/D设置",nSel_str+"量程数值","",theApp.strFilePath);
	  }
	  	CString str6[16],str7[16],str8[16],str9[16];
    GetPrivateProfileString("A/D设置",nSel_str+"零点电压",NULL,str6[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"零点数值",NULL,str7[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"量程电压",NULL,str8[16].GetBuffer(20),20,theApp.strFilePath);
	GetPrivateProfileString("A/D设置",nSel_str+"量程数值",NULL,str9[16].GetBuffer(20),20,theApp.strFilePath);
    m_IDC_LIST2.DeleteAllItems();
	m_IDC_LIST2.InsertItem(0, _T("1"));   
    m_IDC_LIST2.SetItemText(0, 1,_T(str6[16]));  
    SetDlgItemText(IDC_EDIT1,_T(str6[16]));
    m_IDC_LIST2.SetItemText(0, 2,str7[16]);
	SetDlgItemText(IDC_EDIT2,_T(str7[16]));
    m_IDC_LIST2.InsertItem(1, _T("2"));   
    m_IDC_LIST2.SetItemText(1, 1,str8[16]);
	SetDlgItemText(IDC_EDIT4,_T(str8[16]));
    m_IDC_LIST2.SetItemText(1, 2,str9[16]);
    SetDlgItemText(IDC_EDIT5,_T(str9[16]));	  
}
相关推荐
端平入洛15 小时前
delete又未完全delete
c++
端平入洛2 天前
auto有时不auto
c++
哇哈哈20213 天前
信号量和信号
linux·c++
多恩Stone3 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
蜡笔小马3 天前
21.Boost.Geometry disjoint、distance、envelope、equals、expand和for_each算法接口详解
c++·算法·boost
超级大福宝3 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
weiabc3 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
问好眼3 天前
《算法竞赛进阶指南》0x01 位运算-3.64位整数乘法
c++·算法·位运算·信息学奥赛
yyjtx3 天前
DHU上机打卡D31
开发语言·c++·算法
czxyvX3 天前
020-C++之unordered容器
数据结构·c++