天天看点

delphi 调试控件代码_机器人调试(六十七)

delphi 调试控件代码_机器人调试(六十七)

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、莫名其妙的错误

delphi 调试控件代码_机器人调试(六十七)

只是定义一个较大的二维数组,

delphi 调试控件代码_机器人调试(六十七)

将VS的项目属性->链接器->系统->堆栈保留大小,设大一点,比如设置到10000000,如下图所示,重新将程序编译,运行,即可恢复正常。

delphi 调试控件代码_机器人调试(六十七)

即可恢复正常。

8、合同首付款

delphi 调试控件代码_机器人调试(六十七)

推荐:机器人实时纠偏系统(一)

机器人实时纠偏(二)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编程(六十一)

机器人调试(六十二)

机器人调试(六十三)

机器人调试(六十四)

机器人调试(六十五)

机器人调试(六十六)

delphi 调试控件代码_机器人调试(六十七)