⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cedtviewaction.cpp

📁 Crimson编辑器的英文版,完成从韩文版变成英文版的移植,并且附带可执行文件和注册表文件,无需原先的安装包,是改写编辑器的最理想选择.
💻 CPP
字号:
#include "stdafx.h"
#include "cedtHeader.h"
#include "Evaluate.h"
#include <math.h>


void CCedtView::ActionWrongOperation(BOOL bBeep)
{
	if( bBeep ) MessageBeep(MB_ICONEXCLAMATION);
}

void CCedtView::ActionEvaluateLine()
{
	INT nIdxX, nIdxY; PositionToIndex( m_nCaretPosX, m_nCaretPosY, nIdxX, nIdxY );
	CAnalyzedString & rString = GetLineFromIdxY( nIdxY );
	TCHAR szFormula[2048]; strcpy(szFormula, rString);

	CString szResult; double dValue; INT nError;
	TCHAR * pExpr = EVAL::Evaluate( szFormula, & dValue, & nError );

	if( nError == EVAL_ERROR_SUCCESSFUL ) {
		double dFraction, dInteger; dFraction = modf( dValue, & dInteger );
		if( dFraction == 0.0 ) szResult.Format("$ans = %.0f", dValue);
		else szResult.Format("$ans = %f", dValue);
	} else szResult.Format("error(%d): %s", pExpr - szFormula + 1, EVAL::GetErrorMessage(nError));

	SplitLine(GetLastIdxX(rString), nIdxY);
	nIdxY = nIdxY + 1; nIdxX = 0;
	InsertString(nIdxX, nIdxY, szResult);
	nIdxX = szResult.GetLength();

	INT nPosX, nPosY; IndexToPosition( nIdxX, nIdxY, nPosX, nPosY );
	SetCaretPosY( nPosY ); SetCaretPosX( nPosX );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -