示例#1
0
int CParseString::Parse(CStringArray& array, CString separ)
{
   Init(separ);
   CString word;
   array.RemoveAll();
   while (GetNextWord(word)) array.Add(word);
   return (int)array.GetSize();
}
示例#2
0
void CFavorite::getFavUrl(CStringArray &arrayUrl)
{
    int size = arrayUrl.GetSize();
    for (int i=0; i<m_favString.GetSize(); ++i)
    {
        arrayUrl.InsertAt(size+i, m_favString.GetAt(i));
    }
}
/**
 * add files.
 *
 * @param           [in] rastrFiles: string array of file names to be added
 * @param           [in] bSelected: file is selected? Default is TRUE
 * @return          successful?
*/
void CPPFileCollection::AddFiles(CStringArray& rastrFiles, BOOL bSelected /*=TRUE*/, BOOL bTemporary /*=FALSE*/)
{
    int iNumFiles = rastrFiles.GetSize();
    for(int iFile = 0; iFile < iNumFiles; ++iFile)
    {
        AddFile(rastrFiles[iFile], rastrFiles[iFile], bSelected, bTemporary);
    }
}
示例#4
0
/////////////////////////////////////////////////////////////////////////////
// 枚举参数名
/////////////////////////////////////////////////////////////////////////////
int CPlugIn::EnumParameters(CStringArray& asName)
{
	for(int i=0; i<m_arParameter.GetSize(); i++)
	{
		asName.Add(m_arParameter[i].m_strName);
	}
	return asName.GetSize();
}
示例#5
0
// 提取所有字符串
int hgzExtractSubStrings(				// 成功返回提取的子串数,不成功返回 0
	CStringArray& arr,				// 提取到的子串数组
	const CString& cstrFullString,	// 原字符串
	const CString& regexSep )		// 分隔符字符串
{
	int size = arr.GetSize();
	CString str(cstrFullString);
	CString subStr;
	int i = 0;
	while (hgzExtractSubString(subStr, str, i,	regexSep))
	{
		arr.Add(subStr);
		i++;
	}

	return arr.GetSize() - size;
}
BOOL CFileNavDlg::BeginDownloadFiles(CStringArray& strURLs, CDWordArray& dwActionCodes)
{
	for(int j = 0; j < strURLs.GetSize(); j++)
	{
		TRACE(_T("%s\n"), strURLs[j]);
	}
	return CAcUiNavDialog::BeginDownloadFiles(strURLs, dwActionCodes);
}
示例#7
0
int CUserListCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CP4ListCtrl::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	CStringArray colnames;
	colnames.Add ( LoadStringResource(IDS_NAME) );
	colnames.Add ( LoadStringResource(IDS_E_MAIL) );
	colnames.Add ( LoadStringResource(IDS_FULL_NAME) );
	colnames.Add ( LoadStringResource(IDS_ACCESS) );
	ASSERT( USER_MAXCOL == colnames.GetSize( ) );
	int width[ USER_MAXCOL ]={90,150,150,90};
	RestoreSavedWidths( width, colnames.GetSize( ), sRegValue_UserList );
	InsertColumnHeaders( colnames, width );

	return 0;
}
示例#8
0
unsigned char CHgzComboBox::GetWindowDec( void )
{
	CString str;
	GetWindowText(str);

	CStringArray arr;
	hgzExtractSubStrings(arr, str, _T(" +"));
	unsigned int *pi = new unsigned int[arr.GetSize()];
	int i;
	for (i = 0; i < arr.GetSize(); i++)
	{
		_stscanf_s(arr[i], _T("%d"), pi + i);
	}
	unsigned char x = (unsigned char)pi[0];
	delete [] pi;
	return x;
}
示例#9
0
// Start of helper functions
BOOL CWaveformTransmitter::bIsWaveformSignalPresent(void)
{
    ASSERT(NULL != m_pWaveDataHandler);
    CStringArray arrSignalNames;
    m_pWaveDataHandler->vGetAllDefinedSignalsNames(arrSignalNames);
    return (m_pWaveDataHandler->nGetNumberOfDefinedSignals() > 0
            && arrSignalNames.GetSize()>0 );
}
示例#10
0
// ============================================================================
void SaveStringArray(CArchive &ar, CStringArray &strArr)
{
	int count = strArr.GetSize();
	ar << count;

	for(int i = 0; i < count; i++)
		ar << strArr[i];
}
示例#11
0
static void DispInfoExt(HWND hDlg,CShellExt *lpcs)
{
	//クリア
	long items = ListBox_GetCount(GetDlgItem(hDlg,IDC_LIST_VALUE));
	if(items != LB_ERR)
	{
		for(int i=0; i<items; i++)
		{
			COggExt *oggExt = (COggExt *)ListBox_GetItemData(GetDlgItem(hDlg,IDC_LIST_VALUE),0);
			if(oggExt)
			{
				delete oggExt;
			}
			ListBox_DeleteString(GetDlgItem(hDlg,IDC_LIST_VALUE),0);
		}
	}

	CString strDisp;
	CStringArray strArray;
	lpcs->m_Ogg.GetCommentNames(strArray);
	items = 0;
	for(int i=0; i<strArray.GetSize(); i++)
	{
		CString strName = strArray.GetAt(i);
		CString strValue;
		CString _strValue;
		int j = 0;
		while(1)
		{
			if(!lpcs->m_Ogg.GetComment(strName,j++,strValue))
			{
				break;
			}

			//標準名は除外
			if((j == 1) &&
				(
				!strName.Compare(_T("TITLE")) ||
				!strName.Compare(_T("TRACKNUMBER")) ||
				!strName.Compare(_T("ARTIST")) ||
				!strName.Compare(_T("ALBUM")) ||
				!strName.Compare(_T("ALBUMARTIST")) ||
				!strName.Compare(_T("DISCNUMBER")) ||
				!strName.Compare(_T("DATE")) ||
				!strName.Compare(_T("GENRE")) ||
				!strName.Compare(_T("COMMENT")))
				)
			{
				continue;
			}
//			TRACE(_T("OGG %s %s\n"),strName,strValue);
			COggExt *oggExt = new COggExt(strName,strValue);
			ListBox_AddString(GetDlgItem(hDlg,IDC_LIST_VALUE),oggExt->Get1LineDisp());
			ListBox_SetItemData(GetDlgItem(hDlg,IDC_LIST_VALUE),items,oggExt);
			items++;
		}
	}
}
示例#12
0
BOOL COutWnd::bAddString(CStringArray& omStrArray)
{
    BOOL bReturn     = TRUE;
    INT  nTotalCount = (COMMANINT)omStrArray.GetSize();
    INT  nReturnAdd  = 0;
    //   vResetContent();
    MDIActivate();
    omStrArray.Add(" ");
    INT nCount; //nCount declared outside
    for( nCount=0; nCount<nTotalCount; nCount++)
    {
        nReturnAdd = m_omListBox.AddString(omStrArray.GetAt(nCount));
        if(nReturnAdd<0)
        {
            bReturn = FALSE;
        }
    }
    // Set horizontal extent of the list box to max string availaable
    // so that user can scroll
    CSize   sz(0,0);
    CString omStrText   = "";
    CDC*  pDC = m_omListBox.GetDC();
    TEXTMETRIC   tm;
    pDC->GetTextMetrics(&tm);
    //Check for valid dc and then set the horizontal extent
    if( pDC != NULL)
    {
        //Select the new font object to calculte the extent
        //because font is set for window not for CDC
        CFont* pOldFont = pDC->SelectObject(&m_omNewFont);
        INT nTotalItem =  m_omListBox.GetCount();
        INT nDx = 0;
        for (nCount = 0; nCount < nTotalItem; nCount++)
        {
            m_omListBox.GetText( nCount, omStrText );
            // remove space
            omStrText.TrimRight();
            sz = pDC->GetTextExtent(omStrText);
            //Add avg char width for avoiding any wrapping up
            sz.cx += tm.tmAveCharWidth;
            if (sz.cx > nDx)
            {
                nDx = sz.cx;
            }
        }
        //release the new font
        pDC->SelectObject(pOldFont);
        m_omListBox.ReleaseDC(pDC);
        // Set the horizontal extent so every character of all strings
        // can be scrolled to.
        m_omListBox.SetHorizontalExtent(nDx);
    }
    else
    {
        bReturn = FALSE;
    }
    return bReturn;
}
示例#13
0
文件: djvuDlg.cpp 项目: mar80nik/djvu
void CollectFiles(CString InputDir,CStringArray &Files)
{
	if(!(Files.GetSize())) return;

	CDjvuDlg *parent=(CDjvuDlg *)(MAINAPP->m_pMainWnd);
	SearchRsltDlg *dlg=(SearchRsltDlg *)(&(MAINAPP->SRDlg2));
	CString T,ListFile=InputDir+"\\list.txt";
	CString name,OutFile, OutPath; 
	int i,j; j=InputDir.ReverseFind('\\'); 
	name=InputDir.Right(InputDir.GetLength()-j-1);
	OutPath=InputDir.Left(j);
	OutFile.Format("%s\\%s_$$$.djvu",OutPath,name);

	CFile list; char buf[2]; buf[0]=0x0d; buf[1]=0x0a;
	list.Open(ListFile,CFile::modeCreate | CFile::modeWrite);
	for(i=0;i<Files.GetSize();i++)
	{
		T=InputDir+"\\"+Files[i];
		list.Write(LPCSTR(T),T.GetLength()); list.Write(buf,2);
	}
	list.Close();
	
	
	T.Format("%cdjvubundle.exe%c --files=%c%s%c %c%s%c",34,34,34,ListFile,34,34,OutFile,34);
	STARTUPINFO si;  GetStartupInfo(&si); PROCESS_INFORMATION &pi1=MAINAPP->pi;	
	if(CreateProcess(NULL, (char *)LPCSTR(T), NULL, NULL, FALSE, DETACHED_PROCESS | CREATE_SUSPENDED | IDLE_PRIORITY_CLASS, NULL, NULL, &si, &pi1)) 
	{
		ResumeThread(pi1.hThread);
		WaitForSingleObject(pi1.hThread,INFINITE);

		HANDLE SearchHandle;
		WIN32_FIND_DATA FindFileData;
		if( (SearchHandle=FindFirstFile(LPCSTR(OutFile),&FindFileData) )!=INVALID_HANDLE_VALUE)
		{
			T.Format("%d files bundled SUCSESFULLY",Files.GetSize()); dlg->CollectInfo.AddString(T);
			T.Format("%s",OutFile); dlg->CollectInfo.AddString(T);
			for(i=0;i<Files.GetSize();i++)  {T=InputDir+"\\"+Files[i];DeleteFile(T);}			
			DeleteFile(ListFile);	
		}
		else
		{
			T.Format("There was an ERROR"); dlg->CollectInfo.AddString(T);		
		}		
	}	
}
示例#14
0
void PCFInstrument::Init( const CStringArray& wordArray )
{
	int wordNum = wordArray.GetSize();
	int pointNum = 0 ;
	for(int i = 0; i < wordNum; i++)
	{
       SetSEBPoint(wordArray, i, pointNum, m_PointList, m_CenterPt);
	}
}
示例#15
0
void PCFPumpData::Init( const CStringArray& wordArray )
{
	int wordNum = wordArray.GetSize();
	int pointNum = 0 ;
	for(int i = 0; i < wordNum; i++)
	{
		SetSEFromBasePt(wordArray, i, pointNum, m_PointList, m_CenterPt);
	}
}
BOOL CTextFile::AppendFile( CString& filename, const CStringArray& contents )
/* ============================================================
	Function :		CTextFile::AppendFile
	Description :	Appends contents to filename. Will create 
					the file if it doesn't already exist.
					If filename is empty, the standard file 
					dialog will be displayed, and - if OK is 
					selected - filename will contain the 
					selected filename on return.
					
	Return :		BOOL					-	TRUE if OK. 
												GetErrorMessage 
												will return 
												errors
	Parameters :	CString& filename		-	file to write to
					CStringArray contents	-	contents to write

   ============================================================*/
{

	CStdioFile file;
	CFileException feError;
	BOOL result = TRUE;

	if( filename.IsEmpty() )
		result = GetFilename( TRUE, filename );

	if( result )
	{
		// Write the file
		if( file.Open( filename, CFile::modeWrite | CFile::modeCreate | CFile::modeNoTruncate, &feError ) )
		{

			file.SeekToEnd();

			int max = contents.GetSize();
			for( int t = 0 ; t < max ; t++ )
				file.WriteString( contents[ t ] + m_eol );

			file.Close();

		}
		else
		{

			// Set error message
			TCHAR	errBuff[256];
			feError.GetErrorMessage( errBuff, 256 );
			m_error = errBuff;
			result = FALSE;

		}
	}

	return result;

}
示例#17
0
int CHgzComboBox::GetWindowDec(int *pDec)
{
	CString str;
	GetWindowText(str);

	CStringArray arr;
    hgzExtractSubStrings(arr, str, _T(" +"));
	int *pi = new int[arr.GetSize()];
	int i;
	for (i = 0; i < arr.GetSize(); i++)
	{
	    _stscanf_s(arr[i], _T("%d"), pi + i);
		pDec[i] = pi[i]; // 将输入序列的高字节存储在 Bytes 中的低地址中。(Big-Endian)
	}

	delete [] pi;
	return i;
}
示例#18
0
bool MyDouBan::Parse( const CString &strJson, JSON_INFO &tJsonInfo )
{
	string strJ = (LPCTSTR)strJson;
	
	size_t index = 0;
	
	strJ = strJ.substr(1, strJ.length()-2);
	
	//查询 此次返回的图书数量
	strJ = strJ.substr(8);
	index = strJ.find(',');
	string strValue = strJ.substr(0, index);
	strJ = strJ.substr(index);
	
	tJsonInfo.m_nCount = atoi(strValue.c_str());
	
	//查询 所获结果在全部结果中的偏移值
	strJ = strJ.substr(9);
	index = strJ.find(',');
	strValue = strJ.substr(0, index);
	strJ = strJ.substr(index);
	tJsonInfo.m_nOffset = atoi(strValue.c_str());
	
	//查询 全部书目条数
	strJ = strJ.substr(9);
	index = strJ.find(',');
	strValue = strJ.substr(0, index);
	strJ = strJ.substr(index);
	tJsonInfo.m_nTotal = atoi(strValue.c_str());
	
	//如果没有获取到书目,则直接返回
	if (0 == tJsonInfo.m_nCount ||
		0 == tJsonInfo.m_nTotal)
	{
		return true;
	}
	
	//将表示书目的Json字符串按每本书分割到字符串数组中
	strJ = strJ.substr(11, strJ.length()-12);
	CStringArray sarrBooks;
	ApiSplitToArray(sarrBooks, strJ.c_str(), "\"rating\":", TRUE, 1);
	int iCount = sarrBooks.GetSize();
	if (0 == iCount)
	{
		return false;
	}
	
	for (int i=0; i<iCount; ++i)
	{
		BOOK book;
		if (GetBookInfo(sarrBooks.GetAt(i), book))
		{
			tJsonInfo.m_lsBooks.push_front(book);
		}
	}
	return true;	
}
示例#19
0
void AddMapItems(CStringArray& aKeys,CStringArray& aTitles, const char* szKey, const char* szDsc)
{
	for(int i=0;i<aKeys.GetSize();i++){
		if(aKeys[i]==szKey){
			return;
		}
	}
	aTitles.SetAtGrow(aKeys.Add(szKey),szDsc);
}
示例#20
0
void PCFValve::Init( const CStringArray& wordArray )
{
	int wordNum = wordArray.GetSize();
	int pointNum = 0 ;
	for(int i = 0; i < wordNum; i++)
	{
       SetBFromSEPt(wordArray, i, pointNum, m_PointList, m_CenterPt);
	}
}
示例#21
0
文件: Tool.cpp 项目: ngphloc/design
CString Sub(CStringArray& aszX)//Hieu cua cac tap hop
{
    CString tempS=aszX[0];

    for(int i=1; i<aszX.GetSize(); i++)
        tempS=Sub(tempS,aszX[i]);
    return tempS;

}
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;
	
}
示例#23
0
	void CPreferences::SetUrlFilter(CStringArray &filter)
	{
		m_arrayUrlFilter.RemoveAll();

		for (int i=0; i<filter.GetSize(); ++i)
		{
			m_arrayUrlFilter.Add(filter.GetAt(i));
		}
	}
