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]));	  
}
相关推荐
Ritsu栗子16 分钟前
代码随想录算法训练营day35
c++·算法
好一点,更好一点26 分钟前
systemC示例
开发语言·c++·算法
卷卷的小趴菜学编程1 小时前
c++之List容器的模拟实现
服务器·c语言·开发语言·数据结构·c++·算法·list
年轮不改1 小时前
Qt基础项目篇——Qt版Word字处理软件
c++·qt
玉蜉蝣1 小时前
PAT甲级-1014 Waiting in Line
c++·算法·队列·pat甲·银行排队问题
半盏茶香3 小时前
扬帆数据结构算法之雅舟航程,漫步C++幽谷——LeetCode刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
数据结构·c++·算法
哎呦,帅小伙哦3 小时前
Effective C++ 规则41:了解隐式接口和编译期多态
c++·effective c++
DARLING Zero two♡4 小时前
【初阶数据结构】逆流的回环链桥:双链表
c语言·数据结构·c++·链表·双链表
9毫米的幻想4 小时前
【Linux系统】—— 编译器 gcc/g++ 的使用
linux·运维·服务器·c语言·c++
Cando学算法4 小时前
Codeforces Round 1000 (Div. 2)(前三题)
数据结构·c++·算法