调出硬盘上固定位置ini文件数据

void Widget::InitSetupListfromini() {
    //调出硬盘上固定位置ini文件数据到当前Savelist结构中

    //这是一段获得程序当前目录的一段代码


    
    TCHAR FilePath[255];

//获取当前进程已加载模块的文件的完整路径
    GetModuleFileName(NULL, FilePath, 255);

/*

其实这句可分解为两句话

char *ch = _tcsrchr(szFilePath, _T('\\'));查找最后一个\出现的位置,并返回\后面的字符(包括\)

ch[1] = 0;//NULL  通过操作来操作szFilePath = 将szFilePath截断,截断最后一个\后面的字符(不包括\)

*/
    (wcsrchr(FilePath, '\\'))[1] = 0;
    wcscat_s(FilePath, _T("currentsetup.ini"));
    TaskWidget *dlg = &taskwidget;

    dlg->GetInitoSetupList(FilePath, &m_curSetuplist);
    /*delete dlg;*/
}

 

//用于读取INI配置文件
DWORD WINAPI ReadString(LPCTSTR section, LPCTSTR key, WCHAR *stringtoread, LPCTSTR filename);

//用于写到INI配置文件中
BOOL WINAPI WriteString(LPCTSTR section, LPCTSTR key, LPCTSTR stringtoadd, LPCTSTR filename);


//用于读取INI配置文件
DWORD WINAPI ReadString(LPCTSTR section, LPCTSTR key, WCHAR *stringtoread, LPCTSTR filename)
{
	// CHAR FilePath1[255]; 
	// GetModuleFileName(NULL,FilePath1,255); 
	// (strrchr(FilePath1,'\\'))[1] = 0; 
	//  strcat(FilePath1,filename);
	return ::GetPrivateProfileString(section, key,NULL,stringtoread,255,filename);
}

//用于写到INI配置文件中
BOOL WINAPI WriteString(LPCTSTR section, LPCTSTR key, LPCTSTR stringtoadd, LPCTSTR filename)
{
	//CHAR FilePath1[255]; 

	//获得应用程序路径,保存到FilePath
	//GetModuleFileName(NULL,FilePath1,255); 

	//Scan a string for the last occurrence of a character.
	//查找一个字符串在另一个字符串中末次出现的位置,并返回从字符串中的这个位置起,
	//一直到字符串结束的所有字符。  如果未能找到指定字符,那么函数将返回NULL。
	//(strrchr(FilePath1,'\\'))[1] = 0; 

	//把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'
	// strcat(FilePath1,filename);

	return ::WritePrivateProfileString(section,key,stringtoadd,filename);
} 

 


