开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2220|回复: 9
打印 上一主题 下一主题
收起左侧

[已解决] 精易模块5.11 文本_取中间_批量 BUG

[复制链接]
结帖率:100% (46/46)
跳转到指定楼层
楼主
发表于 2015-1-3 23:37:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   江苏省无锡市
本帖最后由 萧阳天 于 2015-1-4 17:12 编辑

BUG.zip (876.4 KB, 下载次数: 32)
使用命令后无法取出中间文本。

评分

参与人数 1精币 +3 收起 理由
萧阳天 + 3 感谢你的支持,精易有你更精彩

查看全部评分

9
发表于 2024-4-22 15:19:47 | 只看该作者   安徽省宣城市
使用命令后无法取出中间文本。
回复 支持 反对

使用道具 举报

8
发表于 2017-6-20 17:15:41 | 只看该作者   湖南省益阳市
使用命令后无法取出中间文本。
回复 支持 反对

使用道具 举报

7
发表于 2015-1-19 16:58:14 | 只看该作者   辽宁省营口市
使用命令后无法取出中间文本。
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 11 天

6
发表于 2015-1-5 18:42:06 | 只看该作者   浙江省宁波市
使用3,12的就没有这个bug
回复 支持 反对

使用道具 举报

结帖率:100% (46/46)

签到天数: 4 天

地下
 楼主| 发表于 2015-1-4 17:27:26 | 只看该作者   江苏省无锡市
御风软件 发表于 2015-1-4 00:22
没有看出bug在那里,但是这写法明显的有问题,漏了第一个

用的竟然是前面一个的结尾,和后面的一个的结 ...

用文本_取中间_正则方式可以取出来
回复 支持 反对

使用道具 举报

结帖率:100% (9/9)

签到天数: 2 天

地板
发表于 2015-1-4 17:11:12 | 只看该作者   广东省东莞市
这个修改后试试,貌似不吃CPU了。
  1. .版本 2

  2. .子程序 文本_取中间_批量2, 整数型, 公开, 比如:欲取全文本为<12345>,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”
  3. .参数 源文本, 文本型, , 比如:欲取全文本为 12345
  4. .参数 前面标识文本, 文本型, , 3的前面为“2”
  5. .参数 后面标识文本, 文本型, , 3的后面为“4”
  6. .参数 存放取出文本的数组, 文本型, 可空 数组, 存放取出文本的数组
  7. .参数 是否区分大小写, 逻辑型, 可空, 是否区分大小写
  8. .参数 文本长度大于此数的不要, 整数型, 可空, 文本长度大于此数的不要;如取出的文本大于50的不要;留空为不限制
  9. .参数 为取出的文本加上前缀, 文本型, 可空, 在取出的文本前面加上一段字符或汉字!可空!
  10. .参数 为取出的文本加上后缀, 文本型, 可空, 在取出的文本后面加上一段字符或汉字!可空!
  11. .参数 连前面标识文本一起取出, 逻辑型, 可空, 是否连<前面标识文本>一起取出? 默认为假,不取出!
  12. .参数 连后面标识文本一起取出, 逻辑型, 可空, 是否连<后面标识文本>一起取出? 默认为假,不取出!
  13. .参数 起始搜寻位置, 整数型, 可空, 注明:位置值从 1 开始。如果本参数被省略,默认为 1 。
  14. .局部变量 Search, 文本型
  15. .局部变量 StartPos, 整数型
  16. .局部变量 EndPos, 整数型

  17. 清除数组 (存放取出文本的数组)
  18. StartPos = 起始搜寻位置
  19. .循环判断首 ()
  20.     StartPos = 寻找文本 (源文本, 前面标识文本, StartPos, 是否区分大小写)
  21.     .如果 (StartPos ≠ -1)
  22.         EndPos = 寻找文本 (源文本, 后面标识文本, StartPos + 取文本长度 (前面标识文本), 是否区分大小写)
  23.         .如果 (EndPos ≠ -1)
  24.             StartPos = StartPos + 取文本长度 (前面标识文本)
  25.             Search = 删首尾空 (取文本中间 (源文本, StartPos, EndPos - StartPos))
  26.             .如果真 (取文本长度 (Search) > 0)
  27.                 .如果真 (连前面标识文本一起取出)
  28.                     Search = 前面标识文本 + Search
  29.                 .如果真结束
  30.                 .如果真 (连后面标识文本一起取出)
  31.                     Search = Search + 后面标识文本
  32.                 .如果真结束
  33.                 .如果 (文本长度大于此数的不要 ≠ 0)
  34.                     .如果真 (取文本长度 (Search) < 文本长度大于此数的不要)
  35.                         加入成员 (存放取出文本的数组, Search)
  36.                     .如果真结束

  37.                 .否则
  38.                     加入成员 (存放取出文本的数组, Search)
  39.                 .如果结束
  40.                 StartPos = EndPos
  41.             .如果真结束

  42.         .否则
  43.             跳出循环 ()
  44.         .如果结束

  45.     .否则
  46.         跳出循环 ()
  47.     .如果结束
  48.     处理事件 ()
  49. .循环判断尾 (StartPos ≠ -1)
  50. 返回 (取数组成员数 (存放取出文本的数组))
复制代码
回复 支持 反对

使用道具 举报

签到天数: 11 天

板凳
发表于 2015-1-4 00:29:10 | 只看该作者   广东省揭阳市
个人不建议使用这个命令 纯粹是鸡肋 该命令批量取数据的时候耗时10秒的数据 可能用正则就1秒的事情~

点评

主要是考虑移植问题,小数据还是比较方便,所以保留了。   广东省东莞市  发表于 2015-1-4 15:51
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 6 天

沙发
发表于 2015-1-4 00:22:13 | 只看该作者   广东省阳江市
本帖最后由 御风软件 于 2015-1-4 00:24 编辑

没有看出bug在那里,但是这写法明显的有问题,漏了第一个

用的竟然是前面一个的结尾,和后面的一个的结尾来取的数据
文本_取中间_批量 (返回文本, “</td></tr><tr><td>”, “</td></tr><tr><td>”, 文本, )  ' bug部分

这样子,取到的第一个数据,其实是第二条数据,因为开始文本是第一条的结尾,结束文本是第二条的结尾,后面的以此类推
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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