📄 atsengine.h
字号:
// AtsEng.h: interface for the CAtsEngine class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ATSENG_H__997C2252_D48D_4766_A6B6_5C93750CBCB0__INCLUDED_)
#define AFX_ATSENG_H__997C2252_D48D_4766_A6B6_5C93750CBCB0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "AtsDef.h"
#include "AtsSegmentItem.h"
#include "AtsSegIns.h"
#include "AtsObject.h"
#include "AtsFile.h"
#include "AtsSentence.h"
#include "ScriptExpExt.h"
//==================================
// AtScript 引擎
//==================================
class ATS_API CAtsEngine
{
public:
CAtsEngine();
virtual ~CAtsEngine();
BOOL IsVar(LPCTSTR sName );
BOOL IsCoustomFun( CString strFunName );
CAtsVarItem * GetVarItem(LPCTSTR sName );
BOOL CheckCondition( CAtsString strCondition );
BOOL SetDataEx( CAtsString strVarName , CAtsString strExp );
BOOL SetData( CAtsString strVarName , CAtsString strOther );
BOOL RunFun( CString strFunName , CAtsParam *pParam );
BOOL RunFun( CString strFunName , CString strParam );
BOOL DoAtsSysFun( CAtsString strFunName, CAtsParam *pParam );
BOOL ExistSegment( CAtsString strSegmentName );
BOOL LoadScript(LPCTSTR strScript);
BOOL LoadScriptFile(LPCTSTR strScriptFile);
BOOL LoadScriptFile(CAtsFile *pScriptFile);
CAtsString GetFactData( CAtsString strData );
CAtsString GetFactData( CAtsValue * pData );
BOOL IsObjVar(CAtsString strName , CAtsString &strObjName , CAtsString &strVarName );
void DetachList(CAtsString strListName = _T("") );
BOOL RunSegment( CAtsString strSegmentName , CAtsParam *pParam = NULL );
BOOL RunRegmentIns(CAtsSegIns *pSegIns , CAtsParam *pParam = NULL);
void ClearData();
void RunCmdLine(CAtsSegIns * pCurSegIns , CAtsString strCmdLine, BOOL &bExit);
CAtsSegmentItem * GetSegment(CAtsString strName);
BOOL NewObject( CAtsString strName , CAtsString strClassName);
CAtsObject * GetObjIns( CAtsString strName );
BOOL DoCustomSysFun( CAtsString strFunName, CAtsParam *pParam );
BOOL DoObjFun( CAtsString strFistWord , CAtsParam *pParam );
void SetVar(LPCTSTR strName , LPCTSTR strData);
void SetVar(LPCTSTR sName , int nData);
void SetVar(LPCTSTR sName , CAtsValue *pData);
CAtsString GetVar(LPCTSTR strName, BOOL &bExist);
void AddObjIns( LPCTSTR sName , CAtsObject *pObjCalss );
BOOL Computer( CString strExpress , CAtsValue *pValue );
void SetError(int nErrorCode , LPCTSTR strErrorWord = _T("") , int nErrorLine = -1);
CScriptExpExt m_ExpExt;
CAtsSegIns * m_pCurSegIns;
CObList m_listSegment; // 包括 Section 和 function
CPtrList m_listUserVar; // 用户定义的变量,规则为 @VarName
CObList m_listSegIns; // Segment 的实例堆栈
// 出错信息
BOOL m_bIsError; // 是否出错
int m_nLastErrorCode; // 错误代码
int m_nErrorLine; // 出错的行
CString m_strErrorWord; // 出错的字
public:
virtual CAtsObject * CreateAtsObject(LPCTSTR strName) {return NULL;}
};
#endif // !defined(AFX_ATSENG_H__997C2252_D48D_4766_A6B6_5C93750CBCB0__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -