aipca 发表于 2022-6-24 10:49

易语言 计次循环不能有效执行

本帖最后由 aipca 于 2022-6-24 12:43 编辑

.版本 2
.支持库 iext

.程序集 窗口程序集_启动窗口

.程序集变量 n, 整数型
.程序集变量 索引, 整数型

.子程序 __启动窗口_创建完毕

.子程序 _按钮1_被单击

通用对话框1.打开 ()
存档路径 = 通用对话框1.文件名
.计次循环首 (10, n)
    索引 = 超级列表框1.插入表项 (, , , , , )
    超级列表框1.置标题 (索引, 1, 到文本 (n))
    超级列表框1.置标题 (索引, 2, 编码_BIG5到繁体 (到文本 (取字节集中间 (读入字节集 (打开文件 (存档路径, 3, 3), 209584), 469 + 850 × n, 10))))
    跳出循环 ()
.计次循环尾 ()


我是从一个存档文件里面读取一段字节,它有个规律每850字节循环一次,我需要每隔850个字节读取前10字节的数据转成文字,但实际上它执行以后,只显示第一次的,即850*n,这里好像n只等于1了,没有实现n=n+1的循环效果。请问这是哪里的问题,该如何修改实现我想要的效果?

ly765893958 发表于 2022-6-24 10:57

你那不明晃晃的一个跳出循环,没有限制条件不就是循环第一次以后就跳出去了嘛{:301_1004:}

aipca 发表于 2022-6-24 10:58

本帖最后由 aipca 于 2022-6-24 10:59 编辑

ly765893958 发表于 2022-6-24 10:57
你那不明晃晃的一个跳出循环,没有限制条件不就是循环第一次以后就跳出去了嘛
跳出循环我实际上是屏蔽后执行的,执行后超级列表框里第一列是有1~10的,第二列只有第一行有数据,后面都为空

ly765893958 发表于 2022-6-24 11:00

aipca 发表于 2022-6-24 10:58
跳出循环我实际上是屏蔽后执行的,执行后超级列表框里第一列是有1~10的,第二列只有第一行有数据,后面都 ...

{:301_982:}没明白意思

qiaoliangih 发表于 2022-6-24 11:00

我觉得首先不能用跳出循环(),如果需要使用,得把跳出循环()的触发条件加上去

ly765893958 发表于 2022-6-24 11:01

qiaoliangih 发表于 2022-6-24 11:00
我觉得首先不能用跳出循环(),如果需要使用,得把跳出循环()的触发条件加上去

对啊他这样肯定就执行一次自动跳出去了嘛{:301_1001:}

ly765893958 发表于 2022-6-24 11:02

aipca 发表于 2022-6-24 10:58
跳出循环我实际上是屏蔽后执行的,执行后超级列表框里第一列是有1~10的,第二列只有第一行有数据,后面都 ...

什么叫屏蔽后执行{:301_985:}

qiaoliangih 发表于 2022-6-24 11:13

如果有规律的话,建议你使用分割文本这个命令。然后取数组成员数的前10个。

    调用格式: 〈文本型数组〉 分割文本 (文本型 待分割文本,[文本型 用作分割的文本],[整数型 要返回的子文本数目]) - 系统核心支持库->文本操作
    英文名称:split
    将指定文本进行分割,返回分割后的一维文本数组。本命令为初级命令。
    参数<1>的名称为“待分割文本”,类型为“文本型(text)”。如果参数值是一个长度为零的文本,则返回一个空数组,即没有任何成员的数组。
    参数<2>的名称为“用作分割的文本”,类型为“文本型(text)”,可以被省略。参数值用于标识子文本边界。如果被省略,则默认使用半角逗号字符作为分隔符。如果是一个长度为零的文本,则返回的数组仅包含一个成员,即完整的“待分割文本”。
    参数<3>的名称为“要返回的子文本数目”,类型为“整数型(int)”,可以被省略。如果被省略,则默认返回所有的子文本。

    操作系统需求: Windows、Linux

aipca 发表于 2022-6-24 11:13

就是那句跳出循环给屏蔽起来,注释掉的意思啊。
你可以无视这句的,它实际没有写在那里的

无字情书 发表于 2022-6-24 11:18

计次循环的函数你再了解一下吧
页: [1] 2
查看完整版本: 易语言 计次循环不能有效执行