易语言 数组成员引用下标超过自定义范围 求高手

.版本 2

.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 c, 文本型
.局部变量 d, 文本型, , "0"
.局部变量 e, 整数型

a = 取数组成员数 (客户信息)
.判断开始 (a = 0)
返回 ()
.默认

.判断结束
e = 1
b = 1
.计次循环首 (a, )
c = 客户信息 [b]
d = 分割文本 (c, “ ”, )
.计次循环首 (a, )
服务器1.发送数据 (d [5], 客户信息 [e], )
e = e + 1
.计次循环尾 ()
b = b + 1
.计次循环尾 ()

第1个回答  2012-03-15
调用格式: 〈逻辑型〉 对象.发送数据 (文本型 接收客户,通用型 欲发送数据,[整数型 最长等待时间]) - 系统核心支持库->服务器
英文名称:send
向指定已经连接进来的客户发送数据。成功返回真,失败返回假。本命令为初级对象成员命令。
参数<1>的名称为“接收客户”,类型为“文本型(text)”。为调用“取回客户”方法所返回的客户地址文本。
参数<2>的名称为“欲发送数据”,类型为“通用型(all)”。欲发送数据必须是系统基本数据类型。
参数<3>的名称为“最长等待时间”,类型为“整数型(int)”,可以被省略。指定等待发送成功的最长时间,单位为秒。如果省略本参数,默认为无限等待。

操作系统需求: Windows

你看看这里,你发送数据命令的第一个参数d[5]错了,这里应该是接收客户的名称。你给写成药发送的数据了。追问

d[5]是指要发送客户的ip

追答

d = 分割文本 (c, “ ”, )
服务器1.发送数据 (d [5], 客户信息 [e], )
这两句应该是有问题的,首先你分割文本用空格来分割本身就容易出问题,我以习惯用“|”或者“\”之类的分割文本。另外就是下面这一句,d[5]是不是得改改?你本来就不知道数组有多少吧

本回答被网友采纳
第2个回答  2012-03-16
你的代码,d = 分割文本 (c, “ ”, )这里不对

因为你那里的数组是0,而d [5]这里又成了5,应该改成:加入成员(d,分割文本 (c, “ ”, ))
才对追问

我这只是部分代码,前面已经给客户信息加入成员了,而且是没有数组就返回的

本回答被提问者采纳
第3个回答  2012-03-15
你的那个d[5] 不应该直接就写5,这样很容易出错,因为d这个数组它不一定就有5个成员,你应该在.计次循环首(,) 的第二个参数加个变量来记录数次,然后把这个变量放到d的下标里,例如:

.版本 2

.计次循环首 (a, 变量)
服务器1.发送数据 (d [变量], 客户信息 [e], )
.计次循环尾 ()追问

好吧,我发现易语言一旦代码过多就会出现莫名奇妙的问题,以前正常的代码都出现不正常的情况了,比如 a=1这么简单的代码竟然报错……(也是编译后数组成员引用下标超出自定义范围)我就不明白了,a=1怎么会出错啊

追答

哈哈,这种错误我也经常范,a出错的原因可能是你的定义数组的时候给定了0个成员,a在没有成员的情况下是赋不了值的,所以提示超出定义范围!如果你想对没有成员的数组进入赋值,则先使用“加入成员()”这个命令,然后再去赋值就可以了。还有你的那个a=1应该是a[1]=1吧

追问

拜托~a只是个存取 取数组成员数的变量而已

追答

其实根据错误提示就能看出来了,至于错误在哪里就要自己去找了,编程讲究的一点就是严谨。

易语言 数组成员引用下标超过自定义范围 求高手 下面有图片和文字,主要...
窗口1.透明标签2.标题 = p [2].如果真结束 .如果真 (取数组成员数 (p) ≥ 3)窗口1.透明标签3.标题 = p [3].如果真结束 .如果真 (取数组成员数 (p) ≥ 4)窗口1.透明标签7.标题 = p [4].如果真结束 .如果真 (取数组成员数 (p) ≥ 5)窗口1.透明标签5.标题 = p [5]....

易语言 数组成员引用下标超过自定义范围 求高手
英文名称:send 向指定已经连接进来的客户发送数据。成功返回真,失败返回假。本命令为初级对象成员命令。参数<1>的名称为“接收客户”,类型为“文本型(text)”。为调用“取回客户”方法所返回的客户地址文本。参数<2>的名称为“欲发送数据”,类型为“通用型(all)”。欲发送数据必须是系统基本数据...

易语言 数组成员引用下标超出定义范围
一般的易语言程序员会在用正则表达式、分割文本,从网络中获取文本进行分割时出现数组成员引用下标超出定义范围

易语言 数组成员引用下标超出定义范围
1、这里说的是要取的数组元素,在数组中不存在。2、比如定义了一个5元素的数组,用得时候去取第6个元素,就会造成上述错误。3、另外,e语言数组下标是从1开始的,如果取第0个元素,也是错的。4、图示:5、修改方法:取定义范围内的元素或扩大数组范围。

易语言数组成员引用下标超出定义范围
错误原因:你的”大体图片内容“这个字节集估计是空的(没有获取到),或者中间没有中文冒号这个字节集,这样的话分割之后肯定就不成为数组了对吧,也就是数组成员数为0,而你下一行代码直接使用了 分割内容[1],引用了一个不存在的数组元素,肯定会错误。改进方法:在使用分割内容[1]之前,先检查数组...

E语言程序运行时出错,错误信息:数组成员引用下标超出定义范围
1,原因:因为取出的数组成员不存在,假设要取的数组只有2个成员,取了第3个成员,那样肯定会提示这种错误的。2,一般的易语言程序员会在用正则表达式、分割文本,从网络中获取文本进行分割时出现数组成员引用下标超出定义范围。3,防范方法很简单,就是在取数组成员的时候先判断一下数组成员数是否正常。...

急 救命!易语言 数组成员引用下标超出定义范围。
因为你未曾定义数组成员,所以才会导致直接引用出现错误提示。把P[i]=1 改成 加入成员(P,1) 即可 看截图:希望我的回答对你有所帮助!祝你愉快!

易语言数组成员引用下标超出定义范围!
这个仅仅看代码是看不出的,因为是否出错还和数据有关,而你这没有数据 例如:这里如果+号部分出错,可能就是分割点阵具体信息[3]这个变量分割后没有四个部分。所以这种错误需要调试,别人是没法看代码帮你改的

易语言数组成员引用下标超出定义范围(有源码)
这里就会超出数组定义范围错误。。。l里面最好改为循环,这样写:.计次循环首 (取数组成员数 (分割的文本), 计次)分割的文本2 = 分割文本 (分割的文本 [计次], “|”, ).如果真 (取数组成员数 (分割的文本2) > 2). 计次循环首(取数组成员数 (分割的文本2),i)索引 = 超级列表框...

数组成员引用下标超出自定义范围
数组变量设置成员过少或调用数组成员下标过大 处理方法:修改变量的数组定义值或修改下标(PS:“下标”: 易语言的一种操作,常用于索引 例:变量1 [1] 表示变量1是一个数组,[1]是它的第一个值)4. 错误(10048): “XXXX”库命令的参数“YYYY”不能接受空数据。 原因:没有写命令的参数 处理...

相似回答