convfunc.h

来自「一个解析数学表达式的c++程序」· C头文件 代码 · 共 58 行

H
58
字号
#ifndef _CONVFUNC_INCLUDED
#define _CONVFUNC_INCLUDED

#include "..\..\..\MTParserLib\MTParserPrivate.h"
#include "..\..\..\MTParserLib\MTParserException.h"


class DateConvFunc : public MTConvFunctionI
{
public:

	
	virtual const MTCHAR* getSymbol(){return _T("datevalue"); }
	virtual const MTCHAR* getHelpString(){ return _T("datevalue(date_text)");}
	virtual const MTCHAR* getDescription(){ return _T("Converts a date string to a decimal number");}	
	virtual MTDOUBLE convert(const MTSTRING &val)
	{
		COleDateTime dt;
		dt.ParseDateTime(val.c_str(), VAR_DATEVALUEONLY);

		if( dt.m_status != COleDateTime::valid )
		{			
			throwConversionExcep();
			
		}

		return dt.m_dt;
	}

	virtual MTFunctionI* spawn() { return new DateConvFunc(); }
};

class TimeConvFunc : public MTConvFunctionI
{
public:

	
	virtual const MTCHAR* getSymbol(){return _T("timevalue"); }
	virtual const MTCHAR* getHelpString(){ return _T("timevalue(time_text)");}
	virtual const MTCHAR* getDescription(){ return _T("Converts a time string to a decimal number");}	
	virtual MTDOUBLE convert(const MTSTRING &val)
	{
		COleDateTime dt;
		dt.ParseDateTime(val.c_str(), VAR_TIMEVALUEONLY );

		if( dt.m_status != COleDateTime::valid )
		{
			throwConversionExcep();
		}

		return dt.m_dt;
	}

	virtual MTFunctionI* spawn(){ return new TimeConvFunc(); }
};


#endif

⌨️ 快捷键说明

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