AtScript 在你的程序中实现脚本功能

本文介绍了AtScript脚本引擎,一种类似于VBScript但无需组件环境的语言。文章提供了如何创建和运行脚本的示例,并展示了如何通过创建自定义对象来扩展AtScript的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.简介
    
在你的程序中实现脚本功能,该脚本引擎名为AtScript , 是类似于VBScript 的语法, 在一些比VBScript 更好用,更方便,而且容易扩展,无需组件环境

 


AtScript 是类似于VBScript的脚本语言,无需组件环境.
     易学易用,如果您已了解 Visual Basic 或 Visual Basic for Applications (VBA)或VBScript,就会很快熟悉 VBScript。即使您没有学过 Visual Basic,只要学会 VBScript,就能够使用所有的 VBScript 语言进行程序设计。

.如何使用

     使用这个控制之前, 我建议您先看一下有关AtScript文件,知道您能在您的脚本中做些什么。
     http://www.installaide.com/CN/Product_ats.asp

一、写一个脚本 

创建一个简单的脚本

  Section Main
    msgbox "hello"
  End Section


二、如何运行脚本

    调用方法非常简单,如下所示:

 CAtsEngine  Eng;
 CString   strPrompt;
 
 UpdateData();
 Eng.LoadScript( m_strScript );

 if( !Eng.RunSegment( "Main") ) 
 {
  strPrompt.Format("Script is error, ErrorCode=%d,Line = %d,ErrorWord=%s" , Eng.m_nLastErrorCode , Eng.m_nErrorLine , Eng.m_strErrorWord );
  AfxMessageBox( strPrompt );
 }

三、如何扩展脚功能

     在atscript中,那是很容易的

     1. 创建 的对象类
 class CMyAtsObj  : public CAtsObject
 {
  public:
   CMyAtsObj();
   virtual ~CMyAtsObj();

   virtual BOOL DoFun( LPCTSTR strFunName , CAtsParam *pParam );
   virtual CAtsVarItem * GetVarItem(LPCTSTR sName );
   virtual BOOL SetVar(LPCTSTR strName , LPCTSTR strData);

  public: 
 };

    2. 创建一个对象的函数

 BOOL CMyAtsObj::DoFun( LPCTSTR sFunName , CAtsParam *pParam )
 {
  CString  strFunName  = sFunName;
  if( strFunName.CompareNoCase("Test") == 0 )
  {
   AfxMessageBox( pParam->GetItemData(1) );
   return true;
  }
  else if( strFunName.CompareNoCase("GetName") == 0 )
  {
   pParam->SetReturnData( _T("MyObj") );
   return true;
  }

  return false;
 }

     3. 将对象加入到引擎
 CAtsEngine  Eng;

 CString   strPrompt;
 
 UpdateData();
 Eng.LoadScript( m_strScript );

 // Add Customize object to engine
 CMyAtsObj * pNewObj = new CMyAtsObj;
 pNewObj->m_strName = "MyObj";
 Eng.AddObjIns( pNewObj );

 if( !Eng.RunSegment( "Main") ) 
 {
  strPrompt.Format("Script is error, ErrorCode=%d,Line = %d,ErrorWord=%s" , Eng.m_nLastErrorCode , Eng.m_nErrorLine , Eng.m_strErrorWord );
  AfxMessageBox( strPrompt );
 }

    4. 使用对象
    Section Main
  var @a as AtsString
  @a = myobj.getname()
  msgbox @a
     End Section

 



源码下载: http://www.installaide.com/AtSimDown.asp

 Name:Baill

Email: Installaide@hotmail.com

Web Site: http://www.installaide.com/CN/Product_ats.asp

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值