TC官方合作论坛

 找回密码
 立即注册
查看: 8793|回复: 32

【基础篇】1、2013命令语及函数的使用

[复制链接]
发表于 2013-2-6 09:17:31 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
T_暗乄殇灬TC用户教程系列之命令语及函数的使用:
TC的命令语是如何进行搭配工作的,函数又是什么东西,如果您这些都还不清楚,那么赶紧往下学习吧?


一、首先,欢迎您来到TC,并且在学习TC的同时有幸来到我的帖子。

二、当我们下载完了TC软件安装后,您不需要任何配置,直接打开软件就可以进行编写脚本了。那么我们现在打开软件后,在软件的左上方点击,然后选择新建一个项目(也就是编写脚本的相关文件),随后会出现一个窗口,上面含有选择编程的语言、项目的名称、项目存放的位置。
解释:
语言:所谓的语句就是您要进行英文编写代码还是中文编写代码。强大的TC是支持中英文编写脚本的哦!
名称:您将要为这项目文件命一个名,并且该项目的主空间文件名也以它为名称。并且注意的是一经命名后该项目的主空间文件名是不可改变的。所以大家在命名的时候最好是通用的,以便重复利用。
位置:也就是你要把这个项目文件放置在什么地方。大家最好是放在一个自己能找得到的地方即可。
下面我选择了中文、命名为命令语及函数的使用、位置存放在了F盘下,点击确定。一个项目创建成功,随后会弹出一个初始化的项目窗口,我们点击开始按钮,跳入代码编写区。我们看到了如下一段代码:
空间 命名为命令语及函数的使用


功能 开始_点击()
功能结束


功能 退出_点击()
  辅助.退出()
功能结束


空间结束

下面,我分解后给大家解释:
空间 命名为命令语及函数的使用

空间结束
//以上是一对命令语,在TC中时不可缺失的,否则编译出错。大家可以理解为它是一个大括号,而我们写得函数、全局变量、局部变量、命令语、条件语句就得在其内,是不可在它外面的。


功能 开始_点击()
功能结束
//这也是一对命令语,同样在TC中时不可缺失的,否则编译出错。大家可以理解为它是一个小括号,而我们写的局部变量、命令语、条件语句就得在其内,是不可在它外面的。这也就是所谓的函数。


功能 退出_点击()
  辅助.退出()
功能结束
//这也是一个函数,并且我们看到了这个函数内含有一个辅助.退出()的命令语。


有的人就会问,那么它们应该是如何一个规则呢?哪些该放哪?哪些又是不能放哪的?
要点1:所有的函数、变量(全局变量和局部变量)、条件语句(循环语句、如果语句、遍历语句、跳转语句)必须存放在空间之内。
要点2:所有的局部变量、条件语句(循环语句、如果语句、遍历语句、跳转语句)必须存放在函数之内。
要点3:区分局部变量和全局变量。我们可以通俗的理解为:在函数内的是局部变量,在函数外的是全局变量,而全局变量在整个空间都起作用,不管该变量是在函数前或函数后定义。
以上3个要点也就是在语言界被称为的一个作用域问题。在后面我将通过一些例子来让大家更好的去理解。

刚才提到了命令语应该是在函数内,那么我们首先来看"开始_点击"函数,大家以后看到以"xx_点击"命名的函数一般来说都是TC的一个事件,也就是该函数和界面上的操作是有关系的。下面我们按下F1或者点击软件右上方处的问题打开帮助文档。点击目录--TC API说明--辅助空间--2messagebox-消息框,在右侧看到了该命令的使用说明。如下:
中文命名空间: 辅助
英文命名空间: help
函数功能: 弹出消息框
中文函数原型: 消息框(content,caption="TC")
英文函数原型: messagebox(content,caption="TC")
参数:
content: 对话框的内容
caption: 对话框标题
返回值: 函数执行成功,返回真,否则返回假
举例:
辅助.消息框("你好,我是消息框!")
Example:
help.messagebox("你好,我是消息框!")
执行结果: 弹出消息框,显示"你好,我是消息框!"


