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; }
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; }