/**
* 字符串转换为无符号整数
* @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;
}
Exemple #2
0
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();
}
Exemple #3
0
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);
}
Exemple #5
0
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());
			}
		}
	}
}
Exemple #6
0
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();
}
Exemple #8
0
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();
}
Exemple #12
0
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();
}
Exemple #13
0
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);
		}
	}
}
Exemple #22
0
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);
    }
  };
Exemple #23
0
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;
}
Exemple #24
0
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();
}
Exemple #25
0
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;
	}

}
Exemple #26
0
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);
	}
}
Exemple #28
0
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);
	}
}
Exemple #30
0
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);

		}
	}
}