BOOL CCustomAutoComplete::SetList(const CStringArray &astrItemList)
{
	ATLASSERT(astrItemList.GetSize() != 0);

	Clear();
	m_asList.Append(astrItemList);

	return TRUE;
}
示例#25
0
int CHgzComboBox::GetWindowHex(unsigned char * pHex)
{
	CString str;
	GetWindowText(str);

	CStringArray arr;
    hgzExtractSubStrings(arr, str, _T(" +"));
	unsigned int *pi = new unsigned int[arr.GetSize()];
	int i;
	for (i = 0; i < arr.GetSize(); i++)
	{
	    _stscanf_s(arr[i], _T("%x"), pi + i);
		pHex[i] = (unsigned char)pi[i]; // 将输入序列的高字节存储在 Bytes 中的低地址中。(Big-Endian)
	}

	delete [] pi;
	return i;
}
示例#26
0
gbool GUrlCache::AddCacheDirectory(const char *dir,CStringArray &readCacheDirs)
{
    CString directory;
    directory = dir;

    directory.TrimRight();
    directory.TrimLeft();

    if (directory.IsEmpty()) return FALSE;

    //
    if (strprefix(directory,"cdrom") ||  strprefix(directory,"CDROM")) { // replace cd rom with found cdroms
        int i=0;

        const char *x = directory;
        x+=strlen("cdrom");

        // get cdrom id
        if (*x >= '0' &&  *x <'9') {
            i = (*x - '0');
            x++;
        }
        // skip the :
        if (*x == ':') x++;



        if (i<cdroms.GetSize()) {
            CString dir = cdroms.GetAt(i);
            // strip of prefix


            if (*x == '\\') x++;
            else if (*x == '/') x++;

            directory = dir  + CString(x);


        }
        else return FALSE; // no cdrom
    }

    // filter out duplicates
    for (int i=0; i<readCacheDirs.GetSize(); i++) {
        if (readCacheDirs.GetAt(i) == directory)
            return FALSE;
    }


    if (ExistsDirectory(directory)) {
        readCacheDirs.Add(directory);
        return TRUE;
    }
    return FALSE;

}
BOOL CBCGPTagManager::ParseString (const CString& str, const CString& sep, CStringArray& sa, BOOL bTrim, BOOL bIncludeEmpty)
{
	sa.RemoveAll ();

	if (str.IsEmpty ())
	{
		return FALSE;
	}

	CString s (str);
	if (bTrim)
	{
		s.TrimLeft ();
		s.TrimRight ();
	}
	
	if (s.IsEmpty ())
	{
		return FALSE;
	}

	if (sep.IsEmpty ())
	{
		return FALSE;
	}

	int pos = s.Find (sep);
	int sepLength = sep.GetLength ();

	while (pos != -1)
	{
		CString sp = s.Left (pos);
		s = s.Right (s.GetLength () - sepLength - pos);

		if (bTrim)
		{
			sp.TrimLeft ();
			sp.TrimRight ();
			s.TrimLeft ();
		}

		if ((sp.IsEmpty () && bIncludeEmpty) || !sp.IsEmpty ())
		{
			sa.Add (sp);
		}

		pos = s.Find (sep);

		if (pos == -1 && ((s.IsEmpty () && bIncludeEmpty) || !s.IsEmpty ()))
		{
			sa.Add (s);
		}
	}

	return sa.GetSize () > 0;
}
/**
 * sort toolbar.
 *
 *  sorts toolbar items according to the corresponding main menu.
 *
 * @param           
 * @return          
 * @exception       -
 * @see             
*/
void CKADToolbar::SortToolbar(CKADMenu* pMenu)
{
    // run over all toolbar items and inser them into lex tree
    CSBLLexTree<CKADToolbarItem>    tItemTree;
    CKADToolbarItem*                pToolbarItem;
    CKADMenuItem*                   pMenuItem;
    int                             iNumItems;

    // run over item list and insert them into the lex tree
    POSITION    pos = m_tItemList.GetHeadPosition();
    while(pos)
    {
        pToolbarItem = m_tItemList.GetAt(pos);
        if(pToolbarItem->m_iMainMenuItemNo >= 0)
        {
            pMenuItem = pMenu->GetMenuItemWithId(pToolbarItem->m_iMainMenuItemNo);
            ASSERT(pMenuItem);
            if(pMenuItem)
            {
                if(!pMenuItem->m_strOrderKey.IsEmpty())
                {
                    VERIFY(tItemTree.insertData(pMenuItem->m_strOrderKey, pToolbarItem));
                }
                else
                {
                    delete pToolbarItem;
                }
            }
        }
        m_tItemList.GetNext(pos);
    }

    // now delete item array and fill it sorted
    m_tItemList.RemoveAll();

    CStringArray    astrOrderKeys;
    CString         strOrderKeyOld;
    CString         strOrderKeyNew;

    tItemTree.getAllStringsFromSubstring("", astrOrderKeys);
    iNumItems = astrOrderKeys.GetSize();
    for(int iItem = 0; iItem < iNumItems; ++iItem)
    {
        strOrderKeyNew = astrOrderKeys[iItem];
        pToolbarItem = tItemTree.getData(strOrderKeyNew);
        if(!strOrderKeyNew.IsEmpty() && !strOrderKeyOld.IsEmpty())
        {
            if(strOrderKeyNew[0] != strOrderKeyOld[0])
            {
                AddSeparatorItem();
            }
        }
        m_tItemList.AddTail(pToolbarItem);
        strOrderKeyOld = strOrderKeyNew;
    }
}
示例#29
0
void CLogObjectCAN::Der_SetDatabaseFiles(const CStringArray& omList)
{
    // Clear before updating
    m_omListDBFiles.RemoveAll();

    for (int nIdx = 0; nIdx < omList.GetSize(); nIdx++)
    {
        m_omListDBFiles.Add(omList.GetAt(nIdx));
    }
}
示例#30
0
文件: Tool.cpp 项目: ngphloc/design
void Combine(CStringArray& aszX, CString s, int k,CStringArray& aszC)
{
    if(aszX.GetSize() > 10)
    {
        AfxMessageBox("So to hop qua lon",MB_OK);
        aszX.SetSize(10);
    }

    int i,j;
    CStringArray  aszTemp;
    for(i=k; i<aszX.GetSize(); i++)
    {
        aszTemp.Add(s + aszX[i]);
        aszC.Add(Union(s , aszX[i]));
    }
    k++;
    for(j=0; j<aszTemp.GetSize(); j++)
        Combine(aszX,aszTemp[j],j+k,aszC);
}