有时我们需要对易说话编纂框的文本 , 进行字数统计 , 方式有良多 , 但要做到及时统计 , 要求处置速度够快 , (如 , 代码写在编纂框内容被改变事务下 , 有两种环境会造当作该事务触发很是快 , 一是长按粘贴快捷键内容疯狂增添 , 二是长按退格键 , 内容几次削减)
本人测试这两种行为触发内容被改变的频率是20多30毫秒摆布 , 就是说 , 若是统计字数的子法式执行一次跨越这个时候 , 法式就会卡顿 。
这里列出三个方式及测试 , 你可按照本身的需要选择 。 代码数据全数基于编纂框内容被改变事务下测试 , 并没有效时钟及点击按钮的体例 。
需要这些哦
电脑
易说话及相关撑持库(易自带 , 为便利 , 可全数勾选)
方式/
1一、土法实现
1-1
用易自带最根基的几个号令实现 , 相对实现简单 , 字数上限最好在4万以下 , 仅撑持ANSI编码文本 , 不撑持Unnicode编码 。 因为文本在ansi编码下 , 所有字符转换到全角都占用两个字节 , 取其长度除2就是字符数 。
文章插图
21-2 土法代码如下:
.版本 2.撑持库 spec.撑持库 iext
.子法式 笨法子统计字数, , , 用易自带根基号令实现.局部变量 全字数, 文本型, , , 去除了空格、和回车的所有字符数 。 .局部变量 时候, 整数型
时候 = 取整 (取启动时候 ())全字数 = 到文本 (取整 (取文本长度 (子文本替代 (到全角 (删全数空 (编纂框1.内容)), 到全角 (#换行符), “”, , , 假)) ÷ 2))调试输出 (“用时”, 取整 (取启动时候 () - 时候), “字数”, 全字数)状况条1.置文本 (1, 全字数)
文章插图
3二、JScript剧本号令 挪用 , 下面是结果图 。
【易语言快速统计编辑框字数】2-1
执行速度快了不少 , 用正则实现统计中文字数的统计 。 这个是单线程模式 。 当然也可以用易的剧本组件来挪用 。 此法字数不要跨越24万摆布 , 不然同样会卡顿 。
文章插图
42-2 JScript剧本号令 代码如下:
.版本 2.撑持库 spec.撑持库 iext
.子法式 取字符串长度.局部变量 JS剧本, 对象, , , JScript.局部变量 时候, 整数型.局部变量 全字数, 文本型.局部变量 中文字数, 文本型
时候 = 取整 (取启动时候 ())JS剧本.建立 (“ScriptControl”, )JS剧本.写属性 (“Language”, “JScript”)JS剧本.数值方式 (“ExecuteStatement”, #JS号令)全字数 = JS剧本.通用方式 (“Run”, “求字数全”, 编纂框1.内容).取文本 ()中文字数 = JS剧本.通用方式 (“Run”, “求字数中文”, 编纂框1.内容).取文本 ()调试输出 (“用时”, 取整 (取启动时候 () - 时候), “字数”, 全字数)状况条1.置文本 (1, 全字数)状况条1.置文本 (3, 中文字数)
需增添个 长文本常量 这里定名为: #JS号令
内容鄙人一步 。
推荐阅读
- 网易云音乐如何关闭开机自启
- 闲鱼怎么进行交易
- 网易云音乐怎么上传歌词
- 怎么快速画一辆简易小汽车
- 怎么判断两三岁的孩子语言水平发展有没有迟缓?
- 造成男人容易出轨的原因有哪些?
- 如何提升自己的语言表达能力?
- 三支一扶是什么意思 三支一扶容易考上吗
- 宠物龟养什么好 巴西龟是最容易饲养的
- 摆盘装饰胡萝卜花瓣的简易做法