//从ini文件到SetupList,程序初始化/导入配置文件/默认设置
void TaskWidget::GetInitoSetupList(LPCTSTR filename, LPSetupSavelist m_pSetuplist) {
	// 保存ini各项值数组
	TCHAR szOption1[MAX_PATH];
	TCHAR szOption2[MAX_PATH];
	TCHAR szOption3[MAX_PATH];
	TCHAR szOption4[MAX_PATH];
	TCHAR szOption5[MAX_PATH];
	TCHAR szOption6[MAX_PATH];

	ReadString(_T("配置信息"), _T("公司名"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("连接器类型"), szOption2, filename);
	ReadString(_T("配置信息"), _T("测试标准"), szOption3, filename);

	ReadString(_T("配置信息"), _T("语言"), szOption4, filename);
	ReadString(_T("配置信息"), _T("测试人"), szOption5, filename);
	ReadString(_T("配置信息"), _T("文件路径"), szOption6, filename);
	CString tem;
	//公司名
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->CompanyName = tem;

	//连接器类型
	tem.Format(_T("%s"), szOption2);
	int temp = atoi(tem);
	switch (temp) {
	case 0:
		m_pSetuplist->en_ConnectorType = PC12mm;
		break;
	case 1:
		m_pSetuplist->en_ConnectorType = PC25mm;
		break;
	case 2:
		m_pSetuplist->en_ConnectorType = APC;
		break;
	case 3:
		m_pSetuplist->en_ConnectorType = APC25mm;
		break;
	default:
		m_pSetuplist->en_ConnectorType = PC25mm;
	}


	//测试标准
	tem.Format(_T("%s"), szOption3);
	temp = atoi(tem);
	switch (temp) {
	case 0:
		m_pSetuplist->en_TestStandard = IEC;
		break;

	case 1:
		m_pSetuplist->en_TestStandard = IEC61755;
		break;
	case 2:
		m_pSetuplist->en_TestStandard = Telicordia;
		break;
	case 3:
		m_pSetuplist->en_TestStandard = Self;
		break;
	default:
		m_pSetuplist->en_TestStandard = IEC;
	}

	//语言版本
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->language = atoi(tem);

	//测试人
	tem.Format(_T("%s"), szOption5);
	m_pSetuplist->Tester = tem;
	//文件名称与路径
	tem.Format(_T("%s"), szOption6);
	m_pSetuplist->m_PathName = tem;
	//增加浮动IEC的读取
	ReadString(_T("配置信息"), _T("浮动IEC_12mm"), szOption1, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->FH_FixedIEC.nSelf_PC12mm = atoi(tem);
	ReadString(_T("配置信息"), _T("浮动IEC_25mm"), szOption2, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->FH_FixedIEC.nSelf_PC25mm = atoi(tem);
	ReadString(_T("配置信息"), _T("浮动IEC_APC"), szOption3, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->FH_FixedIEC.nSelf_APC = atoi(tem);

	if (m_pSetuplist->en_TestStandard == Self)  //如果是SELF标准,从ini中读测试标准数据到Setuplist的std
	{
		ReadString(_T("配置信息"), _T("曲率半径H"), szOption1, filename); // filename需要是“ini”文件
		ReadString(_T("配置信息"), _T("顶点偏移H"), szOption2, filename);
		ReadString(_T("配置信息"), _T("光纤高度H"), szOption3, filename);
		ReadString(_T("配置信息"), _T("APC角度H"), szOption4, filename);
		ReadString(_T("配置信息"), _T("APC键度误差H"), szOption5, filename);

		tem.Format(_T("%s"), szOption1);
		m_pSetuplist->MAXResult.CurvatureRadius = atof(tem);

		tem.Format(_T("%s"), szOption2);
		m_pSetuplist->MAXResult.ApexOffset = atof(tem);

		tem.Format(_T("%s"), szOption3);
		m_pSetuplist->MAXResult.FiberHeight = atof(tem);

		tem.Format(_T("%s"), szOption4);
		m_pSetuplist->MAXResult.APCAngle = atof(tem);

		tem.Format(_T("%s"), szOption5);
		m_pSetuplist->MAXResult.APCDiff = atof(tem);

		ReadString(_T("配置信息"), _T("曲率半径L"), szOption1, filename); // filename需要是“ini”文件
		ReadString(_T("配置信息"), _T("顶点偏移L"), szOption2, filename);
		ReadString(_T("配置信息"), _T("光纤高度L"), szOption3, filename);
		ReadString(_T("配置信息"), _T("APC角度L"), szOption4, filename);
		ReadString(_T("配置信息"), _T("APC键度误差L"), szOption5, filename);

		tem.Format(_T("%s"), szOption1);
		m_pSetuplist->MINResult.CurvatureRadius = atof(tem);

		tem.Format(_T("%s"), szOption2);
		m_pSetuplist->MINResult.ApexOffset = atof(tem);

		tem.Format(_T("%s"), szOption3);
		m_pSetuplist->MINResult.FiberHeight = atof(tem);

		tem.Format(_T("%s"), szOption4);
		m_pSetuplist->MINResult.APCAngle = atof(tem);

		tem.Format(_T("%s"), szOption5);
		m_pSetuplist->MINResult.APCDiff = atof(tem);

		//同时修改全局stdtable标准结构

		memcpy(GetCellResultstd(m_pSetuplist->en_ConnectorType, Self, 0), &m_pSetuplist->MINResult, sizeof(tagCellResult));
		memcpy(GetCellResultstd(m_pSetuplist->en_ConnectorType, Self, 1), &m_pSetuplist->MAXResult, sizeof(tagCellResult));

		if (m_pSetuplist->en_ConnectorType >= APC) {
			ReadString(_T("配置信息"), _T("偏置角度"), szOption1, filename); // filename需要是“ini”文件
			tem.Format(_T("%s"), szOption1);
			m_pSetuplist->APCScale = float(atof(tem));
		}
		else {
			m_pSetuplist->APCScale = 0;
		}
	}
	else //如果不是SELF标准,从固定的标准结构中提取数值到m_pSetuplist
	{
		memcpy(&m_pSetuplist->MINResult, GetCellResultstd(m_pSetuplist->en_ConnectorType, m_pSetuplist->en_TestStandard, 0), sizeof(tagCellResult));
		memcpy(&m_pSetuplist->MAXResult, GetCellResultstd(m_pSetuplist->en_ConnectorType, m_pSetuplist->en_TestStandard, 1), sizeof(tagCellResult));

		if (m_pSetuplist->en_ConnectorType >= APC) {
			/*m_APC_Angle = 8;*/
			/*m_pSetuplist->APCScale = 8;*/
			ReadString(_T("配置信息"), _T("偏置角度"), szOption1, filename); // filename需要是“ini”文件
			tem.Format(_T("%s"), szOption1);
			m_pSetuplist->APCScale = float(atof(tem));
			m_APC_Angle = m_pSetuplist->APCScale;
		}
		else {
			m_APC_Angle = 0;
			m_pSetuplist->APCScale = 0;
		}
	}
	//增加纤高补偿值下限1.25的读取
	ReadString(_T("配置信息"), _T("纤高补偿LIEC1999_12mm"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LIEC2006_12mm"), szOption2, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LTelicordia_12mm"), szOption3, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LSelf_12mm"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->MIN_FHCompensate.dIEC1999_PC12mm = atof(tem);
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->MIN_FHCompensate.dIEC2006_PC12mm = atof(tem);
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->MIN_FHCompensate.dTelicordia_PC12mm = atof(tem);
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->MIN_FHCompensate.dSelf_PC12mm = atof(tem);
	//增加纤高补偿值下限2.5的读取
	ReadString(_T("配置信息"), _T("纤高补偿LIEC1999_25mm"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LIEC2006_25mm"), szOption2, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LTelicordia_25mm"), szOption3, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LSelf_25mm"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->MIN_FHCompensate.dIEC1999_PC25mm = atof(tem);
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->MIN_FHCompensate.dIEC2006_PC25mm = atof(tem);
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->MIN_FHCompensate.dTelicordia_PC25mm = atof(tem);
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->MIN_FHCompensate.dSelf_PC25mm = atof(tem);
	//增加纤高补偿值下限APC的读取
	ReadString(_T("配置信息"), _T("纤高补偿LIEC1999_APC"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LIEC2006_APC12mm"), szOption2, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LIEC2006_APC25mm"), szOption5, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LTelicordia_APC"), szOption3, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿LSelf_APC"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->MIN_FHCompensate.dIEC1999_APC = atof(tem);
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->MIN_FHCompensate.dIEC2006_APC12mm = atof(tem);
	tem.Format(_T("%s"), szOption5);
	m_pSetuplist->MIN_FHCompensate.dIEC2006_APC25mm = atof(tem);
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->MIN_FHCompensate.dTelicordia_APC = atof(tem);
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->MIN_FHCompensate.dSelf_APC = atof(tem);

	//增加纤高补偿值上限1.25的读取
	ReadString(_T("配置信息"), _T("纤高补偿HIEC1999_12mm"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HIEC2006_12mm"), szOption2, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HTelicordia_12mm"), szOption3, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HSelf_12mm"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->MAX_FHCompensate.dIEC1999_PC12mm = atof(tem);
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->MAX_FHCompensate.dIEC2006_PC12mm = atof(tem);
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->MAX_FHCompensate.dTelicordia_PC12mm = atof(tem);
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->MAX_FHCompensate.dSelf_PC12mm = atof(tem);
	//增加纤高补偿值上限2.5的读取
	ReadString(_T("配置信息"), _T("纤高补偿HIEC1999_25mm"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HIEC2006_25mm"), szOption2, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HTelicordia_25mm"), szOption3, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HSelf_25mm"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->MAX_FHCompensate.dIEC1999_PC25mm = atof(tem);
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->MAX_FHCompensate.dIEC2006_PC25mm = atof(tem);
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->MAX_FHCompensate.dTelicordia_PC25mm = atof(tem);
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->MAX_FHCompensate.dSelf_PC25mm = atof(tem);
	//增加纤高补偿值上限APC的读取
	ReadString(_T("配置信息"), _T("纤高补偿HIEC1999_APC"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HIEC2006_APC12mm"), szOption2, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HIEC2006_APC25mm"), szOption5, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HTelicordia_APC"), szOption3, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("纤高补偿HSelf_APC"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->MAX_FHCompensate.dIEC1999_APC = atof(tem);
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->MAX_FHCompensate.dIEC2006_APC12mm = atof(tem);
	tem.Format(_T("%s"), szOption5);
	m_pSetuplist->MAX_FHCompensate.dIEC2006_APC25mm = atof(tem);
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->MAX_FHCompensate.dTelicordia_APC = atof(tem);
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->MAX_FHCompensate.dSelf_APC = atof(tem);
	//导入到当前补偿值
	if (m_pSetuplist->en_ConnectorType == PC12mm) {
		switch (m_pSetuplist->en_TestStandard) {
		case 0:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC1999_PC12mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC1999_PC12mm;
			break;
		case 1:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC2006_PC12mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC2006_PC12mm;
			break;
		case 2:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dTelicordia_PC12mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dTelicordia_PC12mm;
			break;
		case 3:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dSelf_PC12mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dSelf_PC12mm;
			break;
		}
	}
	else if (m_pSetuplist->en_ConnectorType == PC25mm) {
		switch (m_pSetuplist->en_TestStandard) {
		case 0:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC1999_PC25mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC1999_PC25mm;
			break;
		case 1:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC2006_PC25mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC2006_PC25mm;
			break;
		case 2:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dTelicordia_PC25mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dTelicordia_PC25mm;
			break;
		case 3:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dSelf_PC25mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dSelf_PC25mm;
			break;
		}
	}
	else if (m_pSetuplist->en_ConnectorType == APC) {
		switch (m_pSetuplist->en_TestStandard) {
		case 0:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC1999_APC;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC1999_APC;
			break;
		case 1:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC2006_APC12mm;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC2006_APC12mm;
			break;
		case 2:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dTelicordia_APC;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dTelicordia_APC;
			break;
		case 3:
			m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dSelf_APC;
			m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dSelf_APC;
			break;
		}
	}
	else {
		m_pSetuplist->dFiberHeight_CompensateMIN = m_pSetuplist->MIN_FHCompensate.dIEC2006_APC25mm;
		m_pSetuplist->dFiberHeight_CompensateMAX = m_pSetuplist->MAX_FHCompensate.dIEC2006_APC25mm;
	}

	//增加校准设置
	ReadString(_T("配置信息"), _T("校准间隔"), szOption2, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->nCalibrateInterval = atoi(tem);

	ReadString(_T("配置信息"), _T("校准精度M"), szOption3, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->fCalibrateAngleMAXM = atof(tem);

	ReadString(_T("配置信息"), _T("校准精度A"), szOption1, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->fCalibrateAngleMAXA = atof(tem);

	//增加对焦精度
	ReadString(_T("配置信息"), _T("对比度阈值"), szOption2, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->nContrastThreshold = atoi(tem);

	//增加报告格式
	ReadString(_T("配置信息"), _T("报告格式"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->reportForm = atoi(tem);
	//增加报告语言
	ReadString(_T("配置信息"), _T("报告语言"), szOption4, filename); // filename需要是“ini”文件
	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->b_savedatalanguage = atoi(tem);
	//增加界面参数
	ReadString(_T("配置信息"), _T("测试任务"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("文件名称"), szOption2, filename);
	ReadString(_T("配置信息"), _T("批次编号"), szOption3, filename);
	ReadString(_T("配置信息"), _T("数据保存"), szOption4, filename);
	ReadString(_T("配置信息"), _T("报告保存"), szOption5, filename);

	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->nTestTask = atoi(tem);



	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->strDatafilename = tem;

	tem.Format(_T("%s"), szOption3);
	m_pSetuplist->strCurTestNo = tem;

	tem.Format(_T("%s"), szOption4);
	m_pSetuplist->bDataSave = atoi(tem);

	tem.Format(_T("%s"), szOption5);
	m_pSetuplist->bReportSave = atoi(tem);
	//增加设定角度,设定精度
	ReadString(_T("配置信息"), _T("设定角度"), szOption1, filename); // filename需要是“ini”文件
	ReadString(_T("配置信息"), _T("角度精度"), szOption2, filename);

 	tem.Format(_T("%s"), szOption1);
	m_pSetuplist->set_angle = atof(tem);



	tem.Format(_T("%s"), szOption2);
	m_pSetuplist->angle_limit = atof(tem);
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值