Example #1
0
CSPString	AfxFaintlyChsToEnu( const char * szCh )
{
    static	CHS_ENU_PAIR	chs_enu_pairs[]	=	{
        { "中国",	" China " },
        { "指数",	" Index " },
        { "上证",	" Shanghai " },
        { "深证",	" Shenzhen " },
        { "基金",	" Fund " },
        { "国债",	" Bond " },
        { "债券",	" Bond " },
        { "转债",	" Convertible Bond " },
        { "银行",	" Bank " },
        { "其他",	" Other " },
        { "银行业",	" Bank " },
        { "",	"" },
    };

    CSPString	sResult = szCh;
    int i = 0;
    while( * chs_enu_pairs[i].chs )
    {
        sResult.Replace( chs_enu_pairs[i].chs, chs_enu_pairs[i].enu );
        i ++;
    }
    sResult.TrimLeft();
    sResult.TrimRight();

    return sResult;
}
Example #2
0
BOOL CDomainContainer::Load( LPCTSTR lpszFileName )
{
	if( NULL == lpszFileName || strlen(lpszFileName) <= 0 )
		return FALSE;

	BOOL	bOK	=	FALSE;
	CSPFile file;
	
	if( file.Open( lpszFileName, CSPFile::modeRead ) )
	{
		DWORD dwLen = file.GetLength();
		if( 0 == dwLen || dwLen > SF_MAX_DOMAINFILE_LENGTH )
		{
			file.Close();
			return FALSE;
		}

		SetSize( 0, min(dwLen / 300, 20) );

		CDomain	domain;
		CSPString	rString;
		while( file.ReadString( rString ) )
		{
			int	nIndex	=	rString.Find( "\r" );
			if( -1 == nIndex )
				nIndex	=	rString.Find( "\n" );
			if( -1 != nIndex )
				rString	=	rString.Left( nIndex );
			rString.TrimLeft();
			rString.TrimRight();

			if( rString.GetLength() > 0 )
			{
				if( domain.m_strName.IsEmpty() )	// 新版块名称
					domain.m_strName	=	rString;
				else
					domain.AddStock( rString );
			}
			else
			{	// 版块结束
				if( !domain.m_strName.IsEmpty() )
					AddDomain( domain );
				domain.m_strName.Empty();
				domain.RemoveAll();
			}
		}
		if( !domain.m_strName.IsEmpty() )
			Add( domain );
		domain.m_strName.Empty();
		domain.RemoveAll();

		file.Close();
		bOK	=	TRUE;
	}

	return bOK;
}