TC官方合作论坛

 找回密码
 立即注册
查看: 2786|回复: 15
打印 上一主题 下一主题

[TC4.0] 功能参数详解

[复制链接]
跳转到指定楼层
楼主
发表于 2013-9-10 12:02:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
在TC里面,功能的参数有如下几种形式:

1、无参数功能
  1. 功能 测试()
  2. 功能结束
复制代码
无参功能:测试()功能没有参数,那么在调用的时候,就不需要传入值。

2、有参数功能,但是没有默认值与引用传参
  1. 功能 测试(参数1,参数2)
  2. 功能结束
复制代码
有参功能:测试()功能有2个参数,那么在调用测试功能时,需要传入2个参数。

3、有默认参数的功能
  1. 功能 测试(参数1,参数2=0)
  2. 功能结束
复制代码

测试功能有2个参数,第1个是参数没有默认值,第2个参数带默认值,那么在调用这样方法的时候,既可以省略第2个参数,只传一个参数,也可以写2个参数传入如上的调用方法有下面2种,其效果是一样的。
我的空间.测试(100)// 程序会使用默认值处理
我的空间.测试(100,0) // 程序不使用默认值,而使用传入的值,只是值于默认值相等。
注意:如果参数中某个参数设置了默认值,那么这个参数后面的所有参数都必须设置默认值,否则在编译的时候,编译器会提示你参数错误如下的写法是错误的:

  1. 功能 测试(参数1,参数2=0,参数3,参数4)
  2. 功能结束
复制代码

上面的错误代码修改下就正确了。
  1. 功能 测试(参数1,参数2=0,参数3=0,参数4=1)
  2. 功能结束
复制代码


4、引用传参的功能

引用传参的概念来自C++的语法,它的作用在于:传入参数的值会在功能里被修改,而这个修改不会因为功能结束而变化,但是非引用的参数在功能里无法修改的。
在功能需要返回多个参数时,我们可以使用这个方法来实现。
如下:

  1. 空间 我的程序
  2. 功能 引用传值(&A,&B)// 引用传参
  3.   A=A*2   
  4.   B=B*4   
  5.   返回 0   
  6. 功能结束

  7. 功能 普通传值(A,B)// 非引用传参
  8.   A=A*2   
  9.   B=B*4   
  10.   返回 0   
  11. 功能结束

  12. 功能 开始_点击()   
  13.   A=10,B=15   
  14.   我的程序.引用传值(A,B// 因为是引用传参,那么AB的值会发生改变
  15.   辅助.消息框(辅助.消息框(A&"和"&B) )//输出20和60
  16.   返回 真   
  17. 功能结束

  18. 功能 退出_点击()   
  19.   A=10,B=15   
  20.   我的程序.普通传值(A,B)// 因为是非引用传参,那么AB的值不会发生改变
  21.   辅助.消息框(A&"和"&B)//输出10和15
  22.   返回 真
  23. 功能结束

  24. 空间结束
复制代码




回复

使用道具 举报

沙发
发表于 2013-9-10 18:38:03 | 只看该作者
回复 支持 反对

使用道具 举报

板凳
发表于 2013-9-13 00:48:44 | 只看该作者
回复 1楼Abin的帖子

我想问个问题,怎么用易语言写TC调用的插件?有例子吗?
回复 支持 反对

使用道具 举报

地板
发表于 2013-11-27 15:24:37 | 只看该作者
问个问题!!
就是第4小节24行
不应该是A=10,B=15 没有用吗?
功能 普通传值(A,B)
直接就运行 A=A*2
                B=B*2
因为A,B是字母 不是一个数 所以A*2无意义
输出是 A和B
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2013-11-27 17:26:51 | 只看该作者
qingyangdi 发表于 2013-11-27 15:24
问个问题!!
就是第4小节24行
不应该是A=10,B=15 没有用吗?

A和B是变量,怎么会没用呢。。你对变量还不理解,请看看变量的帖子!

变量与常量
http://bbs.tyuyan.com/forum.php? ... 0635&fromuid=16
(出处: TC论坛)
回复 支持 反对

使用道具 举报

6#
发表于 2013-11-28 10:50:17 | 只看该作者
哈哈  
看懂了

应该是A=A*2
这个步骤  因为 是普通传值  不管A=什么样的运算  A就是A
是不会发生改变的

万分感谢
回复 支持 反对

使用道具 举报

7#
发表于 2013-11-28 11:00:52 | 只看该作者
等等 如果是这样的话
那么 功能  普通传值这个功能是不是里面不管是什么运算 最后的结果
都是A=10,B=15

在功能 退出 里 已经说明了 A,B的值
而且辅助.消息框 也在功能 退出  里
也就是 普通传值 这个功能有没有
最后的 消息框 都是A=10,B=15
--------------------------------------------------------
那么请问 普通传值 这个功能的意义 是什么呢

额 为了给我们演示

还是在实际运用中,是会用到的

等等  , 普通传值,在功能里不会发生改变
有什么用呢 .......................
如果 这样写  
------------
鼠标.移动(A+2,B+13)
-----------
他们是不是会移动到12 ,28
这个位置  

我去试试
回复 支持 反对

使用道具 举报

8#
发表于 2013-11-28 11:04:50 | 只看该作者
YES  
可以  
嗯  
回复 支持 反对

使用道具 举报

9#
发表于 2013-11-28 11:06:50 | 只看该作者
本帖最后由 qingyangdi 于 2013-11-28 11:08 编辑

哈  其实就是我写的代码
一开始我没说在空间里 声明 变量A,B
说语法错误
后来我声明了就可以了
问 你的这个第四小节的代码 能运行吗?
你一开始没声明 变量 A,B
下面是我的代码
我去试试你第四小节的代码
————————————————————————-、
空间 鼠标移动
变量 A,B

功能 开始_点击()
   
    A=0,B=0
    鼠标移动.鼠标()
功能结束

//默认空间
功能 鼠标()
    鼠标.移动(A+200,B+200)
    辅助.等待(2000)
    鼠标.移动(A+400,B+400)
功能结束
//开始按钮_点击操作

//退出按钮_点击操作
功能 退出_点击()
   
    辅助.退出()
功能结束

空间结束
回复 支持 反对

使用道具 举报

10#
发表于 2013-11-28 11:24:42 | 只看该作者
我去试了一下  复制你的代码 修复了一个地方后
能运行,但是,我点击“开始”按钮 没反应
我自己照着你的写了一遍   运行正常
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-9-17 15:54 , Processed in 0.141547 second(s), 22 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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