《基础解答》
作者:未知 ,最后更新:2007-1-12 23:43:28

第一卷



?基础解答

什么叫赋值?

[问题解答]什么叫赋值?

解答一:这...学易这么久,还真没认真考虑过这个问题,好像是把一个常量定义给一个变量吧,就像方程式中的    令X=10    ...

解答二:“属性”即事物的性质,“属性值”即事物性质的具体表现,比如“颜色”是事物的性质(即“属性”),而“红色”是“颜色”这个属性中的一种属性值,我们知道,“红色”是系统中的一种常量值,它的颜色属性值是“255”,也可以表达为“#红色”。确定事物的具体性质即是确定事物的属性值(赋值),比如给你女朋友送一套红色的衣服,那么你女朋友这件衣服的属性值是“红色”。衣服.颜色=红色    ,即将衣服的颜色的属性值定(赋)为红色,这个行为就叫“赋值”,是“赋予属性值”的简称。

或者可以这样理解:用代码来设置对象的属性,就称为“赋值”。

解答三:呵,其实就是把一个东西放进一个空的箱子里的过程。

什么叫“返回值”

要理解什么叫“返回值”,要先从对象的方法或系统的命令的含义着手理解。所谓对象的方法或系统的命令可以理解为对所提供的相关数据(即参数:提供给系统处理的一种变量)进行的处理(运算)。

不同的方法或命令有不同的处理方式,比如“载入    (窗口1,,假)”,是对“窗口1”这个已赋值参数用载入的方式进行处理,又如“相加    (被加数,加数)”是对“被加数”和“加数”两个数据用相加的运算方式处理。

有处理结果或运算结果(即能返回一个值)的系统命令我们就称为函数。“返回”即“处理”,“返回值”即对函数参数的处理结果。

系统命令也可以称为系统函数,因为它有返回值。比如信息框函数的返回值有以下几个常量值:

0、#确认钮;    1、#取消钮;    2、#放弃钮;    3、#重试钮;    4、#忽略钮;    5、#是钮;    6、#否钮

比如当我们按下“确认钮”时,信息框函数值为0;若按下“取消钮”,信息框函数值为1......依此类推。

谈谈返回值

谈谈返回值

Y=f(X1

X2

...Xn)表达了一个函数关系,如果将X1

X2

...Xn看作参数,f看作过程或算法,那么Y就是结果或是返回值。任何一个过程都有它的结果,函数、子程序、以及事件都是一个过程,理论上都有其返回值,而返回值又是另一个过程的判据。  

最有意思的是返回值的传送常常困扰着我们,前不久有个易友提出如何控制小数点问题,是西风帮助解决了,最近我也遇到了类似的问题,最后归纳起来:都是返回值问题。即使已有一知半解,还常常被其击倒。

问题如下:道具:一个窗口,一个编辑框,一个按钮

子程序:_编辑框1_按下某键

返回值类型:逻辑型

参数:键代码    数据类型:整数型

参数:功能键状态    数据类型:整数型

局部容器:容器1    数据类型:整数型

如果真    (键代码    =    32)

编辑框1.内容    =    “”

编辑框1.可视    =    假

计次循环首    (1280

容器1)

编辑框1.加入文本    (“:”    +    到文本    (容器1)    +    “:”    +    #换行符)

计次循环尾    ()

编辑框1.可视    =    真

编辑框1.获取焦点    ()

编辑框1.起始选择位置    =    3

如果真结束

想让光标处于:1:之后,可怎么运行,光标都在第四个位置,以为是BUG来了,其实不然,易语言的BUG不是那么容易被你发现的。究竟是怎么回事,换另一种方法试试:改由_启动窗口_按下某键,后面的一切照旧,问题没有了,这就说明不是BUG。仔细地思考忽然想到键代码=32不是空格键吗,空格键下按后光标是一定要向右走一步的(一个半角字符的位置),就是说光标原来已在“:1:”后,又由于空格键操作的原因,向右多移了一个字符的位置。那为什么编辑框_按下某键会有这个结果呢,是因为空格键操作的结果传递给窗口没有什么影响,而传递给编辑框(当然是获得了焦点的编辑框)就大不一样了。简而言之就是空格键的操作结果影响了光标的移动,要知道,事件驱动的结果只有返回给编辑框,光标才会做出响应,如果不让其返回问题不就解决了吗!于是就在程序的最后加上一句“返回(假)”。

再如:用鼠标点击编辑框后,选中编辑框中所有的文本,程序如下

子程序:_编辑框1_鼠标左键被按下

返回值类型:逻辑型

参数:横向位置    数据类型:整数型

参数:纵向位置    数据类型:整数型

参数:功能键状态    数据类型:整数型

编辑框1.被选择字符数    =    -1

编辑框1.起始选择位置    =    0

返回    (假)

如果不返回假就怎么也不会选中框内的所有字符,因为本来是执行了选中所有字符的命令的,但鼠标左键按下后,编辑框又获得了焦点,就使选中后的光珊又被去掉了,变成了光标在闪动的结果,而返回假就去掉了这后一步的动作,实现了选中所有字符的目标。

由此回想起小数点问题也是某键按下的驱动事件,当你判断出前面已经有小数点存在的时候,小数点键码再次按下时返回为假就可以了。影响的过程总是先有事件后有响应,事件之后切断消息的传递就可以了。

在面向对象的程序结构中,总是一个事件连接着另一个事件,每一个事件都会有一个结果,这个结果有时也会产生负作用,当你利用一个事件的某一方面时,却忽略了另一个方面,最终受另一个方面的困扰,你应经常要想到这个事件会产生什么后果,对你的预定目标有没有影响,多一个想法也许会给你带来福音!