MFC工控项目实例之十九手动测试界面输出信号切换

承接专栏《MFC工控项目实例之十八手动测试界面输入信号实时检测》

根据板卡设置界面组合框选项设定的输出信号,通过读取文件中保存的键值,用单选按钮切换输出信号接通、关闭。

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

cpp 复制代码
CString COMB_Data_O_1[]={"夹紧","密闭","进气","平衡","排气","黄灯","绿灯","红灯"};
int COMB_Data_O_Number_1;
unsigned char b_O_1[16];
CString b_str_O_1[16];
unsigned short O_1[16];

2、在JogTest.cpp中添加代码

cpp 复制代码
CJogTest::CJogTest(CWnd* pParent /*=NULL*/)
	: CDialog(CJogTest::IDD, pParent)
{
	...
	COMB_Data_O_Number_1=(sizeof(COMB_Data_O_1) / sizeof(COMB_Data_O_1[1]));

}


BOOL CJogTest::OnInitDialog() 
{
	CDialog::OnInitDialog();
	...
		for( i=0;i<=COMB_Data_O_Number_1;i++)
   {
	   
	GetPrivateProfileString("输出信号",COMB_Data_O_1[i],NULL,b_str_O_1[i].GetBuffer(20),20,strFilePath);	
     O_1[i]=_ttoi(b_str_O_1[i]);
	}

void CJogTest::OnRadio3() 
{
	DO6408Bit(nAddr_1,O_1[1],0);
	
}

void CJogTest::OnRadio4() 
{
	DO6408Bit(nAddr_1,O_1[1],1);
	
}

void CJogTest::OnRadio5() 
{
  DO6408Bit(nAddr_1,O_1[2],0);
	
}

void CJogTest::OnRadio6() 
{
	DO6408Bit(nAddr_1,O_1[2],1);
	
}

void CJogTest::OnRadio7() 
{
	DO6408Bit(nAddr_1,O_1[3],0);
	
}

void CJogTest::OnRadio8() 
{
	DO6408Bit(nAddr_1,O_1[3],1);
	
}

void CJogTest::OnRadio9() 
{
	DO6408Bit(nAddr_1,O_1[4],0);
	
}

void CJogTest::OnRadio10() 
{
	DO6408Bit(nAddr_1,O_1[4],1);
	
}

void CJogTest::OnRadio11() 
{
	DO6408Bit(nAddr_1,O_1[5],0);
	DO6408Bit(nAddr_1,O_1[6],0);
	DO6408Bit(nAddr_1,O_1[7],0);
	
}

void CJogTest::OnRadio12() 
{
	DO6408Bit(nAddr_1,O_1[5],1);
	DO6408Bit(nAddr_1,O_1[6],0);
	DO6408Bit(nAddr_1,O_1[7],0);
	
}

void CJogTest::OnRadio13() 
{
	DO6408Bit(nAddr_1,O_1[6],1);
	DO6408Bit(nAddr_1,O_1[5],0);
	DO6408Bit(nAddr_1,O_1[7],0);
	
}

void CJogTest::OnRadio14() 
{
   DO6408Bit(nAddr_1,O_1[7],1);
   DO6408Bit(nAddr_1,O_1[5],0);
   DO6408Bit(nAddr_1,O_1[6],0);
	
}
相关推荐
D_evil__12 小时前
【Effective Modern C++】第二章 auto:6. 当auto推导的类型不符合要求时,使用显式类型初始化习惯用法
c++
哈哈不让取名字12 小时前
基于C++的爬虫框架
开发语言·c++·算法
剑锋所指,所向披靡!14 小时前
C++之类模版
java·jvm·c++
C+-C资深大佬15 小时前
C++风格的命名转换
开发语言·c++
No0d1es15 小时前
2025年粤港澳青少年信息学创新大赛 C++小学组复赛真题
开发语言·c++
点云SLAM15 小时前
C++内存泄漏检测之手动记录法(Manual Memory Tracking)
开发语言·c++·策略模式·内存泄漏检测·c++实战·new / delete
好评12415 小时前
【C++】二叉搜索树(BST):从原理到实现
数据结构·c++·二叉树·二叉搜索树
zylyehuo15 小时前
error: no matching function for call to ‘ros::NodeHandle::param(const char [11], std::string&, const char [34])’
c++·ros1
星火开发设计16 小时前
C++ 函数定义与调用:程序模块化的第一步
java·开发语言·c++·学习·函数·知识
天赐学c语言17 小时前
1.20 - x的平方根 && vector的扩容机制以及删除元素是否会释放内存
c++·算法·leecode