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; }
////////////////////////////////////////////////////////////////////////////////// // 快捷键 // 给定快捷键唯一编号,返回快捷键及其中文名称 CSPString AfxGetAccelerator( UINT nAcce, int nCharLeft ) { static CSPString acce_names[ACCE_MAX+1]; SP_ASSERT( ACCE_MAX >= 0 ); if( acce_names[0].GetLength() <= 0 ) { // acce_names acce_names[0] = "ACCENames"; #ifdef CLKLAN_ENGLISH_US // 快捷键 acce_names[ACCE_01] = "01 Hot Key F1"; acce_names[ACCE_02] = "02 Hot Key F2"; acce_names[ACCE_03] = "03 Hot Key F3"; acce_names[ACCE_04] = "04 Hot Key F4"; acce_names[ACCE_05] = "05 Hot Key F5"; acce_names[ACCE_06] = "06 Hot Key F6"; acce_names[ACCE_07] = "07 Hot Key F7"; acce_names[ACCE_08] = "08 Hot Key F8"; acce_names[ACCE_09] = "09 Hot Key F9"; acce_names[ACCE_10] = "10 Hot Key F10"; acce_names[ACCE_1] = "1 Shanghai A Shares List"; acce_names[ACCE_2] = "2 Shanghai B Shares List"; acce_names[ACCE_3] = "3 Shenzhen A Shares List"; acce_names[ACCE_4] = "4 Shenzhen B Shares List"; acce_names[ACCE_5] = "5 Shanghai Bond List"; acce_names[ACCE_6] = "6 Shenzhen Bond List"; acce_names[ACCE_61] = "61 Shanghai A Shares Change"; acce_names[ACCE_62] = "62 Shanghai B Shares Change"; acce_names[ACCE_63] = "63 Shenzhen A Shares Change"; acce_names[ACCE_64] = "64 Shenzhen B Shares Change"; acce_names[ACCE_65] = "65 Shanghai Bond Change"; acce_names[ACCE_66] = "66 Shenzhen Bond Change"; acce_names[ACCE_71] = "71 Shanghai Info."; acce_names[ACCE_72] = "72 Shenzhen Info."; acce_names[ACCE_73] = "73 Stockjobber Info."; acce_names[ACCE_81] = "81 Shanghai A Shares Sort"; acce_names[ACCE_82] = "82 Shanghai B Shares Sort"; acce_names[ACCE_83] = "83 Shenzhen A Shares Sort"; acce_names[ACCE_84] = "84 Shenzhen B Shares Sort"; acce_names[ACCE_85] = "85 Shanghai Bond Sort"; acce_names[ACCE_86] = "86 Shenzhen Bond Sort"; acce_names[ACCE_LBDK] = "LBDK Volume Ratio"; acce_names[ACCE_MMLD] = "MMLD Consign Ratio"; #else // 快捷键 acce_names[ACCE_01] = "01 热键F1"; acce_names[ACCE_02] = "02 热键F2"; acce_names[ACCE_03] = "03 热键F3"; acce_names[ACCE_04] = "04 热键F4"; acce_names[ACCE_05] = "05 热键F5"; acce_names[ACCE_06] = "06 热键F6"; acce_names[ACCE_07] = "07 热键F7"; acce_names[ACCE_08] = "08 热键F8"; acce_names[ACCE_09] = "09 热键F9"; acce_names[ACCE_10] = "10 热键F10"; acce_names[ACCE_1] = "1 上A报价"; acce_names[ACCE_2] = "2 上B报价"; acce_names[ACCE_3] = "3 深A报价"; acce_names[ACCE_4] = "4 深B报价"; acce_names[ACCE_5] = "5 上债报价"; acce_names[ACCE_6] = "6 深债报价"; acce_names[ACCE_61] = "61 上A涨跌"; acce_names[ACCE_62] = "62 上B涨跌"; acce_names[ACCE_63] = "63 深A涨跌"; acce_names[ACCE_64] = "64 深B涨跌"; acce_names[ACCE_65] = "65 上债涨跌"; acce_names[ACCE_66] = "66 深债涨跌"; acce_names[ACCE_71] = "71 上证信息"; acce_names[ACCE_72] = "72 深证信息"; acce_names[ACCE_73] = "73 券商信息"; acce_names[ACCE_81] = "81 上A综合"; acce_names[ACCE_82] = "82 上B综合"; acce_names[ACCE_83] = "83 深A综合"; acce_names[ACCE_84] = "84 深B综合"; acce_names[ACCE_85] = "85 上债综合"; acce_names[ACCE_86] = "86 深债综合"; acce_names[ACCE_LBDK] = "LBDK 量比(多空)"; acce_names[ACCE_MMLD] = "MMLD 买卖力道(涨跌率)"; #endif } if( nAcce >= ACCE_MIN && nAcce <= ACCE_MAX ) { if( 8 == nCharLeft ) return acce_names[nAcce]; CSPString strResult = acce_names[nAcce]; int nIndex = strResult.Find( ' ' ); if( -1 != nIndex ) strResult = strResult.Left(nIndex) + strResult.Mid(8); return strResult; } return ""; }