当前位置: 首页>>代码示例>>C++>>正文


C++ CArray::SetAt方法代码示例

本文整理汇总了C++中CArray::SetAt方法的典型用法代码示例。如果您正苦于以下问题:C++ CArray::SetAt方法的具体用法?C++ CArray::SetAt怎么用?C++ CArray::SetAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CArray的用法示例。


在下文中一共展示了CArray::SetAt方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnAddMember

/**
 * Function name    CObjPropDeclBase::OnAddMember
 * Description      handler for the add member button
 * @return          -
 * @exception       -
 * @see             -
*/
void CObjPropDeclBase::OnAddMember() 
{
	CString	strName = _T("");
	CString	strAlias = _T("");
	CString	strComment = _T("");
	CString	strType = _T("");
	CString	strInitVal = _T("");
	CString strSclass = _T("");
	int		iCount = 0;

    //OH
    CString sIndex = _T("-1"); 
    CString sRange = _T("-1"); 
    CString sHint  = _T("No");  
    CArray<CString, CString>* pDataArray;
    pDataArray = new CArray<CString, CString>;
    pDataArray->Add(sIndex);
    pDataArray->Add(sRange);
    pDataArray->Add(sHint);
    //
    
    CModifyFbMember aFbMember(m_pszSClasses);

    aFbMember.SetParent(this);

	switch(aFbMember.DoModal())
	{
	case IDOK:
		aFbMember.GetMemberDecl(strName, strAlias, strComment, strType, strInitVal, strSclass);

		if(strName.IsEmpty() || strType.IsEmpty())
		{
			break;
		}

        CheckStringValue(strInitVal, strType, TRUE);

		iCount = m_FbMembers.GetItemCount();
		m_FbMembers.InsertItem(iCount, strSclass);
		m_FbMembers.SetItemText(iCount, m_aiCol[COL_NAME], strName);
		m_FbMembers.SetItemText(iCount, m_aiCol[COL_ALIAS], strAlias);
		m_FbMembers.SetItemText(iCount, m_aiCol[COL_COMMENT], strComment);
		m_FbMembers.SetItemText(iCount, m_aiCol[COL_TYPE], strType);
		m_FbMembers.SetItemText(iCount, m_aiCol[COL_INITVAL], strInitVal);
        sHint = _T("Add");
        pDataArray->SetAt(2, sHint);
        m_FbMembers.SetItemData(iCount, (DWORD)pDataArray);
		break;
	case IDCANCEL:
		break;
	default:
		;
	}
    //select first Item
    if(m_FbMembers.GetItemCount() > 0)
    {
        BOOL bSelected = m_FbMembers.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
    }
	return;
}
开发者ID:LM25TTD,项目名称:ATCMcontrol_Engineering,代码行数:67,代码来源:ObjPropDeclBase.cpp

示例2: Move

// [*] перемещает жест или элемент списка жестов element на родительский уровень parent
void CIdentify::Move(int element, int parent)
{
	switch(m_Gestures[element].m_GroupStatus)
	{
	case 0:// простой жест
		{
			printArray(m_Gestures,m_nGestures);
			CGesture gesture;
			gesture=m_Gestures[element];
			TRACE(gesture.m_Description);

			m_Gestures.InsertAt(parent+1,gesture);

			printArray(m_Gestures,m_nGestures);

			if(parent>element)
				m_Gestures.RemoveAt(element);
			else
				m_Gestures.RemoveAt(element+1);
			printArray(m_Gestures,m_nGestures);
			// модифицируем тунель
			m_Tunnel.Move(element,1,parent+1);

		}
	break;
	case 1: // группа жестов
		{
			printArray(m_Gestures,m_nGestures);
			int level=0,count=0,i=element;
			do
			{
				switch(m_Gestures[i++].m_GroupStatus)
				{
					case 0:

					break;
					case 1:
						level++;
					break;
					case 2:
						level--;
					break;
				}
				count++;
			}
			while(level>0);
			CArray<CGesture> group;
			group.SetSize(count);
			for(i=0;i<count;i++)
				group.SetAt(i,m_Gestures[element+i]);
			printArray(group,count);
			m_Gestures.InsertAt(parent+1,&group);
			printArray(m_Gestures,m_nGestures);
			if(parent>element)
				m_Gestures.RemoveAt(element,count);
			else
				m_Gestures.RemoveAt(element+count,count);
			printArray(m_Gestures,m_nGestures);
			// модифицируем тунель
			m_Tunnel.Move(element,count,parent+1);
		}
	break;
	default:
		ASSERT(FALSE);
	}
}
开发者ID:shergin,项目名称:downright,代码行数:67,代码来源:Identify.cpp

