📄 iformula.h
字号:
// StdAfx.h: interface for the CTestIF class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(INTERFACE_IFORMULA_HEADER_H)
#define INTERFACE_IFORMULA_HEADER_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum VAR_ITEM_STYLE{
VIS_UNKNOW = 0,
VIS_VARIABLE = 1,
VIS_CONST = 2,
VIS_TEMP = 3
};
enum LIST_VAR_TYPE{
LV_NONE = 0x0,
LV_NAME = 0x1,
LV_TYPE = 0x2,
LV_VALUE = 0x3,
LV_SUMMARY = 0x4
};
enum LIST_FORMULA_ITEM_TYPE{
LFI_NONE = 0x0,
LFI_RAW = 0x1,
LFI_LABEL = 0x2
};
class IFormulaEnvir
{
public: // 编译 与运行
// 返回值<0 表示编译有错 否则返回模块编号
virtual int CompileFormula(LPCTSTR szFormula,int nLen=0)=0;
virtual int CompileFile(LPCTSTR szFilename)=0;
virtual CString Run(int nModuleInd=-1)=0;
virtual CString Run(LPCTSTR szModuleName)=0;
virtual float Calc(int nModuleInd)=0;
virtual LPCTSTR GetSource()=0;
virtual int GetSourceLen()=0;
public: //变量列表
virtual void SetFloat(LPCTSTR szName,float fVal)=0;
virtual void SetVariable(LPCTSTR szName,LPCTSTR szValue)=0;
virtual void SetArrayNumberVar(LPCTSTR szName,int nLen,float * lpValue)=0;
virtual int GetVariableSum()=0;
virtual CString ListVariable(int nVarInd,LIST_VAR_TYPE nListType=LV_SUMMARY)=0;
public: // 四元式
virtual int GetFormulaItemSum()=0;
virtual CString ListFormulaItem(int nFormulaInd, LIST_FORMULA_ITEM_TYPE nListType=LFI_LABEL)=0;
public:
virtual int GetModuleSum()=0;
virtual CString GetModuleName(int nModuleInd)=0;
virtual void SaveModule(LPCTSTR szModuleName)=0;
virtual BOOL GetModule(LPCTSTR szModuleName)=0;
virtual void SaveCompileScene(int nModuleInd,LPCTSTR szFilename)=0;
virtual void LoadCompileScene(int nModuleInd,LPCTSTR szFilename)=0;
public:
virtual int GetCompileErrorSum()=0;
virtual CString GetCompileError(int nErrorInd)=0;
virtual int GetOutputSum()=0;
virtual CString GetOutputDesc(int nOPInd)=0;
};
#endif // !defined(INTERFACE_IFORMULA_HEADER_H)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -