易语言快速统计编辑框字数( 二 )
文章插图
52-3 JScript剧本号令 长文本常量 : #JS号令 内容如下:
function 求字数全(参1){参1=参1.replace(new RegExp(" ","gm"),"") //先删全数空格return 参1.replace(new RegExp("[\n\r]+","gm"),"").length; //再删换行求字数};function 求字数中文(参1)//删去所有非中文求字数 。 {return 参1.replace(new RegExp("[^\u4e00-\u9fa5]+","gm"),"").length;};function 删除指定文本(参1,参2) //参数2可所以表达式{return 参1.replace(new RegExp(参2,"gm"),"");};

文章插图
6三、多线程js体例 。
3-1
易在多线程下挪用JS剧本 , 会没有任何结果 , 返回空文本或返回0 。
解决法子是增添两个dll能解决(CoUninitialize 和 CoInitialize)
运行是正常了 , 但新问题又来了 , 多线程当作单线程 。
百度是如许诠释这对夫妻DLL(必需配对利用)的:
CoInitialize告诉 Windows以单线程的体例建立com对象 。
颠末测试也确实是如许 , 同时启动多个线执行简单代码 , 法式立即死失落 。
最终 , 解决法子是 , 用类模块体例 。
插入两个DLL,代码如下:
.版本 2
.DLL号令 卸载COM, , "ole32.dll", "CoUninitialize", , 卸载COM 同加载COM配对利用
.DLL号令 加载COM, , "ole32.dll", "CoInitialize", , 加载COM 告诉 Windows以单线程的体例建立com对象 , 解决多线程内JS剧本代码无效问题 .参数 pvReserved, 整数型, , 值为0

文章插图

文章插图
73-2
选择易本家儿菜单-插入-类模块 , 点击 , 并把下面的代码粘贴进方才新建的类模块
注:粘贴前删除两个默认子法式 _初始化 和 _销毁 防止反复 。 粘贴完点窜一下类名 。
代码如下:
.版本 2
.法式集 JS剧本类模块.法式集变量 JS剧本, 对象
.子法式 _初始化, , , 当基于本类的对象被建立后 , 此方式会被主动挪用 ,
加载COM (0)JS剧本.建立 (“ScriptControl”, )JS剧本.写属性 (“Language”, “JScript”)
.子法式 _销毁, , , 当基于本类的对象被销毁前 , 此方式会被主动挪用
JS剧本.断根 ()卸载COM ()
.子法式 剧本说话, 文本型, 公开, 设置或获取剧本引擎诠释的说话 , 可供选择的属性值:JScript VBScript.参数 说话名, 文本型, 可空, 若是 , 供给的参数文本 , 既不等于 JScript 也不等于 VBScript 会设置为 JScript
.判定起头 (是否为空 (说话名) = 真) 返回 (JS剧本.读文本属性 (“Language”, )).默认
.若是真 (说话名 ≠ “JScript” 且 说话名 ≠ “VBScript”) 说话名 = “JScript” .若是真竣事 返回 (到文本 (JS剧本.写属性 (“Language”, 说话名))).判定竣事
.子法式 超时, 整数型, , Timeout , 设置或返回时候(毫秒) , 此时候后用户可选择中止剧本代码的执行或许可代码继续执行 。 .参数 欲写入属性值, 整数型, 可空, -1 暗示直到执行完才返回 。
推荐阅读
- 网易云音乐如何关闭开机自启
- 闲鱼怎么进行交易
- 网易云音乐怎么上传歌词
- 怎么快速画一辆简易小汽车
- 怎么判断两三岁的孩子语言水平发展有没有迟缓?
- 造成男人容易出轨的原因有哪些?
- 如何提升自己的语言表达能力?
- 三支一扶是什么意思 三支一扶容易考上吗
- 宠物龟养什么好 巴西龟是最容易饲养的
- 摆盘装饰胡萝卜花瓣的简易做法