www.pudn.com > 组态软件的动画处理.rar > FormelParser.h
// FormulaParser.h: interface for the CFormulaParser class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FORMELPARSER_H__F802A742_8772_11D1_BD24_0000C02FB5AC__INCLUDED_)
#define AFX_FORMELPARSER_H__F802A742_8772_11D1_BD24_0000C02FB5AC__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define ANZFUNKTKONST 10
class CFormulaParser
{
private:
//Implementation
CString m_strFormula;
CString m_strFunction;
CString m_strErrortext;
double m_dFktValue;
double m_dFunctionConstant[ANZFUNKTKONST];
CStringArray m_strStandardFunction;
double SignFactor(WORD& nPosition, CString& strCharacter);
double Expression(WORD& nPosition, CString& strCharacter);
double SimpleExpression(WORD& nPosition, CString& strCharacter);
double Term(WORD& nPosition, CString& strCharacter);
double Factor(WORD& nPosition, CString& strCharacter);
double Char_n(WORD& nPosition, CString& strCharacter);
public:
CString GetFormula();
void SetFormula(CString Formula);
void SetFunctConst(int index, double val);
CFormulaParser();
virtual ~CFormulaParser();
//Interface
double Calculation(CString strFormula, double xValue, WORD& ErrorPosition, CString& Errortext);
};
#endif // !defined(AFX_FORMELPARSER_H__F802A742_8772_11D1_BD24_0000C02FB5AC__INCLUDED_)