Example #1
0
CSPString	AfxGetFilePath( CSPString strDir, CSPString strFileTitle )
{
	if( strDir.GetLength() > 0 && ( strDir[strDir.GetLength()-1] == '\\' || strDir[strDir.GetLength()-1] == '/' ) )
		strDir	=	strDir.Left( strDir.GetLength()-1 );
	strDir	+=	STRING_DIRSEP;
	return ( strDir + strFileTitle );
}
Example #2
0
CSPString AfxGetFileDirectory( CSPString strPathName, CSPString strDefault )
{
	if( strPathName.IsEmpty() )
		return strDefault;

	CSPString	strResult	=	strPathName;
	if( strResult.GetLength() > 0 )
	{
		int	nIndex	=	strResult.ReverseFind( '\\' );
		if( -1 == nIndex )
			nIndex	=	strResult.ReverseFind( '/' );
		if( -1 == nIndex )
			strResult = strDefault;
		else
			strResult	=	strResult.Left( nIndex );
	}

	if( strResult.GetLength() <= 0 )
		return strDefault;

	int	nLen	=	strResult.GetLength();
	if( nLen > 0 && strResult[nLen-1] != '\\' && strResult[nLen-1] != '/' )
		strResult	+=	STRING_DIRSEP;

	return strResult;
}
Example #3
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;
}
Example #4
0
//////////////////////////////////////////////////////////////////////////////////
// 快捷键
// 给定快捷键唯一编号,返回快捷键及其中文名称
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 "";
}