1、修改参数类型以及点击控件代码
初始化参数类型,初始2
void CHD6SampleDllDlg::InitWeldTypeUI(){ // 为组合框控件的列表框添加列表项 m_comboWeldType.AddString(TEXT("1")); m_comboWeldType.AddString(TEXT("2")); m_comboWeldType.AddString(TEXT("3")); m_comboWeldType.AddString(TEXT("4")); m_comboWeldType.AddString(TEXT("5")); m_comboWeldType.AddString(TEXT("6")); // 默认选择第一项 m_comboWeldType.SetCurSel(1); m_WeldType = 2;}
点击选择控件代码,修改全局变量weldtype
int nSel; // 获取组合框控件的列表框中选中项的索引 nSel = m_comboWeldMethod.GetCurSel(); m_WeldMethod = nSel; switch (m_WeldMethod) { case 0: { cout << "您选择1" << endl; } break; case 1: { cout <"您选择2" <endl; } break; case 2: { cout << "您选择3" << endl; } break; case 3: { cout << "您选择4" << endl; } break; case 4: { cout << "您选择5" << endl; } case 5: { cout << "您选择6" << endl; } break; default: break; }
2、读取编辑框中的数据
读取int型数据:
UINT GetDlgItemInt( int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE ) const;
使用方法:
int i = GetDlgItemInt(IDC_EDIT_TEMPERATURE, NULL, 1); //若看做有符号数,则bSigned为1,返回值直接以int类型去接收UINT j = GetDlgItemInt(IDC_EDIT_TEMPERATURE, NULL, 0); //若看做无符号数,则bSigned为0,返回值按照UINT类型来接收
读取成Cstring类型
CString str; GetDlgItemText(IDC_WELDNUMEDIT, str);
3、写入编辑框数据
float Posy = position_y; //获得滑块的当前位置 str = ""; str.Format("%f", Posy); SetDlgItemText(IDC_EDIT_POSY, str); //IDC_EDIT1为“Edit Control”的ID
4、设置参数号
finder.FindFile(_T("Config\\WeldnumberSet.ini")); TCHAR b[20]; //向程序所在的Config\\WeldnumberSet.ini写入参数号数据 sprintf_s(b, "%d", Weld_number); ::WritePrivateProfileString(_T("参数设置"), _T("参数号"), b, _T("Config\\WeldnumberSet.ini")); cout << "您已经成功设置参数号" << endl;
5、读取参数
CFileFind finder; CString sTemp; finder.FindFile(_T("Config\\FilletWeldParameterSet.ini")); TCHAR a[20]; Weld_number = 2;//读取position_buff[0]的值 sTemp.Format("%d", Weld_number);//这个参数号是下位机发上来的,读取保存到Weld_number //读取感兴趣区域 ::GetPrivateProfileString(_T("参数") + sTemp + _T("参数设置"), _T("感兴趣区域上侧行"), _T(""), a, 20, _T("Config\\FilletWeldParameterSet.ini")); upperrows = _ttoi(a);
6、用C++读取ini文件中的Section节名
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"using namespace std;const short int max_Section= 20;const short int MAX_SECTION = 20;int main(){ //确定ini地址LPCTSTR lpFileName="D:\\documents\\visual studio 2015\\Projects\\ConsoleApplication1\\Release\\mysetting.ini"; char chSectionNames[max_Section] = { 0 };//总的提出来的字符串 char chSection[MAX_SECTION] = { 0 };//存放一个小节名 int i;int pos = 0; int ret=GetPrivateProfileSectionNames(chSectionNames, max_Section, lpFileName);//获取ini文件Section个数和数据 int m; for (i = 0; i < max_Section; i++)//循环得到Section节名 { if (chSectionNames[i] == 0 && chSectionNames[i + 1] != 0)//判断Section节名是否存在{for ( m = pos; m <= i; m++) { chSection[m - pos] = chSectionNames[m];//获取小节名cout << chSection[m - pos] ;}pos = i + 1;CString str;str.Format("%s", chSection); cout << str << endl; } } system("pause"); return 0;}
7、莫名其妙的错误
只是定义一个较大的二维数组,
将VS的项目属性->链接器->系统->堆栈保留大小,设大一点,比如设置到10000000,如下图所示,重新将程序编译,运行,即可恢复正常。
即可恢复正常。
8、合同首付款
推荐:机器人实时纠偏系统(一)
机器人实时纠偏(二)OpenCV+VS开发环境配置(三)结构光视觉的焊接机器人纠偏(四)结构光视觉的机器人焊接(五)结构光视觉的机器人焊接(六)机器人初始点导引(七)MATLAB标定相机参数(八)机器人的手眼标定(九)机器人坐标获取(十)机器人调试(十一)TCP/IP客户端API编程(十二)结构光传感器上位机界面多线程编程(十三)TCP&UDP(十四)C/C++ Programing(十五)机器人扫描与跟踪调试(十六)结构光传感器库函数(十七)结构光传感器编程(十八)C/C++ Programing(十九)C/C++ Programing(二十)结构光传感器编程(二十一)DX200操作要领(二十二)DX200操作要领(二十三)工装轴协调(二十四)无夹具协调(二十五)图像处理调试(二十六)STM32MODBUS_CRC编程(二十七)在C++中调用Matlab函数(二十八)
机器人手眼标定MATLAB及C++实现
机器人位姿运算及Eigen的使用(三十)
OpenCV与Eigen矩阵运算(三十一)
VS中数据读写及OpenCV拟合(三十二)
VS2013配置OpenGL库(三十三)
曲线拟合/插值(三十四)
曲线拟合绘制滤波及机器人平移(三十五)
DX200操作要领—示教1(三十六)
直接打开与平移变换(三十七)PAM与镜像平移变换(三十八)
修改与编辑程序(三十九)
YRC1000 宏程序命令(四十)
程序编辑与试运行(四十一)
程序编辑与再现(四十二)
再现(四十三)
程序管理(四十四)
便捷功能(四十五)
便捷功能(四十六)
椭圆拟合(四十七)
RANSAC直线拟合(四十八)
读写CSV文件类(四十九)
RANSAC直线拟合(五十)
法向量、旋转矩阵计算(五十一)
机器人手眼标定与变量设置调试(五十二)
20200715调试记录(五十三)
20200717调试记录(五十四)
C++~RANSAC拟合圆/随机数产生(五十五)
安川机器人外部轴协调(五十六)
安川机器人Motoplus编程(五十七)
安川机器人Motoplus编程(五十八)
安川机器人Motoplus编程(五十九)
安川机器人Motoplus编程(六十)
安川机器人Motoplus编程(六十一)
机器人调试(六十二)
机器人调试(六十三)
机器人调试(六十四)
机器人调试(六十五)
机器人调试(六十六)