第一章 如何运行LabTalk (LT)
这里,我们使用一个经典的例子来展示如何在Origin中运行LT脚本(输出“Hello LabTalk”)。
启动Origin程序(以Origin8.5版本为例),将出现如下界面:
如果界面没有显示历史命令区和命令输入及结果输出窗口,可点击Origin的菜单栏中的Window下的Command window 选项,将其显示出来。在Origin中,有七种方法运行LT脚本:
第一, 在命令输入窗口键入命令或代码;
第二, 自定义按钮(工具栏);
第三, 自定义Origin菜单;
第四, 自定义Origin子菜单;
第五, 定义Origin宏;
第六, 在Code Build中运行(此方法一般用来测试程序);
第七, 在Script Window中运行;
现在,我们一一介绍以上几种方法。
第一种方法:在命令输入区键入命令或代码
在命令输入窗口中,你会发现“>>”符号,此为命令提示符。然后输入“type “Hello LabTalk””(注意:输入的双引号(包括下文)都是英文中的双引号),按下“Enter”键,将输出如下结果:
>>type“Hello LabTalk”
type “Hello LabTalk” //输出结果(注意:“//”为注释符号)
>>
如果语句不多,但多于1条语句时,可以用“;”,“Shift+Enter”或者“Ctrl+Enter”,将命令分隔开来。前两者会产生“;”号,而“Cttl+Enter”只会分行,不产生“;”号。如:
>>a=10;
>>type“$(a)”
10 //输出结果
>>
或者
>>b=10 //按下Shift+Enter
type “$(b)” //按下Enter
10 //输出结果
>>
或者
>>c=10 //按下“;”(将“;”改为“Shift+Enter”又会怎样?)
>>for(i=1;i<=$(c);i++){ //按下“Ctrl+Enter”
type “$(i)” //此时必须按下“Shift+Enter”,多条语句亦如此。
}
语句较多时,不宜用此方法。建议使用第六种方法,可以边编辑代码,边测试。
第二种方法:在工具栏上自定义按钮
在此之前,首先准备一个以ogs为后辍的文件(如:test.ogs),内容为:
[Main]
d=10;
HLT$=’Hello LabTalk’
for(i=1;i<=$(d);i++){
type –b “HLT$”;
}
然后,定义按钮。定义按钮的方法如下:
1. 启动Origin程序;
2. 在View菜单中选中“Toolbar…”,将弹出如下窗口:
3. 点击上图中“New”按钮,将弹出如下对话框:
4. 输入要放置程序的按钮容器名。
5. 点击“OK”。
这样,放置程序的按钮容器已经定义好了,但这个容器是空的,没有任何按钮。接下来,我们将定义按钮。
6. 点击步骤2后的“ButtonGroup”;将弹出如下对话框:
7. 在Groups中选中“Userdefine”,在其右方将列出十种不同的按钮类型。如下图:
值得注意的是,默认的是10个按钮,但是我们可以通过修改安装目录下的userdef.bmp文件,可以增加到50个,对应的按钮标志也可以更改。此外,也可以通过新建按钮组来实现这一目的,这里就不详细介绍。
以上列出的按钮暂时是不会任何作用,因为这些按钮没有其对应的程序。因此,就有必要将我们事先准备好的程序加到按钮中。
8. 在“Buttons”中,选中一按钮,使得下图中的Add,Delete,Settings…三个按钮可用。
9. 点击“Settings…”,将弹出如下对话框:
说明:
I:ogs文件及路径(如test.ogs),可能过其后的“Browse”找到相应ogs文件。
II:Section是指运行程序的部分,程序由一个主程序(Main)和若干个子程序(Section)组成,如果只想单独运行子程序,则在Selection中输入要运行的[子程序]名称。一般情况都是输入“[Main]”。(注意:不能省略“[]”)
III:Argument是指程序所需要的外部参数。
IV:Tool Tip是指当鼠标放在按钮上,就显示提示文字,这有助于快速识别按钮功能。
V:设置与Tool Tip 类似,一般与Tool Tip一致。
10. 点击“OK”。这样一个带有特定功能的按钮就定义好了。
11. 把将定义好的按钮直接拖拽到前面定义好的按钮容器中。
到此,一个具有特定功能的按钮已完成。如果你还需要定义更多的按钮,只要重复步骤6-10即可。
第三种方法:自定义Origin菜单
这种方法不仅可以定义自己的的Origin菜单,而且可以让某些菜单不显示出来,具体操作如下:
1. 启动Origin
2. 点击Origin中的Tool菜单下的“Custom Menu Organiser…”子菜单。将弹出如下对话框:
说明:
I:有两种模式可供选择,一种是:在Help菜单之后添加自定义菜单;另一种是:Window菜单前插入新的菜单。
II:这里也有两个项目,一是添加自定义菜单,一是内建菜单。
III:菜单选项列表。
3. 在菜单选项列表窗口的空白处,右击,选择“New Main Popup”,弹出如下对话框:
在Popup Text中输入菜单名称。在其下方有三个选项,分别为对Workbook是否可用,对Graph是否可用和对矩阵是否可用。
4. 点击“添加自定义菜单”。
5. 在步骤3定义的菜单上右击,其中可那三种子菜单,一种是Popup,这种可以有下级菜单;第二种是Item,这种是项目,没有下级菜单;第三种是Separator,这种是项目或菜单的分隔符(----------------),这里我们新建Item。弹出如下对话框:
在Item Text中输入项目名称,然后在其下方的LabTalk Script中输入程序代码,注意,这里没有“[Main]”!这里还有两个额外的选项,Item Enable Condition:是指项目可用条件;Status Bar Text 与定义按钮中的一样,显示提示信息。
6. 点击“Close”,当提示“是否保存”时,选择“是”。
这样,你再看下菜单项中是不是多了一个菜单,如果是,那恭喜你,你以成功添加了一个自定义菜单!如果让某些菜单不显示,你可以在第四步时,选择“Hide Build-in Menu”,将弹出如下窗口:
只要将不需显示的菜单或子菜单后面的勾去掉,即可。
第四种方法:自定义Origin子菜单
此方法是在不添子菜单的情况下,在原有菜单下添加子菜单。方法非常简单,准备一个ogs文件。
首先启动Origin,在Window菜单下选择“Script Window”,弹出如下窗口:
在File中选择“Open”,然后进入安装目录,找到MACROS.CNF文件,再打开,在此文件的最后加上如下语句:
menu -w; //激活菜单
menu 7; //选择在第几个菜单中插入子菜单(从左往右)
menu -i 1 (Calculation d bandcenter){run.section(D:\or_pr\85\Interg_script.ogs,main);}; //i:表示插入;1:表示在第一个位置(从上往下);(Text):内容为子菜单名称;{run.section(文件名,main);}:表示要运行的ogs文件及部分。这也可以插入多个子菜单。最后,保存,关闭。此种方法只有重启Origin后,方能生效!
第五种方法:定义Origin宏
定义宏的方法如下:
define 宏名{
语句;
}
如:
>>definetest{ //按下Ctrl+Enter
Type –b “HelloLabTalk”; //只能按下“Shift+Enter”
} //按下“Enter”
>>test //运行test 宏
Hello LabTalk //运行结果
>>
此方法有两个缺点:第一,当Origin关闭,宏自动消失。第二,只能传递9个参数(%1,%2 … … %9)。如果传递的参数过多,此法则无能为力,但还一种可行的解决方法,就是使用GetN。此法将在后续章节中讲到。在此不做过多的介绍。
第六种方法:在Code Build中运行
Code Build是代码书写及测试编辑器。启动编辑器的方法有两种:
第一种:Shift+Ctrl+
(在Origin工具栏上)
第二种:点击“
”(在Origin工具栏上)
现在以第二种方法为例来介绍Code Build。
点击“
”后,将弹出空的窗口,然后在File中选择“New …”,将弹出如下对话框:
在这里我们可以新建C ,C++, H,LabTalk 和文本文件,我们选择“LabTalk Script”,在下面的File中输入文件名和保存的文件路径。点击“OK”,这样,一个LT文件就被建立。在此文件中输入:
[Main]
type -b "Hello LabTalk!";
然后保存,再选中要运行的部分,最后点击“
”按钮运行脚本。你将得到如下结果:
第七种方法:Script Window下运行脚本
这种方法与Command Window 下运行脚本一样,只需在Window菜单中选择“ScriptWindow”,即可弹命令窗口,可在其中输入命令。与Command window 不同的是,这是没有“>>”命令提示符,也不能用方向键退回历史命令。
如:
Type “HelloLabTalk”
输出为“Hello LabTalk”
至此,运行Origin 命令或代码的基本方法都一一做了介绍,接下来,我们将主要介绍如何编写LabTalk代码。