现在的位置: 首页 > 综合 > 正文

TMS 脚本中文帮助资料

2011年12月11日 ⁄ 综合 ⁄ 共 2497字 ⁄ 字号 评论关闭

Scripter工作室开发者向导

版权2002 Automa tmssoftware.com

 

概要

 

Scripter工作室是把脚本能力加到你的应用程序的一套的Delphi/C++Builder部件。Scripter工作室能使你的最终用户使用可视化工具书写和执行自己的脚本。包含的组件有:

TatPascalScripter          非视觉组件,执行Pascal语法的脚本。

TatBasicScripter            非视觉组件,执行Basic语法的脚本。

TatPascalFormScripter   窗口认识Pascal脚本,继承自TatPascalScripter组件。

TatBasicFormScripter    窗口认识Basic脚本,继承自TatBasicScripter组件。

TatScriptDebugDlg        脚本高度的对话组件。

TAdvMemo                  语法高亮Memo,在程序运行时编辑脚本。

TatPascalScripterTatBasicScripter都是从TatCustomScripter组件继承下来的,都使用相同的属性和方法来运行脚本。

脚本有下列特征:

·在运行时间解释PascalBasic语言。

·脚本能访问任何Delphi对象,包括属性和方法。

·脚本支持try...excepttry...finally异常处理。

·允许脚本读/Delphi变量和常量。

·允许Delphi代码访问(/)脚本变量。

·你能建造(Delphi代码)你自己的类,包含属性和方法,并在脚本中使用。

·Delphi系统的大多数程序(转化,日期,格式化,字符串操作)已经包括(IntToStr,FormatDateTime,Copy,Delete等等)。

·你能保存/装载编译了的代码,这样你不需要每次运行脚本的时候都需要源代码。

·调试能力(断点,跟踪,运行到光标,暂停,中断,等等)

·安全的线程

·COM(微软普通的对象模型)支持

 

语言特征

 

Pascal语法

TatPascalScripter组件执行脚本的Pascal语法。Pascal语法支持:

· begin .. end

· procedure and function

· if .. then .. else

· for .. to .. do .. step

· while .. do

· repeat .. until

· try .. except and try .. finally

· case

· array constructors (x:=[ 1, 2, 3 ];)

· ^ , * , / , and , + , - , or , <> , >=, <= , = , > , < , div , mod , xor , shl , shr

· 访问对象属性和方法(ObjectName.SubObject.Property)

 

脚本结构

脚本结构用2个主要的块组成:

1、过程和函数声明;

2、主要的块。

两个块是可选择的,但是在脚本中至少要有一个。主要的块不需要begin...end。它可以是一个单一的声明。一些例子:

脚本1

procedure DoSomething;

begin

CallSomething;

end;

 

begin

CallSomethingElse;

end;

 

脚本2

begin

CallSomethingElse;

end;

 

脚本3

function MyFunction;

begin

result:='Ok!';

end;

 

脚本4

CallSomethingElse;

 

Pascal一样,声明应该由“;”结尾。begin...end块是允许集合一批声明。

 

标识符

在脚本的标识符名字(变量名字,函数和过程名字,等等。)跟随Pascal最普通的规则:

应该从一个字符开始(a..zA..Z),或“_”,和继之以包含数字字母的字符或“_”字符。

不能包含任何别的字符或空格。

 

有效的标识符:

VarName

_Some

V1A2

 

无效的标识符:

2Var

My Name

Some-more

This,is,not,valid

 

赋值声明

赋值语句和Pascal一样,赋值语句是使用“:=”。例子:

MyVar:=2;

Button.Caption:='This ' + 'is ok.';

 

字符串

字符串是同pascal一样使用单引号(')字符。双引号(")不能使用。你也能使用(#)字符宣布一个字符在一个字符串的内部,不需要使用(+)操作符增加一个字符到一个字符串。一些例子:

A:='This is a text';

Str:='Text '+'concat';

B:='String with CR and LF char at the end'#13#10;

C:='String with '#33#34' characters in the middle';

 

注释

在脚本内能插入注释。你能使用//字符或(* *){}。使用//字符注释只能注释一行。

//This is a comment before ShowMessage

ShowMessage('Ok');

 

(* This is another comment *)

ShowMessage('More ok!');

 

{ And this is a comment

with two lines }

ShowMessage('End of okays');

 

变量

不需要在脚本中声明变数类型。这样,你宣布变量只需要使用var命令和变量的名字。如果脚本的OptionExplicit属性被设置为false,那么就不需要声明变量。在这种情况下,变数是暗示声明。如果你想要脚本上有更多的控制,设置OptionExplicit属性为true。如果OptionExplicit属性为true,而在脚本中使用了变量但不进行声明,将会唤醒一个编译错误。例子:

脚本1

procedure Msg;

var S;

begin

S:='Hello world!';

ShowMessage(S);

end;

 

脚本2:

var A;

begin

A:=0;

A:=A+1;

end;

 

脚本3:

var S;

S:='Hello World!';

ShowMessage(S);

 

如果脚本属性OptionExplicit被设置为false,那么

抱歉!评论已关闭.