我们可以理解为这是一个TC内部已经进行封装后的一个空间,而这个空间在内部已经连接好的,我们只要利用空间接口名点上函数名以及填写函数所带的参数就能用。在此我们称它为命令语。我们只看中文的说明,从说明中我们知道该空间提供的接口名为辅助,该函数执行后会弹出消息框,函数名为消息框,函数内含有2个参数,而我们需要填写的是实参,也就是实际我们要填写的内容,返回值是一个逻辑型(真假判断),我们将举例的这个命令语复制到刚才的开始函数中,如下:
功能 开始_点击()
   辅助.消息框("你好,我是消息框!")
功能结束

复制完了之后点击软件上面的运行,弹出界面之后,我们点击开始,发现消息框上面显示了一个"你好,我是消息框!",我们学会了这点,那么以后的鼠标移动鼠标点击等等操作我们都可以在此进行完成哦。
我们再来看以下这个命令的函数原型,上面提到了2个参数,一个是消息框的内容一个是消息框的标题。而我们刚才仅仅是加入了一个参数,而根据TC语言这里也就是所谓的参数缺失,在缺失的情况默认第一个实参为第一个参数。下面我们加入后面一个参数,如下:
功能 开始_点击()
   辅助.消息框("你好,我是消息框!","温馨提示")
功能结束
同样运行点击开始后你发现该消息框的标题改变了。

有了上面的基础后,那么我们想用什么命令语都可以再帮助文档中找到,并且能知道它是干什么用的,下面我们在开始函数里面加入其它的内容,以便更好的理解,如下:
例子1:
功能 开始_点击()
   鼠标.移动(100,200) //[移动到100,200这个位置]
   辅助.等待(2000)    //[移动中加入延时]
   辅助.消息框("执行成功!","温馨提示")
功能结束
//执行后我们发现我们的鼠标被移动到了100,200的位置,并且等待2秒后弹出了以温馨提示为标题的执行成功消息框。
PS:在数学中的坐标系和在电脑的坐标系是有区别的,那么在电脑中的坐标是以电脑屏幕左上角为原点(0,0),向左走时x坐标无限增大,向下走时y坐标无限增大(x,y)。大家可以尝试更改(100,200)里面的数据进行测试理解。


例子2:
功能 开始_点击()
   辅助.设置托盘("我的托盘",假)
   窗口.隐藏(窗口.自身句柄())

   辅助.消息框("执行成功!","温馨提示")
功能结束

//很多人都想给自己的脚本设置一个托盘,但大家刚接触的时候虽然托盘设置了,却忘记了窗口还需要隐藏,这样才是一个托盘的设置。不妨复制代码试试?

经过上面的一些例子后,我们就明白想要什么命令语直接在函数里面加即可。可是现在问题又来了,我想在界面上设置一个浏览框,让别人选择一个游戏路径,然后点击开始就会执行打开这个程序,那么我该如何制作呢?如下图:
cese.png
其实也很简单,大家跟着我的步骤,相信一会儿就制作出来了。
1、首先我们点击TC软件上的显示主窗口按钮,来到主界面,然后看下图
cesw22.png
2、点击最下面的工具箱,然后我们得到了下面的这个页面。
csee33.png

3、我们点击浏览框,然后托到界面上,随后再托入一个标签。如下图:
fff.png
4、随后我们左键点击一下标签,然后右键,会出现一些下拉数据,点击属性。这时候看到右边属性页面,该页面显示了这个标签的一些内容,我们将文本为"标签"改为"加载路径:"。然后拖动标签的边上将标签稍微拉长一点,以便内容全部显示出来。以及将界面拉小一点,2个按钮往上移动,调整为刚才最开始给出图的效果来。
这样界面我们就设计好了,下面我们开始编写代码:
同样的我们在开始函数里面编写我们需要的代码,首先我们要知道打开一个程序是需要通过进程来完成的,那么我们在TC帮助文档里面找到进程空间,随后找到打开命令。帮助文档说明如下:
中文命名空间: 进程
英文命名空间: process
函数功能: 打开一个进程
中文函数原型: 打开(
path,
type=0)
英文函数原型: openprocess(path,
type=0)
参数:
path: 进程路径
type: 0普通模式,1超级模式
返回值: 打开进程返回打开进程的句柄,否则返回0

