void cGraph::LoadFromDB() { myGraph.clear(); int row_count = theDB.Query(L"SELECT * FROM vertex;"); vertex_iter_t vi; for( int k = 0; k < row_count; k++ ) { boost::add_vertex( myGraph ); vi = boost::vertices( myGraph ).second - 1; myGraph[*vi].myName = theDB.myResult[k*5+1]; myGraph[*vi].myFixedLocation = _wtoi(theDB.myResult[k*5+4].c_str()) != 0; //if( myGraph[*vi].myFixedLocation ) { myGraph[*vi].myPoint[0] = _wtof(theDB.myResult[k*5+2].c_str()); myGraph[*vi].myPoint[1] = _wtof(theDB.myResult[k*5+3].c_str()); //} } row_count = theDB.Query(L"SELECT * FROM edge;"); for( int k = 0; k < row_count; k++ ) { int a,b; a = _wtoi( theDB.myResult[k*3+1].c_str()); b = _wtoi( theDB.myResult[k*3+2].c_str()); boost::add_edge( a, b, myGraph ); } }
void CReflectSettingDlg::OnBnClickedOk() { CString szTemp; m_edtStartAlpha.GetWindowTextW(szTemp); m_fStartAlpha = _wtof(szTemp); if(m_fStartAlpha < 0.0f || m_fStartAlpha > 1.0f) { MessageBox(_T("Starting transparency is lesser than 0.0 or greater than 1.0"), _T("Error"), MB_OK); return; } m_edtEndAlpha.GetWindowTextW(szTemp); m_fEndAlpha = _wtof(szTemp); if(m_fEndAlpha < 0.0f || m_fEndAlpha > 1.0f) { MessageBox(_T("Ending transparency is lesser than 0.0 or greater than 1.0"), _T("Error"), MB_OK); return; } m_edtShown.GetWindowTextW(szTemp); m_fShown = _wtof(szTemp); if(m_fShown < 0.0f || m_fShown > 1.0f) { MessageBox(_T("Image shown is lesser than 0.0 or greater than 1.0"), _T("Error"), MB_OK); return; } m_edtGap.GetWindowTextW(szTemp); m_nGap = _wtoi(szTemp); CDialog::OnOK(); }
CStubCreature* CMapFileIO::LoadPlayer(XML_MANAGER_HANDLE xml, XML_NODE_HANDLE hPlrNode) const { CStubCreature *pPlr = 0; XML_NODE_HANDLE sub = RetrieveNode(xml, hPlrNode, L"position"); if(!sub) return 0; LPWSTR xt = GetNodeAttr(xml, sub, L"x"); if(!xt) return 0; LPWSTR yt = GetNodeAttr(xml, sub, L"y"); if(!yt) return 0; LPWSTR zt = GetNodeAttr(xml, sub, L"z"); if(!zt) return 0; float x = (float)_wtof(xt); float y = (float)_wtof(yt); float z = (float)_wtof(zt); D3DXVECTOR3 pos = D3DXVECTOR3(x, y, z); //deleted at LoadMap pPlr = new CStubCreature(0, 0, 0, 0, 0, pos, L"player", 0); ReleaseNode(sub); ReleaseTextString(xt); ReleaseTextString(yt); ReleaseTextString(zt); return pPlr; }
//销毁编辑框// void CNewConfigGraChiDlg::distroyEdit(CListCtrl *list, CEdit* distroyedit, int &Item, int &SubItem) { CString strEditData; float tempfloat; int nTempData; distroyedit->GetWindowText(strEditData); strEditData = strEditData.Trim(); if (strEditData.IsEmpty()) //如果输入为空,则销毁编辑框// { distroyedit->DestroyWindow(); m_vectList2[Item].m_fSetValue = -3001; list->SetItemText(Item, 3, _T("")); return; } if (m_vectList2[Item].m_ValueType == 0 && (strEditData != _T("0") && strEditData != _T("1"))) { AfxMessageBox(_T("非法操作,该参数值只能为“0”或“1”!")); distroyedit->DestroyWindow(); //销毁对象// return; } if (strEditData == strEditData.SpanIncluding(_T("0123456789."))) { switch (m_vectList2[Item].m_ValueType) { case 0: if (strEditData==_T("0")) { m_vectList2[Item].m_fSetValue = 0; list->SetItemText(Item, 3, _T("0")); } else { m_vectList2[Item].m_fSetValue = 1; list->SetItemText(Item, 3, _T("1")); } break; case 1: case 2: case 3: nTempData = (float)_wtof(strEditData); m_vectList2[Item].m_fSetValue = nTempData; //将修改后的值存入容器// strEditData.Format(_T("%d"), nTempData); list->SetItemText(Item, 3, strEditData); //将修改写入列表框// break; case 4: case 5: tempfloat = (float)_wtof(strEditData); strEditData.Format(_T("%.2f"), tempfloat); list->SetItemText(Item, 3, strEditData); //将修改写入列表框// m_vectList2[Item].m_fSetValue = tempfloat; //将修改后的值存入容器// break; default: break; } } else AfxMessageBox(_T("非法操作,请输入数字!")); distroyedit->DestroyWindow(); //销毁对象// }
ICreature* CMapFileIO::LoadCreature(XML_MANAGER_HANDLE xml, XML_NODE_HANDLE hCreNode) const { ICreature* pCrt = 0; CSampleMobAnimator* pMa = 0; LPWSTR type = GetNodeAttr(xml, hCreNode, L"type"); if(!type) return 0; LPWSTR name = GetNodeAttr(xml, hCreNode, L"name"); if(!name) return 0; LPWSTR src = GetNodeAttr(xml, hCreNode, L"source"); if(!src) return 0; //deleted at LittleMap.cpp pCrt = CCreatureManager::GetInstance().CreateCreature(type, name, src); _ASSERT( pCrt!=NULL ); if( !pCrt ) return NULL; //deleted at Creature's destructor pMa = CCreatureManager::GetInstance().CreateAnimator(type, name, src); pCrt->SetAnimatorRef(pMa); pCrt->SetName(name); //position XML_NODE_HANDLE sub = RetrieveNode(xml, hCreNode, L"Location"); if(!sub) return 0; XML_NODE_HANDLE sub1 = RetrieveNode(xml, sub, L"position"); LPWSTR xt = GetNodeAttr(xml, sub1, L"x"); if(!xt) return 0; LPWSTR yt = GetNodeAttr(xml, sub1, L"y"); if(!yt) return 0; LPWSTR zt = GetNodeAttr(xml, sub1, L"z"); if(!zt) return 0; float x = (float)_wtof(xt); float y = (float)_wtof(yt); float z = (float)_wtof(zt); D3DXVECTOR3 pos = D3DXVECTOR3(x, y, z); pCrt->SetPosition(pos); ReleaseNode(sub); ReleaseNode(sub1); ReleaseTextString(name); ReleaseTextString(type); ReleaseTextString(src); ReleaseTextString(xt); ReleaseTextString(yt); ReleaseTextString(zt); return pCrt; }
int CSDMdlMachFeaMinSizeCheck::CheckAction(void *pData, const CheckRule &checkRule, CheckResult &checkResult) { ProMdl pMdl = (ProMdl)pData; if (NULL == pMdl) { checkResult.nResultType = CHECK_RESULT_INVALID_MODEL; return checkResult.nResultType; } if (!IsMdlTypeValid(pMdl, checkRule.dwMdlFilter)) { checkResult.nResultType = CHECK_RESULT_INVALID_MODEL; return checkResult.nResultType; } // 检查输入值有效性 if (checkRule.arrRuleContent.GetCount() < 1 || _wtof(checkRule.arrRuleContent[0]) <= 0 || DEQUAL(_wtof(checkRule.arrRuleContent[0]),0.0)) { checkResult.nResultType = CHECK_RESULT_INVALID_INPUT; return checkResult.nResultType; } FeaMinSizeVisitData VisitData; VisitData.nFeaMinSizeResultType = CHECK_RESULT_NO_ERROR; VisitData.dMinSizeRatio = _wtof(checkRule.arrRuleContent[0])/100; ProError status; status = ProSolidFeatVisit((ProSolid)pMdl, GeoFeaVisitAction, GeoFeaFilterAction, &VisitData); if (status == PRO_TK_E_NOT_FOUND) { VisitData.nFeaMinSizeResultType = CHECK_RESULT_ITEM_NOT_FOUND; return CHECK_RESULT_ITEM_NOT_FOUND; } checkResult.arrErrorItems.RemoveAll(); ErrorItem errItem; for (int i=0; i<VisitData.arrFeaMinSizeErrorIDs.GetSize(); i++) { errItem.nID = VisitData.arrFeaMinSizeErrorIDs[i]; errItem.nType = PRO_FEATURE; errItem.pOwner = pMdl; checkResult.arrErrorItems.Add(errItem); } checkResult.nResultType = VisitData.nFeaMinSizeResultType; return VisitData.nFeaMinSizeResultType; }
bool ParseVector2 (std::wifstream& in, vec2& v) { std::wstring buff; in >> buff; if(!isdigit(buff[0]) && buff[0] != '-') return false; v.x = (FLOAT)_wtof(buff.c_str()); in >> buff; if(!isdigit(buff[0]) && buff[0] != '-') return false; v.y = (FLOAT)_wtof(buff.c_str()); return true; }
void initVariables() { int args = 0; auto data = CommandLineToArgvW(GetCommandLineW(), &args); for(int i = 1; i < args; ++i) { if(data[i][0] == '-') //We recive a parameter { if(i < args - 1) //We have a data after parameter { if(data[i + 1][0] != '-') //We have a value { if(wcscmp(data[i] + 1, L"pointSize") == 0) { pointSize = _wtof(data[i + 1]); } else if(wcscmp(data[i] + 1, L"updateDelay") == 0) { updateDataDelay = _wtoi(data[i + 1]); } else if(wcscmp(data[i] + 1, L"particles") == 0) { partCount = _wtoi(data[i + 1]); auto align = partCount % 4; if(align != 0) partCount -= align; } else if(wcscmp(data[i] + 1, L"animateSlowDown") == 0) { animateSlowDown = _wtoi(data[i + 1]); } else if(wcscmp(data[i] + 1, L"G") == 0) { G = _wtof(data[i + 1]); } else if(wcscmp(data[i] + 1, L"animationType") == 0) { animationType = _wtoi(data[i + 1]); } else if(wcscmp(data[i] + 1, L"mathModel") == 0) { mathModel = _wtoi(data[i + 1]); } } else if(wcscmp(data[i] + 1, L"manual") == 0) { ManualControl = true; } } } } }
BOOL MainWindow::StartReconstruction() { // read in variables from GUI WCHAR szText[8]; INT nxy, nz; FLOAT res, cutoff; filter_type filter; SendMessage(m_hDimensions[0],WM_GETTEXT,64,(LPARAM)szText); nxy = _wtoi(szText); SendMessage(m_hDimensions[1],WM_GETTEXT,64,(LPARAM)szText); nz = _wtoi(szText); SendMessage(m_hDimensions[2],WM_GETTEXT,64,(LPARAM)szText); res = _wtof(szText); filter = (filter_type)SendMessage(m_hFilter,CB_GETCURSEL,NULL,NULL); cutoff = SendMessage(m_hCutoff,TBM_GETPOS,NULL,NULL)/10.0; m_Recon = new Reconstruction(nz, nxy, nxy, res, m_Proj); m_Recon->SetHWND(m_hwnd); m_Proj->CreateFilter(filter,cutoff); m_thrRecon = _beginthreadex(NULL, 0, Reconstruction::ReconThread, m_Recon, 0, NULL); if(!m_thrRecon) return FALSE; return TRUE; }
int CMSaveSimulation::ReliabilitySeries(const CMString& fname) { unsigned i; if (!open_file(fname)) return -1; wchar_t buffer[128]; get_data_from_simulation(); int oldformat = CMTime::SetOutputFormat(simincunits); long row=0; long nrows = 1 + relseries_records; for (i=0;i<reliability->Targets();i++) { const wchar_t* tname = reliability->Target(i)->GetString().c_str(); for (CMTime tm=outbeg;tm<=outend;tm.inc(simincsteps,simincunits),row++) { output_item(OutReliabilitySeries,tname,row,0,maxtargetlength,0); output_item(OutReliabilitySeries,_wtof(tm.GetString(buffer, 128)),row,1,fieldwidth,0); output_item(OutReliabilitySeries,reliability->FailPct(tm,i),row,2,fieldwidth,1); output_record_end(row); } } output_footer(OutReliabilitySeries); CMTime::SetOutputFormat(oldformat); delete fout; fout=0; return 0; }
void CMVArray::Set(int row,int col,const CMString& str) { if (row>=0 && row<_nrows && col>=0 && col<_ncols) { size_t index = row*_ncols + col; if (isnumber(str.c_str())) { double d = _wtof(str.c_str()); array[index].e = NULL; array[index].dVal = d; } else { CMExpression* e = new CMExpression(str.c_str()); if (e->IsPolynomial()) arraystate |= containsPolynomials; if (e->Fail()) { SetState(vsFailed, 1); ReportError(XBadVardef, e->GetString()); } array[index].e = e; } /* CMExpression* e = new CMExpression(str.c_str()); if (e->IsPolynomial()) arraystate |= containsPolynomials; if (e->Fail()) { SetState(vsFailed,1); ReportError(XBadVardef,e->GetString()); } array.AddAt((long)row*ncols+col,e); */ } }
bool Project_Engine::Parse_Str_Float(wchar_t* Text_Buffer, int Line_length, int &nPosition, float& fValue) { wchar_t pwzNumber[20]; bool bResult = ReadNumber(Text_Buffer, Line_length, nPosition, pwzNumber); fValue = (bResult) ? (float)_wtof(pwzNumber) : 0; return false; }
int wmain(int argc, wchar_t* argv[]) { if(argc < 3) { std::wcerr << L"Usage: " << argv[0] << L" infile delay [forced samplerate]" << std::endl; std::wcerr << L"Delay is in milliseconds and may be fractional." << std::endl; return 1; } delay = _wtof(argv[2]); if(delay <= 0) { std::wcerr << L"Error: Delay must be positive millisecond value, may be fractional." << std::endl; return 1; } if(argc >= 4) { sampleRate = _wtoi(argv[3]); } FILE *f = _wfopen(argv[1], L"rb"); if(f == nullptr) { std::wcerr << L"Cannot open: " << argv[1] << L" for reading!" << std::endl; return 1; } std::wstring newFile = argv[1]; newFile += L".tmp"; FILE *of = _wfopen(newFile.c_str(), L"wb"); if(of == nullptr) { std::wcerr << L"Cannot open output file: " << newFile.c_str() << L" for writing!" << std::endl; return 1; } if(!DecodeWAV(f, of) && !DecodeFLAC(f, of)) { std::wcerr << L"Error: Unknown file type" << std::endl; fclose(of); _wremove(newFile.c_str()); return 1; } fclose(f); fclose(of); _stat stat; _wstat(argv[1], &stat); _utimbuf timbuf; timbuf.actime = stat.st_atime; timbuf.modtime = stat.st_mtime; _wutime(newFile.c_str(), &timbuf); _wremove(argv[1]); _wrename(newFile.c_str(), argv[1]); return 0; }
//销毁编辑框// void COldConfigGraChiDlg::distroyEdit(CListCtrl *list, CEdit* distroyedit, int &Item, int &SubItem) { CString strEditData; distroyedit->GetWindowText(strEditData); strEditData = strEditData.Trim(); if (strEditData.IsEmpty()) //如果输入为空,则销毁编辑框// { distroyedit->DestroyWindow(); if (m_vectConfigPara[Item].m_DefaultValue!=-3001) { m_vectConfigPara[Item].m_DefaultValue = -3001; m_bIsParaValueChange = true; } list->SetItemText(Item, 3, _T("")); return; } if (strEditData == strEditData.SpanIncluding(_T("0123456789."))) { float tempfloat = (float)_wtof(strEditData); strEditData.Format(_T("%.2f"), tempfloat); list->SetItemText(Item, 3, strEditData); //将修改写入列表框// if (tempfloat != m_vectConfigPara[Item].m_DefaultValue) //判断值是否发生了变化// { m_vectConfigPara[Item].m_DefaultValue = tempfloat; //将修改后的值存入容器// m_bIsParaValueChange = true; } } else AfxMessageBox(_T("非法操作,请输入数字!")); distroyedit->DestroyWindow(); //销毁对象// }
void convertScale(char targetScale) { double resultDouble = _wtof(result.c_str()); if (targetScale == 'c') { resultDouble *= 30.48; } else if (targetScale == 'f') { resultDouble *= 0.0328084; } else if (targetScale == 'k') { resultDouble *= 0.453592; } else if (targetScale == 'p') { resultDouble *= 2.20462; } std::wstringstream resultStream; resultStream << resultDouble; result = resultStream.str(); }
void QeAddNumberPattern(std::vector<TqePatInsts>& vPatterns, std::vector<WCHAR>& vNumber, size_t i) { if(vNumber.size() <= 2) return; size_t nZeros = 0; for(size_t j = 0; j < vNumber.size(); ++j) { if(vNumber[j] != L'0') break; ++nZeros; } double dblCost = QE_LOG2(static_cast<double>(nZeros + 1)); if(nZeros < vNumber.size()) { vNumber.push_back(0); // Terminate string const double d = _wtof(&vNumber[nZeros]); vNumber.pop_back(); if(d > 0.999) dblCost += QE_LOG2(d); else { ASSERT(FALSE); return; } } vPatterns[i].push_back(boost::shared_ptr<CQePatternInstance>( new CQePatternInstance(i, vNumber.size(), QE_PAT_NUMBER, dblCost))); }
// Ends-in Contrast Stretching의 최저값 설정 void CBMPFrame::OnIpEcsLowEnd() { // TODO: 여기에 명령 처리기 코드를 추가합니다. CMFCRibbonEdit *pSpin = DYNAMIC_DOWNCAST(CMFCRibbonEdit, ((CMainFrame*)GetTopLevelFrame())->GetRibbonBar()->FindByID(ID_IP_ECSLOW)); m_bEcsLowEnd = (BYTE)_wtof(pSpin->GetEditText()); }
void CPIDCreateDlg::OnGridEndEdit(NMHDR *pNotifyStruct, LRESULT* pResult) { pids.clear(); for (int row = 1; row < m_cPidTable.GetRowCount(); ++row) { CString startTemp = m_cPidTable.GetItemText(row, 1); CString targetTemp = m_cPidTable.GetItemText(row, 2); CString kp = m_cPidTable.GetItemText(row, 3); CString kd = m_cPidTable.GetItemText(row, 4); CString ki = m_cPidTable.GetItemText(row, 5); pids.push_back( PID( _wtof(startTemp), _wtof(targetTemp), _wtof(kp), _wtof(kd), _wtof(ki) ) ); } *pResult = 0; }
double getDoubleValue(HWND window, int controlId) { TCHAR value[16]; GetDlgItemText(window, controlId, value, 16); return _wtof(value); }
BOOL MainWindow::SetDimText() { WCHAR szText[64]; WCHAR szText2[32]; INT nxy, nz; FLOAT res, size_xy, size_z; SendMessage(m_hDimensions[0],WM_GETTEXT,64,(LPARAM)szText); nxy = _wtoi(szText); SendMessage(m_hDimensions[1],WM_GETTEXT,64,(LPARAM)szText); nz = _wtoi(szText); SendMessage(m_hDimensions[2],WM_GETTEXT,64,(LPARAM)szText); res = _wtof(szText); size_xy = nxy * res; size_z = nz * res; if(size_xy>1000) { size_xy /= 1000.0; StringCchPrintf(szText,64,L"Reconstruction volume:\n%1.3f m \u00D7 %1.3f m ", size_xy, size_xy); } else StringCchPrintf(szText,64,L"Reconstruction volume:\n%3.1f mm \u00D7 %3.1f mm ", size_xy, size_xy); if(size_z>1000) { size_z /= 1000.0; StringCchPrintf(szText2,32,L"\u00D7 %1.3f m", size_z); } else StringCchPrintf(szText2,32,L"\u00D7 %3.1f mm", size_z); StringCchCat(szText,sizeof(szText),szText2); SendMessage(m_hReconText[5],WM_SETTEXT,NULL,(LPARAM)szText); return TRUE; }
BOOL RichEditBkImg::StrPos2ItemPos(const SStringW &strPos, POSITION_ITEM & pos) { if(strPos.IsEmpty()) return FALSE; LPCWSTR pszPos = strPos; switch(pszPos[0]) { //case POSFLAG_REFCENTER: pos.pit=PIT_CENTER,pszPos++;break; //case POSFLAG_PERCENT: pos.pit=PIT_PERCENT,pszPos++;break; case POSFLAG_REFPREV_NEAR: pos.pit=PIT_PREV_NEAR,pszPos++;break; case POSFLAG_REFNEXT_NEAR: pos.pit=PIT_NEXT_NEAR,pszPos++;break; case POSFLAG_REFPREV_FAR: pos.pit=PIT_PREV_FAR,pszPos++;break; case POSFLAG_REFNEXT_FAR: pos.pit=PIT_NEXT_FAR,pszPos++;break; case POSFLAG_SIZE:pos.pit=PIT_SIZE,pszPos++;break; default: pos.pit=PIT_NORMAL;break; } pos.nRefID = -1;//not ref sibling using id if(pszPos [0] == L'-') { pos.cMinus = -1; pszPos ++; }else { pos.cMinus = 1; } pos.nPos=(float)_wtof(pszPos); return TRUE; }
float CIniFile::LoadFloat(CString strSecttionName,CString strKeyName,float fDefault) { float fReturnValue=0.00; TCHAR szRead[12]; ::GetPrivateProfileString(strSecttionName,strKeyName,_T("Error"),szRead,12,m_strFilePath); if(_tcscmp(szRead,_T("Error"))==0) { if (SaveValue(strSecttionName,strKeyName,fDefault)) { fReturnValue=fDefault; return fReturnValue; } else return fReturnValue; } else { #ifdef _UNICODE fReturnValue=float(_wtof(szRead)); #else fReturnValue=float(atof(szRead)); #endif return fReturnValue; } }
double CIniFile::LoadDouble(CString strSecttionName,CString strKeyName,double dDefault) { double dReturnValue=0.00; TCHAR szRead[12]; ::GetPrivateProfileString(strSecttionName,strKeyName,_T("Error"),szRead,12,m_strFilePath); if(_tcscmp(szRead,_T("Error"))==0) { if (SaveValue(strSecttionName,strKeyName,dDefault)) { dReturnValue=dDefault; return dReturnValue; } else return dReturnValue; } else { #ifdef _UNICODE dReturnValue=_wtof(szRead); #else dReturnValue=atof(szRead); #endif return dReturnValue; } }
void CClusterSettingDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); if(m_RadioCluMethod == 0) { //如果选择DBSCAN if(m_szeps.IsEmpty()) //扫描半径 { MessageBox(L"扫描半径不能为空",L"聚类设置",MB_ICONERROR); return; } m_eps = _wtof(m_szeps); if(m_eps == 0) //扫描半径 { MessageBox(L"请输入合法的扫描半径",L"聚类设置",MB_ICONERROR); return; } if(m_szMinpts.IsEmpty()) //扫描半径 { MessageBox(L"最小点数不能为空",L"聚类设置",MB_ICONERROR); return; } m_Minpts = _wtof(m_szMinpts); if(m_Minpts == 0) //扫描半径 { MessageBox(L"请输入合法的最小点数",L"聚类设置",MB_ICONERROR); return; } } else { if(m_szClusterNum.IsEmpty()) //扫描半径 { MessageBox(L"聚类类别数不能为空",L"聚类设置",MB_ICONERROR); return; } m_ClusterNum = _wtof(m_szClusterNum); if(m_ClusterNum == 0) //扫描半径 { MessageBox(L"请输入合法的聚类类别数",L"聚类设置",MB_ICONERROR); return; } } CDialogEx::OnOK(); }
double CMSaveSimulation::last_timestep_in_interval(const CMTime& t) { wchar_t buffer[128]; CMTime tm(t); tm.inc(outincsteps,outincunits); tm.inc(-1,simincunits); return _wtof(tm.GetString(buffer, 128)); }
int CSDMdlMachDeepHoleCheck::CheckAction(void *pData, const CheckRule &checkRule, CheckResult &checkResult) { ProMdl pMdl = (ProMdl)pData; if (NULL == pMdl) { checkResult.nResultType = CHECK_RESULT_INVALID_MODEL; return checkResult.nResultType; } if (!IsMdlTypeValid(pMdl, checkRule.dwMdlFilter)) { checkResult.nResultType = CHECK_RESULT_INVALID_MODEL; return checkResult.nResultType; } // 检查输入值有效性 if (checkRule.arrRuleContent.GetCount() < 1 || _wtof(checkRule.arrRuleContent[0]) <= 0 || DEQUAL(_wtof(checkRule.arrRuleContent[0]),0.0)) { checkResult.nResultType = CHECK_RESULT_INVALID_INPUT; return checkResult.nResultType; } DeepHoleFeaVisitData DeepHoleVisitData; DeepHoleVisitData.nDeepHoleResultType = CHECK_RESULT_NO_ERROR; DeepHoleVisitData.dDeepHoleRatio = _wtof(checkRule.arrRuleContent[0]); ProError status; status = ProSolidFeatVisit((ProSolid)pMdl, DeepHoleFeaVisitAction, NULL, &DeepHoleVisitData); checkResult.arrErrorItems.RemoveAll(); ErrorItem errItem; for (int i=0; i<DeepHoleVisitData.arrDeepHoleErrorIDs.GetSize(); i++) { errItem.nID = DeepHoleVisitData.arrDeepHoleErrorIDs[i]; errItem.nType = PRO_FEATURE; errItem.pOwner = pMdl; checkResult.arrErrorItems.Add(errItem); } checkResult.nResultType = DeepHoleVisitData.nDeepHoleResultType; return DeepHoleVisitData.nDeepHoleResultType; }
double FdoCommonOSUtil::wtof(const wchar_t* value) { #ifdef _WIN32 return _wtof(value); #else return wcstod(value, NULL); #endif }
void CWndStyleEditor::OnEnChangeEditBottom() { CString Str; m_rectBottom.GetWindowText(Str); m_Rect.bottom = (float)_wtof( Str.GetBuffer() ); m_StyleRender.SetDrawRect(m_Rect); if(m_pBlock) ((*m_pBlock)[m_BlockIndex]) = m_Rect; }
int CSDMdlMachChamferAngCheck::CheckAction(void *pData, const CheckRule &checkRule, CheckResult &checkResult) { ProMdl pMdl = (ProMdl)pData; if (NULL == pMdl) { checkResult.nResultType = CHECK_RESULT_INVALID_MODEL; return checkResult.nResultType; } if (!IsMdlTypeValid(pMdl, checkRule.dwMdlFilter)) { checkResult.nResultType = CHECK_RESULT_INVALID_MODEL; return checkResult.nResultType; } // 检查输入值有效性 if (checkRule.arrRuleContent.GetCount() < 1) { checkResult.nResultType = CHECK_RESULT_INVALID_INPUT; return checkResult.nResultType; } CStringArray arrChamferAng; CStringToCStringArray(checkRule.arrRuleContent[0], arrChamferAng); for (int i = 0; i < arrChamferAng.GetSize(); i++) { if (IsNumber(arrChamferAng.GetAt(i)) == FALSE || _wtof(arrChamferAng.GetAt(i)) < 0 || DEQUAL(_wtof(arrChamferAng.GetAt(i)),0.0)) { checkResult.nResultType = CHECK_RESULT_INVALID_INPUT; return CHECK_RESULT_INVALID_INPUT; } } ChamferFeaVisitAngData visitData; visitData.nResultType = CHECK_RESULT_NO_ERROR; visitData.strAngle = checkRule.arrRuleContent[0]; ProError status; status = ProSolidFeatVisit((ProSolid)pMdl, ChamferFeaVisitAction, ChamferFeaFilterAction, &visitData); checkResult.arrErrorItems.RemoveAll(); ErrorItem errItem; for (int i=0; i<visitData.arrChamferAngErrorIDs.GetSize(); i++) { errItem.nID = visitData.arrChamferAngErrorIDs[i]; errItem.nType = PRO_FEATURE; errItem.pOwner = pMdl; checkResult.arrErrorItems.Add(errItem); } checkResult.nResultType = visitData.nResultType; return visitData.nResultType; }
CString CMyDialogEx::calculateResult(){ setAurithmetic(0); CString result, additionalNumber; double first, second, n_result; if (this->m_edit == ""){ result = "0"; } else{ int i = 0; if (m_edit[0] == '-'){ i = 1; } while (i < m_edit.GetLength()){ if (m_edit[i] == '+' || m_edit[i] == '/' || m_edit[i] == '-' || m_edit[i] == '*'){ result = m_edit.Mid(0, i); break; } i++; } if (i == m_edit.GetLength()){ result = m_edit; } else if (i != m_edit.GetLength() - 1){ additionalNumber = m_edit.Mid(i + 1, m_edit.GetLength() - i - 1); first = _wtof(result); second = _wtof(additionalNumber); if (m_edit[i] == '+'){ n_result = first + second; } else if (m_edit[i] == '-'){ n_result = first - second; } else if (m_edit[i] == '*'){ n_result = first * second; } else{ n_result = first / second; } result.Format(_T("%lf"),n_result); } } return(result); }