MFC工控项目实例之十三从文件读写板卡信号名称

承接专栏《MFC工控项目实例之十二板卡测试信号输出界面》

1、在BoardTest.h文件中添加代码

cpp 复制代码
class CBoardTest : public CDialog
{

public:
	CBoardTest(CWnd* pParent = NULL);   // standard constructor
	...
CString NO_Combox[16];
CString strTemp[16];//数据项名称
CString strRead[16];
int strReadId[16];
char strBuff[256];
CString	m_Path;
CString strFilePath;
...
}

2、在BoardTest.cpp文件中添加代码

cpp 复制代码
CBoardTest::CBoardTest(CWnd* pParent /*=NULL*/)
	: CDialog(CBoardTest::IDD, pParent)
{
TCHAR exeFullPath[MAX_PATH];
	GetModuleFileName(NULL,exeFullPath,MAX_PATH);
	m_Path = exeFullPath;
	for(int i = m_Path.GetLength() - 1; i > 0 ; i --)
	{
		if(m_Path.GetAt(i) == '\\')
			break;
	}
	SetCurrentDirectory(m_Path);
	m_Path = m_Path.Left(i);
    strFilePath= m_Path + "\\Test.ini";
	
}


BOOL CBoardTest::OnInitDialog() 
{
		CDialog::OnInitDialog();
	...
	for (int m=0; m<16; m++)
	{	 
		   	
		 GetPrivateProfileString("输入信号",COMB_Data[m+1],NULL,strRead[m].GetBuffer(20),20,strFilePath);	
          strReadId[m]=_ttoi(strRead[m]);
		  if(strReadId[m]!=-1)
		  {
         ((CComboBox*)GetDlgItem(m_CountComboID[strReadId[m]]))->SetWindowText(COMB_Data[m+1]);
		  }
	}


  for ( m=0; m<16; m++)
	{	 
		   	
		 GetPrivateProfileString("输出信号",COMB_Data_O[m+1],NULL,strRead[m].GetBuffer(20),20,strFilePath);	
          strReadId[m]=_ttoi(strRead[m]);
		  if(strReadId[m]!=-1)
		  {
         ((CComboBox*)GetDlgItem(m_CountComboID_O[strReadId[m]]))->SetWindowText(COMB_Data_O[m+1]);
		  }
	}
	
	return TRUE; 
	}


void CBoardTest::OnButton3() 
{
for (int m=1; m<17; m++)
	{					 
		       	
		  WritePrivateProfileString("输入信号",COMB_Data[m],"-1",strFilePath);
			
	} 
	for (int n=0; n<16; n++)
	{
						 
		 ((CComboBox*)GetDlgItem(m_CountComboID[n]))->GetWindowText(strTemp[n]);//当前内容
		 NO_Combox[n].Format(_T("%d"), n);   	 
		 if (strTemp[n]!="------")
		 {
		  WritePrivateProfileString("输入信号",strTemp[n],NO_Combox[n],strFilePath);
		 }			
	} 


for ( m=1; m<17; m++)
	{					 
		       	
		  WritePrivateProfileString("输出信号",COMB_Data_O[m],"-1",strFilePath);
			
	} 
	for ( n=0; n<16; n++)
	{
						 
		 ((CComboBox*)GetDlgItem(m_CountComboID_O[n]))->GetWindowText(strTemp[n]);//当前内容
		 NO_Combox[n].Format(_T("%d"), n);   	 
		 if (strTemp[n]!="------")
		 {
		  WritePrivateProfileString("输出信号",strTemp[n],NO_Combox[n],strFilePath);
		 }			
	} 

	 Sleep(500);
EndDialog(IDD_DIALOG_BOA_TEST);
}

运行程序

相关推荐
Byte不洛5 分钟前
哈希表原理 + 冲突解决 + C++实现
数据结构·c++·算法·哈希算法·散列表
NiceCloud喜云8 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
cjhbachelor9 小时前
c++继承
c++
肩上风骋9 小时前
C++14特性
开发语言·c++·c++14特性
QiLinkOS12 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
Irissgwe13 小时前
c++11(lambda表达式与包装器、线程库)
c++·c++11·lambda表达式·线程库·包装器·互斥量库·条件变量库
Peter·Pan爱编程13 小时前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程
不想写代码的星星14 小时前
从分支预测角度看 C++:为什么你的热循环慢得离谱?
c++
郝学胜-神的一滴14 小时前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
郝亚军14 小时前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法