为什么我每次都要求大家看帮助文档呢?因为帮助文档的说明也就告诉我们该如何去利用这个命令,而且根据它的返回我们还能对代码进行优化。
帮助文档说明了这里需要2个参数,一个是路径一个是类型,路径我们知道就是从浏览框获取的路径,而这个类型的话,其实它也就是针对一些无法打开一些进程的时候可以尝试另外一种。
那么代码应该如何写?
1、首先是获取浏览框的内容,同样在帮助文档里面找到界面控件说明-- 浏览框--gettext-获得。
2、其次使用打开进程命令。
虽然很简单的2个命令,可使用起来就是很多问题:
下面是我最初编写的代码:
功能 开始_点击()
   内容=浏览框.获得("浏览框0")
   进程句柄=进程.打开(内容)  
   辅助.消息框("执行成功!","温馨提示")
功能结束

运行以后我们选择桌面上的随便选择一个EXE,然后点击开始,很快的,一个程序就被我们打开了。有没有感到一丝的惊喜呢?
可现在问题又来,我假如没有选择程序直接去点击开始按钮,结果发现程序消失了,这是为什么呢?原因很简单我们选择了一个无效的路径(也就是空路径),使得程序出错,那么我们进行优化一下吧!
功能 开始_点击()
    进程句柄=0,内容=""  //[定义变量的时候赋初始值以便后面进行判断,涉及到了if语句的用法,不知道的看帮助文档语法使用]
    内容=浏览框.获得("浏览框0")  //[将获得的浏览框内容用一个内容变量接收]
    如果(字符串.长度(内容)>0)  //[用字符串长度判断内容是否大于0,大于0就是有内容]
        进程句柄=进程.打开(内容)  //[前面已经介绍了,一个参数的时候就默认第一个,这里也就是路径了]
        如果(进程句柄>0)    //[一般进程打开都是大于0的,所以判断是否大于0即可]
            辅助.消息框("执行成功!","温馨提示")
        否则
            辅助.消息框("执行失败!","温馨提示")
        如果结束
    否则
        辅助.消息框("浏览框为无效内容!","温馨提示")
    如果结束
功能结束
如果你还没有学会没关系,下载我下面的项目再理解理解吧!
点击下载项目文件: 命名为命令语及函数的使用.rar (885.93 KB, 下载次数: 283)
回复

使用道具 举报

发表于 2013-2-6 15:58:29 | 显示全部楼层
前排支持~~
回复 支持 反对

使用道具 举报

发表于 2013-3-6 21:25:35 | 显示全部楼层
支持一个,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2013-3-11 16:08:26 | 显示全部楼层
这个必须顶,在学习中,很不错。
回复 支持 反对

使用道具 举报

发表于 2013-3-11 22:06:58 | 显示全部楼层
谢谢分享,很直观
回复 支持 反对

使用道具 举报

发表于 2013-3-11 22:46:45 | 显示全部楼层
那么在电脑中的坐标是以电脑屏幕左上角为原点(0,0),向左走时x坐标无限增大,向下走时y坐标无限增大(x,y)。

应该是向右走时x坐标无限增大吧。
回复 支持 反对

使用道具 举报

发表于 2013-3-11 23:55:02 | 显示全部楼层
支持一个,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2013-3-12 02:15:55 | 显示全部楼层
谢谢老师,很好的教程 ,辛苦了,真的很好
回复 支持 反对

使用道具 举报

发表于 2013-3-13 10:00:13 | 显示全部楼层
帖还有很多内容正在更新中......
回复 支持 反对

使用道具 举报

发表于 2013-3-16 11:46:12 | 显示全部楼层
已学会.谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-19 11:01 , Processed in 0.068037 second(s), 25 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表