示例3: if

int	CDlgBlockAnalysis::ComputeListData(int iCurTab)					
{
	
	TYPEANDBLOCK	*pType = m_TypeAndBlock->m_ayBlockCalc.GetAt(iCurTab);
	CArray<BlockInfo*, BlockInfo*>	*pBlock = &pType->ayBlock;
	BlockInfo	*pCurBlock;

	ListDrowData		*pListData = m_ayDrowData.GetAt(iCurTab);
	CArray<LineDrowData*, LineDrowData*>	*pLine = &pListData->ayList;
	LineDrowData	*pCurLine;

	CArray<double, double>	ayDouble;

	CArray<CodeInfo*, CodeInfo*>	*payStock;
	CArray<StockUserInfo*, StockUserInfo*>  *payCalStock;
	CodeInfo							*pStock;
	CString			strStockCode;

	int				iIend = pType->ayBlock.GetSize();		//相当在LIST表明表中有几行
	int				iJend = m_AryListColHandName.GetSize();				//相当于在LIST中有几列
	int				iZend;												//当前行的股票数
	int				f, iFend = pType->ayCalcStock.GetSize();	//当前TAB的所有股票数
	double			iCheckNum = 0;										//流通盘总数
	int				j;

	pListData->iDrowNum = iJend;
	ayDouble.SetSize(iJend - 1);

	for(int i = 0; i < iIend; i++)			//列表中的行数,也就是当前类的板块数
	{
		pCurLine = pLine->GetAt(i);
		pCurLine->ayLine.SetSize(iJend - 1);

		for(j = 0; j< iJend - 1; j++)
		{
			ayDouble.SetAt(j, 0);
			pCurLine->ayLine.SetAt(j, 0);
		}

		pCurBlock = pBlock->GetAt(i);
		iZend = pCurBlock->ayStockList.GetSize();
		pCurLine->ayLine.SetAt(0, iZend);				//股票数

		payStock = &(pCurBlock->ayStockList);
		payCalStock = &(pType->ayCalcStock);

		iCheckNum = 0;
		for(int z = 0; z < iZend; z ++)		//每一行中,股票的数量
		{
			pStock = payStock->GetAt(z);
			strStockCode.Format("%s", pStock->m_cCode);

			//for(f = 0; f < iFend; f ++)		//得到当前股票在当前TAB中的索引f
			//{
			//	pCalStock = payCalStock->GetAt(f);
			//	if(strStockCode.Compare(pCalStock->m_ciStockCode.GetCode()) == 0)
			//		break;
			//}
			TabStockSortData* pIndex = m_ayStockIndex.GetAt(iCurTab);
			f = GetStockIndex(pIndex, strStockCode);

			if(f == -1)					//如果没有
				continue;

			BlockCalcRet *pCalRet = pType->ayCalcRet.GetAt(f);
			BlockOtherData *pOtherRet = pType->ayOtherData.GetAt(f);

			if( pCalRet->ayValues.GetSize() <= 0 )
				continue;
			for(j = 2; j < iJend; j++)	//对每支股票进行list的列数次计算
			{
				LISTCOLHANDNAME pHandCol = m_AryListColHandName.GetAt(j);

				if(pHandCol.iType == 1)	//如果的加权平均	
					ayDouble[j - 1] += (double)(pCalRet->ayValues.GetAt(j -2)) 
											  * (double)(pOtherRet->m_dCapital);
				else																	//否则全部累加
					ayDouble[j - 1] += (double)(pCalRet->ayValues.GetAt(j - 2));
			}
			iCheckNum += pOtherRet->m_dCapital;
		}
		if(iZend == 0)
			continue;
		for(j = 2; j < iJend; j++)
		{
			LISTCOLHANDNAME pHandCol = m_AryListColHandName.GetAt(j);

			if(pHandCol.iType == 0)
				ayDouble[j - 1] /= iZend;
			else if(pHandCol.iType == 1)
				ayDouble[j - 1] /= iCheckNum;
			pCurLine->ayLine.SetAt(j - 1, ayDouble[j - 1]);
		}
		int iTransmited = 100 + i * 100 / iIend;
		::SendMessage(g_hParentWnd, HX_USER_COMPILEDATA, 13, (LPARAM)iTransmited);
	}
	::SendMessage(g_hParentWnd, HX_USER_COMPILEDATA, 14, 0);
	return 0;
}
开发者ID:hefen1,项目名称:XCaimi,代码行数:99,代码来源:DlgBlockAnalysis.cpp


注:本文中的CArray::SetAt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。