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]));	  
}
相关推荐
虚拟之9 分钟前
36、stringstream
c++
我很好我还能学14 分钟前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++
南岩亦凛汀1 小时前
在Linux下使用wxWidgets进行跨平台GUI开发
c++·跨平台·gui·开源框架·工程实战教程
曦月逸霜2 小时前
第34次CCF-CSP认证真题解析(目标300分做法)
数据结构·c++·算法
galaxy_strive2 小时前
绘制饼图详细过程
开发语言·c++·qt
Unpredictable2223 小时前
【VINS-Mono算法深度解析:边缘化策略、初始化与关键技术】
c++·笔记·算法·ubuntu·计算机视觉
PingdiGuo_guo4 小时前
C++智能指针的知识!
开发语言·c++
Chuncheng's blog4 小时前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
愚润求学6 小时前
【C++】类型转换
开发语言·c++
@我漫长的孤独流浪6 小时前
数据结构测试模拟题(4)
数据结构·c++·算法