/** * 字符串转换为无符号整数 * @param CString strData 字符串 * @return unsigned int 无符号整数 */ unsigned int CIPList::ConvertStringToUnsignedInt(CString strData) { COleVariant oVariant = strData; oVariant.ChangeType(VT_UINT); unsigned int uiData = oVariant.uintVal; return uiData; }
void CDlg::OnBnClickedButton5() { //Товар-склад COleVariant vC; short i; BeginWaitCursor(); HMODULE hMod; BOOL bFndC; CString strFndC; bFndC = FALSE; strFndC = _T(""); if(IsEnableRec(ptrRs1)){ i = 0; vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); strFndC = vC.bstrVal; strFndC.TrimLeft(); strFndC.TrimRight(); bFndC = TRUE; } hMod=AfxLoadLibrary(_T("OrdStrg.dll")); typedef BOOL (*pDialog)(CString,_ConnectionPtr,CString,BOOL); pDialog func=(pDialog)GetProcAddress(hMod,"startOrdStrg"); (func)(m_strNT, ptrCnn,strFndC,bFndC); // m_SlpDay.SetDate(t1); AfxFreeLibrary(hMod); EndWaitCursor(); }
void CDlg::OnShowEdit(void) { COleVariant vC; short i; CString strC; if(ptrRs1->State==adStateOpen){ if(!IsEmptyRec(ptrRs1)){ i = 1; //Сокр наимен vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); m_Edit1 = vC.bstrVal; m_Edit1.TrimLeft(); m_Edit1.TrimRight(); GetDlgItem(IDC_EDIT1)->SetWindowText(m_Edit1); i = 2; //Наименование vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); m_Edit2 = vC.bstrVal; m_Edit2.TrimLeft(); m_Edit2.TrimRight(); GetDlgItem(IDC_EDIT2)->SetWindowText(m_Edit2); } } }
/** * 响应仪器图形视图弹出菜单设置迂回道 * @param unsigned int uiInstrumentType 低端仪器类型 1-交叉站;2-电源站;3-采集站 * @param unsigned int uiSN 低端仪器设备号 * @param unsigned int uiInstrumentType 高端仪器类型 1-交叉站;2-电源站;3-采集站 * @param unsigned int uiSN 高端仪器设备号 * @return void */ void CTabDetour::OnGraphViewInstrumentSetDetour(unsigned int uiInstrumentTypeLow, unsigned int uiSNLow, unsigned int uiInstrumentTypeHigh, unsigned int uiSNHight) { CBCGPGridRow* pRow = NULL; COleVariant oVariant; pRow = m_oGridCtrlEdit.GetRow(0); // 得到BoxType字符串 CString strBoxType = m_pSiteData->GetBoxTypeStringByID(uiInstrumentTypeLow); oVariant = strBoxType; pRow->GetItem(0)->SetValue(oVariant); CString strSNLow; strSNLow.Format("%d", uiSNLow); oVariant = strSNLow; oVariant.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariant); oVariant = (long)1; oVariant.ChangeType(VT_BSTR); pRow->GetItem(2)->SetValue(oVariant); strBoxType = m_pSiteData->GetBoxTypeStringByID(uiInstrumentTypeHigh); oVariant = strBoxType; pRow->GetItem(3)->SetValue(oVariant); CString strSNHigh; strSNHigh.Format("%d", uiSNHight); oVariant = strSNHigh; oVariant.ChangeType(VT_BSTR); pRow->GetItem(4)->SetValue(oVariant); oVariant = (long)1; oVariant.ChangeType(VT_BSTR); pRow->GetItem(5)->SetValue(oVariant); }
void CDlg::OnShowEdit(void) { COleVariant vC; short i; CString strC; if(IsEnableRec(ptrRs1)){ if(!ptrRs1->adoEOF){ try{ i = 1; //Сокр наим vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); m_Edit1 = vC.bstrVal; m_Edit1.TrimLeft(); m_Edit1.TrimRight(); GetDlgItem(IDC_EDIT1)->SetWindowText(m_Edit1); i = 2; //Полн Наименование vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); m_Edit2 = vC.bstrVal; m_Edit2.TrimLeft(); m_Edit2.TrimRight(); GetDlgItem(IDC_EDIT2)->SetWindowText(m_Edit2); } catch(_com_error& e){ AfxMessageBox(e.Description()); } } } }
CString CSpriteSet::GetPropValue(CMFCPropertyGridProperty* pProp) { COleVariant vPropValue = pProp->GetValue(); vPropValue.ChangeType(VT_BSTR); CString strValue = CString(vPropValue.bstrVal); return strValue; }
/** * 响应鼠标单击按钮;Reset * @param void * @return void */ void CTabMute::OnBnClickedButtonReset() { CBCGPGridRow* pRow = NULL; POSITION pos= NULL; CMuteData oMuteData; COleVariant oVariant; pRow = m_oGridCtrlEdit.GetRow(0); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); m_oGridCtrlList.RemoveAll(); // 列表 int iCount = m_pSiteData->m_oMuteList.m_olsMute.GetCount(); for(int i = 0; i < iCount; i++) { pos = m_pSiteData->m_oMuteList.m_olsMute.FindIndex(i); oMuteData = m_pSiteData->m_oMuteList.m_olsMute.GetAt(pos); pRow = m_oGridCtrlList.CreateRow(m_oGridCtrlList.GetColumnCount()); oVariant = (long)oMuteData.m_uiLineName; oVariant.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariant); oVariant = (long)oMuteData.m_uiPointNb; oVariant.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariant); m_oGridCtrlList.AddRow(pRow, FALSE); } m_oGridCtrlEdit.AdjustLayout(); m_oGridCtrlList.AdjustLayout(); }
void CDlg::OnShowEdit(void) { COleVariant vC; short i; CString strC; if(ptrRs1->State==adStateOpen){ if(!IsEmptyRec(ptrRs1)){ i = 1; //Наименовнаие документа vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); m_Edit1 = vC.bstrVal; m_Edit1.TrimLeft(); m_Edit1.TrimRight(); GetDlgItem(IDC_EDIT1)->SetWindowText(m_Edit1); i = 2; //Признак серии vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BOOL); m_Check1 = vC.boolVal; ((CButton*)GetDlgItem(IDC_CHECK1))->SetCheck(m_Check1); i = 3; //Признак # vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BOOL); m_Check2 = vC.boolVal; ((CButton*)GetDlgItem(IDC_CHECK2))->SetCheck(m_Check2); i = 4; //Признак даты vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BOOL); m_Check3 = vC.boolVal; ((CButton*)GetDlgItem(IDC_CHECK3))->SetCheck(m_Check3); } } }
void Cwhu_FaxSettingDlg::Lin_ImportAutoForArr(CString m_FilePath,CStringArray &m_AutoForward) { int Number = 0; //m_DutyArr数组必须足够大// //导入 CApplication app; CWorkbook book; CWorkbooks books; CWorksheet sheet; CWorksheets sheets; CRange range; LPDISPATCH lpDisp; //定义变量// COleVariant covOptional((long) DISP_E_PARAMNOTFOUND,VT_ERROR); if (!app.CreateDispatch(_T("Excel.Application"))) { this->MessageBox(_T("无法创建Excel应用")); } books = app.get_Workbooks(); //打开Excel,其中m_FilePath为Excel表的路径名// lpDisp = books.Open(m_FilePath,covOptional ,covOptional,covOptional,covOptional ,covOptional,covOptional,covOptional ,covOptional,covOptional,covOptional ,covOptional,covOptional,covOptional ,covOptional); book.AttachDispatch(lpDisp); sheets = book.get_Worksheets(); sheet = sheets.get_Item(COleVariant((short)1)); CStringArray m_ContentArr; for (int ItemNum = 2;ItemNum<40;ItemNum++) { for (int ColumNum=1;ColumNum<11;ColumNum++) { CString m_pos = Lin_GetEnglishCharacter(ColumNum); CString m_Itempos; m_Itempos.Format(_T("%d"),ItemNum); CString m_str = m_pos+m_Itempos; range = sheet.get_Range(COleVariant(m_str),COleVariant(m_str)); //获得单元格的内容 COleVariant rValue; rValue = COleVariant(range.get_Value2()); //转换成宽字符// rValue.ChangeType(VT_BSTR); //转换格式,并输出// CString m_content = CString(rValue.bstrVal); if (m_content!=_T("")) { m_AutoForward.Add(m_content); } } } book.put_Saved(TRUE); app.Quit(); }
/** * 响应鼠标单击列表 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CTabPage::OnGridCtrlListLButtonDownA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { CBCGPGridRow* pRow = pGridCtrlList->GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(0)->GetValue(); oVariant.ChangeType(VT_BSTR); pGridCtrlEdit->GetRow(0)->GetItem(0)->SetValue(oVariant); } }
/** * 响应鼠标单击按钮;Reset * @param void * @return void */ void CTabTestLimit::OnBnClickedButtonReset() { CBCGPGridRow* pRow = NULL; POSITION pos= NULL; CTestLimitList* pTestLimitList = NULL; COleVariant oVariant; COleVariant oVariantString; if(1 == m_uiAim) // 测试对象 1-仪器;2-检波器 { pTestLimitList = &m_pSiteData->m_oTestLimitListInstrument; } else if(2 == m_uiAim) // 测试对象 1-仪器;2-检波器 { pTestLimitList = &m_pSiteData->m_oTestLimitListSensor; } pRow = m_oGridCtrlEdit.GetRow(0); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); pRow->GetItem(2)->SetValue(""); pRow->GetItem(3)->SetValue(""); pRow->GetItem(4)->SetValue(""); m_oGridCtrlList.RemoveAll(); // 列表 int iCount = pTestLimitList->m_olsTestLimit.GetCount(); for(int i = 0; i < iCount; i++) { pos = pTestLimitList->m_olsTestLimit.FindIndex(i); CTestLimitData& oTestLimitData = pTestLimitList->m_olsTestLimit.GetAt(pos); pRow = m_oGridCtrlList.CreateRow(m_oGridCtrlList.GetColumnCount()); oVariant = (long)oTestLimitData.m_uiNb; oVariant.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariant); oVariant = oTestLimitData.m_strDesc; pRow->GetItem(1)->SetValue(oVariant); oVariant = oTestLimitData.m_strUnit; pRow->GetItem(2)->SetValue(oVariant); oVariantString = m_pSiteData->GetTestTypeStringByID(oTestLimitData.m_uiType); oVariantString.ChangeType(VT_BSTR); pRow->GetItem(3)->SetValue(oVariantString); oVariant = oTestLimitData.m_fLimit; oVariant.ChangeType(VT_BSTR); pRow->GetItem(4)->SetValue(oVariant); m_oGridCtrlList.AddRow(pRow, FALSE); } m_oGridCtrlEdit.AdjustLayout(); m_oGridCtrlList.AdjustLayout(); }
void CDateRemind::SetDateTime(CString date) { COleVariant VariantTime; VariantTime = date; VariantTime.ChangeType(VT_DATE); COleDateTime DateTime = VariantTime; m_nYear = DateTime.GetYear(); m_nMonth = DateTime.GetMonth(); m_nDay = DateTime.GetDay(); }
void CDlg::On32776(void) { // Изменить // UpdateData(); CString strSql,strC; _variant_t vra; COleVariant vC; VARIANT* vtl = NULL; short IndCol,i; if(ptrRs1->State==adStateOpen){ if(!IsEmptyRec(ptrRs1)){ i = 0; //Код vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); strC = vC.bstrVal; strC.TrimRight(); strC.TrimRight(); if(OnOverEdit(IDC_EDIT1,IDC_EDIT2)){ strSql = _T("UT9 "); strSql+= strC + _T(",'"); strSql+= m_Edit1 + _T("','"); strSql+= m_Edit2 + _T("','"); strSql+= m_strNT + _T("'"); ptrCmd1->CommandText = (_bstr_t)strSql; ptrCmd1->CommandType = adCmdText; try{ // AfxMessageBox(strSql); ptrCmd1->Execute(&vra,vtl,adCmdText); } catch(_com_error& e){ AfxMessageBox(e.Description()); } strSql = _T("QT9"); OnShowGrid(strSql, ptrRs1,ptrCmd1,m_DataGrid1,InitDataGrid1); if(ptrRs1->State==adStateOpen){ if(!IsEmptyRec(ptrRs1)){ if(!m_Edit1.IsEmpty()){ IndCol = 0; m_Flg = false; OnFindInGrid(strC,ptrRs1,IndCol,m_Flg); m_Flg = true; } } } } } } return; }
/** * @brief 响应鼠标单击按钮;Add * @note 该函数总是向列表框的后面追加记录。 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @param CList<int, int>* ListNb Nb号队列指针 * @return void */ void CGridCtrlOperation::OnBnClickedButtonAddA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { int i; int iNb; COleVariant oEditVariant; CBCGPGridRow* pRowEdit = NULL; // 输入行 CBCGPGridRow* pRowNew = NULL; // 新行 int iRowID = 0; CList<int, int> ListNb; // 得到索引队列,增加操作 if(false == GetIndexListForAdd(pGridCtrlEdit, &ListNb)) { return; } pRowEdit = pGridCtrlEdit->GetRow(0); while(FALSE == ListNb.IsEmpty()) { // 得到索引号 iNb = ListNb.RemoveHead(); // 索引号在列表中已经存在 if(NULL != pGridCtrlList->FindRowByData(iNb)) { continue; } pRowNew = pGridCtrlList->CreateRow(pGridCtrlList->GetColumnCount()); pRowNew->SetData(iNb); oEditVariant.vt = VT_UI4; oEditVariant.ulVal = iNb; oEditVariant.ChangeType(VT_BSTR); pRowNew->GetItem(0)->SetValue(oEditVariant); for(i = 1; i < pGridCtrlList->GetColumnCount(); i++) { oEditVariant= pRowEdit->GetItem(i)->GetValue(); pRowNew->GetItem(i)->SetValue(oEditVariant); } pGridCtrlList->AddRow(pRowNew, FALSE); /* if(iSelectRowIndex == -1) // 无选中行 { pGridCtrlList->AddRow(pRowNew, FALSE); } else { pGridCtrlList->InsertRowAfter(iSelectRowIndex + iRowID, pRowNew, FALSE); iRowID++; }*/ } pGridCtrlList->AdjustLayout(); }
/** * @brief 解析文本框的格式 * @note 在文本框中 / 表示列表框中当前值不会被更改。 V 表示数值 V 将被应用到指定一行或一组行。 V/i 或 V/+i (或 V/-i)表示从 V 开始的步进 (或步减)值将被应用到指定一组行上。 (+ 符号为可选)。 /i 或 /+i (或 /-i)表示步进(或步减) 将被应用到指定一组行的已存在数值上。 * @param COleVariant* pEditVariant 编辑框的内容 * @param COleVariant* pListVariant 文本框的内容 * @param int nIndex 循环次数,如V/i的格式时,用于计算 V + nIndex*i * @return */ COleVariant CGridCtrlOperation::GetValueForTextField(COleVariant* pEditVariant,COleVariant* pListVariant,int nIndex) { int nPos; CString strData; COleVariant oResultVariant; try { // 格式 V ,不是字符串 if(pEditVariant->vt!=VT_BSTR) { return *pEditVariant; } strData = *pEditVariant; // 格式 / if(!strData.CompareNoCase(_T("/"))) { return *pListVariant; } // 格式 V nPos = strData.Find('/'); if(nPos<0) { return *pEditVariant; } else if(nPos ==0) // 解析格式 /i { strData.Remove('/'); oResultVariant = strData; oResultVariant.ChangeType(VT_R4); pListVariant->ChangeType(VT_R4); oResultVariant.fltVal = pListVariant->fltVal + nIndex * oResultVariant.fltVal; return oResultVariant; } else // 解析格式 V/i { float fValue,fStep; strData.Replace(_T("/"),_T(" ")); _stscanf_s(LPCTSTR(strData),_T("%f%f"),&fValue,&fStep); oResultVariant = fValue + nIndex * fStep; return oResultVariant; } } catch (CException* ) { oResultVariant.vt = VT_EMPTY; } return oResultVariant; }
// FillList // Called when a new Target Object Property is Set // Iterates through the property map and adds the items to the // List Control void CPropMapCtrl::FillList() { // REVIEW: handle Security Checking when that stuff is done if (!m_pPropMap) { // if the thing is null it means that the list should be emptied ClearList(); return; } HRESULT hr = S_OK; CString cstrName; BSTR bstrReturnValue = NULL; // yes, iterate through properties VARIANT_BOOL fLastItem = VARIANT_FALSE; COleVariant varProperty; hr = m_pPropMap->get_IsEmpty( &fLastItem ); if (FAILED(hr)) goto failexit; if( ! fLastItem ) { varProperty.Clear(); hr = m_pPropMap->FirstItem( &bstrReturnValue, &varProperty, &fLastItem ); if (NONSECURITYFAIL(hr)) goto failexit; while( !(fLastItem == VARIANT_TRUE)) { // Get the name of the Item in the PropertyMap. cstrName = bstrReturnValue; if (SUCCEEDED(hr)) AddVariantItem( varProperty, cstrName ); SAFEFREESTRING(bstrReturnValue); hr = m_pPropMap->NextItem( &bstrReturnValue, &varProperty, &fLastItem ); if (NONSECURITYFAIL(hr)) goto failexit; } } m_listCtrl.Sort(); failexit: SAFEFREESTRING(bstrReturnValue); }
/** * 响应鼠标单击双击列表 * @param void * @return void */ void CTabTestSensor::OnGridCtrlListDblClk() { OnGridCtrlListDblClkA(&m_oGridCtrlEdit, &m_oGridCtrlList); CBCGPGridRow* pRow = m_oGridCtrlList.GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(3)->GetValue(); oVariant.ChangeType(VT_BSTR); CString AbsoluteSpread = oVariant; AbsoluteSpread.Replace(";", "\r\n"); GetDlgItem(IDC_EDIT_ABSOLUTESPREAD)->SetWindowText(AbsoluteSpread); } }
/** * 响应检波器图形视图弹出菜单Mute设置 * @param unsigned int uiNbLine 测线号 * @param unsigned int uiNbPoint 测点号 * @return void */ void CTabMute::OnGraphViewSensorSetMute(unsigned int uiNbLine, unsigned int uiNbPoint) { CBCGPGridRow* pRow = NULL; COleVariant oVariant; pRow = m_oGridCtrlEdit.GetRow(0); oVariant = (long)uiNbLine; oVariant.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariant); oVariant = (long)uiNbPoint; oVariant.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariant); }
/** * 响应鼠标单击双击列表 * @param void * @return void */ void CTabSpreadAbsolute::OnGridCtrlListDblClk() { OnGridCtrlListDblClkA(&m_oGridCtrlEdit, &m_oGridCtrlList); CBCGPGridRow* pRow = m_oGridCtrlList.GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(2)->GetValue(); oVariant.ChangeType(VT_BSTR); CString AbsoluteSpread = oVariant; AbsoluteSpread.Replace(";", "\r\n"); m_oEditAbsoluteSpread.SetWindowText(AbsoluteSpread); } }
/** * @brief 单击列表框中某一条目 * @note * @param CGridCtrlEdit* pGridEdit * @param CGridCtrlList* pGridList * @return */ void CGridCtrlOperation::OnGridItemClick(CGridCtrlEdit* pGridEdit,CGridCtrlList* pGridList) { if(!pGridList || !pGridEdit) return; CBCGPGridRow* pRowList = pGridList->GetCurSel(); if(!pRowList) return ; CBCGPGridRow* pRowEdit = pGridEdit->GetRow(0); if(!pRowEdit) return ; COleVariant oVariant = pRowList->GetItem(0)->GetValue(); oVariant.ChangeType(VT_BSTR); pRowEdit->GetItem(0)->SetValue(oVariant); }
/** * 响应鼠标单击双击列表 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CTabPage::OnGridCtrlListDblClkA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { CBCGPGridRow* pRow = pGridCtrlList->GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(0)->GetValue(); oVariant.ChangeType(VT_BSTR); pGridCtrlEdit->GetRow(0)->GetItem(0)->SetValue(oVariant); for(int i = 1; i < pGridCtrlList->GetColumnCount(); i++) { oVariant = pRow->GetItem(i)->GetValue(); pGridCtrlEdit->GetRow(0)->GetItem(i)->SetValue(oVariant); } } }
void CSlotConnect::ProcessOps(VARIANT &V) { if (m_Ops.GetSize() || m_bInvert) { COleVariant T; T.ChangeType(VT_R8, &V); if (m_bInvert && m_bIsGet) T.dblVal = (T.dblVal!=0? 0.0 : 1.0); for (int i=0; i<m_Ops.GetSize(); i++) T.dblVal=m_Ops[i]->Exec(T.dblVal, 0); if (m_bInvert && m_bIsSet) T.dblVal = (T.dblVal!=0? 0.0 : 1.0); VariantChangeType(&V, &T, 0, V.vt); } };
int CTriasVMD::GetRegistryValue( LPCTSTR lpszKeyValue, COleVariant& val ) { CString strKey; // strKey.Format( g_cbVMCfgKey, GetProgIdent() ); strKey.Format( g_cbVMCfgKey, REG_COMPANY_KEY,REG_PRODUCT_KEY,GetProgIdent() ); val.Clear(); HKEY hKey; DWORD dwType; if( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER, strKey, 0L, KEY_READ, &hKey ) ) { TCHAR szBuffer[256]; ULONG lSize = sizeof( szBuffer ) / sizeof( *szBuffer ); if( ERROR_SUCCESS == ::RegQueryValueEx( hKey, lpszKeyValue, 0L, &dwType, (BYTE*) szBuffer, &lSize ) ) { switch( dwType ) { case REG_DWORD : val = *(long*) szBuffer; break; case REG_SZ : val = (LPCTSTR) szBuffer; break; default : dwType = REG_NONE; } } else dwType = REG_NONE; ::RegCloseKey( hKey ); } return dwType; }
void CDlg::OnClickedCancel() { if(m_bFndC){ if(IsEnableRec(ptrRs1)){ COleVariant vC; short i; i = 0; vC = GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); m_strFndC = vC.bstrVal; m_strFndC.TrimLeft(); m_strFndC.TrimLeft(); } } OnCancel(); }
BOOL CRecSetProc::IsQuery(CString substr, _RecordsetPtr rs) { COleVariant vC; CString strC; vC = rs->GetSource(); vC.ChangeType(VT_BSTR); strC=vC.bstrVal; //AfxMessageBox(strC); if(strC.Find(substr)==-1){ return FALSE; } else{ return TRUE; } }
BOOL CPropertyBagDlg::OnInitDialog() { POSITION posItem; CPropertyBagItem* pItem; int iItem; int iLVItem; COleVariant varString; CString strColumnTitle; CString str; CDialog::OnInitDialog(); // Add the appropriate columns to the parameter list control. LOAD_STRING_FROM_RESOURCE(strColumnTitle, IDS_PROPERTY); m_lvProperties.InsertColumn( 0, strColumnTitle, LVCFMT_LEFT, 100 ); LOAD_STRING_FROM_RESOURCE(strColumnTitle, IDS_VALUE); m_lvProperties.InsertColumn( 1, strColumnTitle, LVCFMT_LEFT, 100 ); LOAD_STRING_FROM_RESOURCE(strColumnTitle, IDS_TYPE); m_lvProperties.InsertColumn( 2, strColumnTitle, LVCFMT_LEFT, 100 ); iItem = 0; posItem = m_pPropertyBag->GetFirstItemPosition(); while( posItem != NULL ) { pItem = m_pPropertyBag->GetNextItem( posItem ); iLVItem = m_lvProperties.InsertItem( iItem, pItem->m_strName ); m_lvProperties.SetItemText( iLVItem, 0, pItem->m_strName ); TRY { varString.ChangeType( VT_BSTR, pItem->m_varValue ); str = varString.bstrVal; } CATCH( COleException, e ) { LOAD_STRING_FROM_RESOURCE(str, IDS_UNABLETOREPRESENT); } END_CATCH m_lvProperties.SetItemText( iLVItem, 1, str ); m_lvProperties.SetItemText( iLVItem, 2, VTToString( pItem->m_varValue.vt ) ); iItem++; }
/** * 响应鼠标单击按钮;Apply * @param void * @return void */ void CTabDetour::OnBnClickedButtonApply() { CBCGPGridRow* pRow = NULL; CDetourData oDetourData; CString strData; m_pSiteData->m_oDetourList.m_olsDetour.RemoveAll(); m_pSiteData->m_oDetourList.m_uiCountAll = m_oGridCtrlList.GetRowCount(); for(int i = 0; i < m_oGridCtrlList.GetRowCount(); i++) { pRow = m_oGridCtrlList.GetRow(i); strData = pRow->GetItem(0)->GetValue(); // 得到BoxType oDetourData.m_uiBoxTypeLow = m_pSiteData->GetBoxTypeIDByString(strData); strData = pRow->GetItem(1)->GetValue(); oDetourData.m_uiSNLow = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(2)->GetValue(); oDetourData.m_uiChannelNbLow = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(3)->GetValue(); // 得到BoxType oDetourData.m_uiBoxTypeHigh = m_pSiteData->GetBoxTypeIDByString(strData); strData = pRow->GetItem(4)->GetValue(); oDetourData.m_uiSNHigh = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(5)->GetValue(); oDetourData.m_uiChannelNbHigh = CXMLDOMTool::ConvertStringToUnsignedInt(strData); COleVariant oVariant = pRow->GetItem(6)->GetValue(); oVariant.ChangeType(VT_UINT); if(0 == oVariant.uintVal) { oDetourData.m_uiStopMarking = 0; } else { oDetourData.m_uiStopMarking = 1; } m_pSiteData->m_oDetourList.m_olsDetour.AddTail(oDetourData); } }
void CDlg::OnBnClickedButton1() { BeginWaitCursor(); // m_SlpDay.SetDate(t1); HMODULE hMod; BOOL bFndC; CString strFndC,strIns; COleVariant vC; short i; bFndC = TRUE; strFndC = _T(""); if(IsEnableRec(ptrRsCmb1)){ i = 0; vC = GetValueRec(ptrRsCmb1,i); vC.ChangeType(VT_BSTR); strFndC = vC.bstrVal; strFndC.TrimLeft(); strFndC.TrimRight(); } hMod=AfxLoadLibrary(_T("NameUnit.dll")); typedef BOOL (*pDialog)(CString,_ConnectionPtr,CString&,BOOL); pDialog func=(pDialog)GetProcAddress(hMod,"startNameUnit"); (func)(m_strNT, ptrCnn,strFndC,bFndC); // m_SlpDay.SetDate(t1); AfxFreeLibrary(hMod); try{ ptrRsCmb1->Requery(adCmdText); m_DataCombo1.Refresh(); OnFindInCombo(strFndC,&m_DataCombo1,ptrRsCmb1,0,1); i = 1; vC = GetValueRec(ptrRsCmb1,i); vC.ChangeType(VT_BSTR); strIns = vC.bstrVal; m_DataCombo1.put_BoundText(strIns); } catch(_com_error& e){ AfxMessageBox(e.Description()); } EndWaitCursor(); }
/** * 响应鼠标单击按钮;Apply * @param void * @return void */ void CTabMarker::OnBnClickedButtonApply() { CBCGPGridRow* pRow = NULL; CMarkerData oMarkerData; CString strData; m_pSiteData->m_oMarkerList.m_olsMarker.RemoveAll(); m_pSiteData->m_oMarkerList.m_uiCountAll = m_oGridCtrlList.GetRowCount(); for(int i = 0; i < m_oGridCtrlList.GetRowCount(); i++) { pRow = m_oGridCtrlList.GetRow(i); strData = pRow->GetItem(0)->GetValue(); // 得到BoxType oMarkerData.m_uiBoxType = m_pSiteData->GetBoxTypeIDByString(strData); strData = pRow->GetItem(1)->GetValue(); oMarkerData.m_uiSN = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(2)->GetValue(); oMarkerData.m_uiLineName = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(3)->GetValue(); oMarkerData.m_uiPointNb = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(4)->GetValue(); oMarkerData.m_uiChannelNb = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(5)->GetValue(); oMarkerData.m_uiMarkerIncr = CXMLDOMTool::ConvertStringToUnsignedInt(strData); COleVariant oVariant = pRow->GetItem(6)->GetValue(); oVariant.ChangeType(VT_UINT); if(0 == oVariant.uintVal) { oMarkerData.m_uiReversed = 0; } else { oMarkerData.m_uiReversed = 1; } m_pSiteData->m_oMarkerList.m_olsMarker.AddTail(oMarkerData); } }
void CDlg::OnShowAddres(void) { COleVariant vC; CString strC,strSql; short i;//,IndCol; if(IsEnableRec(ptrRs1)){ if(!ptrRs1->adoEOF){ i=0; vC=GetValueRec(ptrRs1,i); vC.ChangeType(VT_BSTR); strC=vC.bstrVal; strSql = _T("QT49 "); strSql+= strC; OnShowGrid(strSql, ptrRs2, ptrCmd2, m_DataGrid2, InitDataGrid2); } } }