开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 3439|回复: 3
收起左侧

[已回应] 模块类_快速文本功能改进

[复制链接]
结帖率:100% (11/11)
发表于 2018-9-30 20:21:46 | 显示全部楼层 |阅读模式   陕西省渭南市
加了一些功能.请测试

  
窗口程序集名保 留  保 留备 注
类_快速文本, , 公开, 文本的快速累加   
变量名类 型数组备 注
_文件句柄整数型  
集_缓冲区字节集  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
_文件句柄 = 打开内存文件 ()
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用
关闭文件 (_文件句柄)
子程序名返回值类型公开备 注
添加 增加文本内容到最后
参数名类 型参考可空数组备 注
参_文本内容文本型增加的文本
写出文本 (_文件句柄, 参_文本内容)
子程序名返回值类型公开备 注
插入逻辑型 在指定字符后(含中文)插入文本内容
参数名类 型参考可空数组备 注
参_插入位置整数型字符数,中文也算一个字符,可空,默认最前
参_文本内容文本型要插入的文本内容
变量名类 型静态数组备 注
局_缓冲区长度整数型 
局_偏移整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
局_偏移 = 1
如果真 (是否为空 (参_插入位置))
参_插入位置 = 0
局_偏移 = 字数到位置 (参_插入位置)
局_偏移 = 局_偏移 - 1
移动读写位置 (_文件句柄, #文件首, 局_偏移)
返回 (插入文本 (_文件句柄, 参_文本内容))
子程序名返回值类型公开备 注
取文本内容文本型 取出文本内容
参数名类 型参考可空数组备 注
参_起始位置整数型可空.默认从第一个字符开始
参_字符数整数型可空,默认取全部
变量名类 型静态数组备 注
局_偏移整数型 
局_缓冲区长度整数型 
局_偏移2整数型 
如果真 (取读写位置 (_文件句柄) ≠ 0)
移到文件首 (_文件句柄)
如果真 (是否为空 (参_字符数) 是否为空 (参_起始位置))
返回 (读入文本 (_文件句柄, ))

集_缓冲区 = 读入字节集 (_文件句柄, 取文件长度 (_文件句柄))
如果真 (是否为空 (参_起始位置))
参_起始位置 = 1
如果真 (是否为空 (参_字符数))
参_字符数 = 取字节集长度 (集_缓冲区)
参_起始位置 = 参_起始位置 - 1
局_偏移 = 1
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
局_偏移 = 字数到位置 (参_起始位置)
局_偏移2 = 字数到位置 (参_起始位置 + 参_字符数)
返回 (到文本 (取字节集中间 (集_缓冲区, 局_偏移, 局_偏移2 - 局_偏移)))
子程序名返回值类型公开备 注
清空内容 清空文本内容
关闭文件 (_文件句柄)
_文件句柄 = 打开内存文件 ()
子程序名返回值类型公开备 注
删除文本逻辑型 删除指定位置内容
参数名类 型参考可空数组备 注
参_起始位置整数型起始位置
参_字符数整数型删除个数,汉字算一个
变量名类 型静态数组备 注
局_偏移整数型 
局_缓冲区长度整数型 
局_偏移2整数型 
如果真 (取读写位置 (_文件句柄) ≠ 0)
移到文件首 (_文件句柄)
集_缓冲区 = 读入字节集 (_文件句柄, 取文件长度 (_文件句柄))
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
局_偏移 = 字数到位置 (参_起始位置)
局_偏移2 = 字数到位置 (参_起始位置 + 参_字符数)
移动读写位置 (_文件句柄, #文件首, 局_偏移 - 1)
返回 (删除数据 (_文件句柄, 局_偏移2 - 局_偏移))
子程序名返回值类型公开备 注
取文件号整数型 取内存文件句柄
返回 (_文件句柄)
子程序名返回值类型公开备 注
替换文本内容逻辑型 替换指定位置文本
参数名类 型参考可空数组备 注
参_替换位置整数型起始位置
参_替换长度整数型替换长度
参_替换文本文本型替换文本,可空
变量名类 型静态数组备 注
局_偏移1整数型 
局_偏移2整数型 
局_缓冲区长度整数型 
写缓存区 ()
局_偏移1 = 1
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
局_偏移1 = 字数到位置 (参_替换位置)
局_偏移2 = 字数到位置 (参_替换位置 + 参_替换长度)
清空内容 ()
返回 (写出字节集 (_文件句柄, 字节集替换 (集_缓冲区, 局_偏移1, 局_偏移2 - 局_偏移1, 到字节集 (参_替换文本))))
子程序名返回值类型公开备 注
取长度整数型 取字符数,汉字算一个
如果真 (取读写位置 (_文件句柄) ≠ 0)
移到文件首 (_文件句柄)
返回 (汇编_取字数 (到字节集 (取文本内容 (, ))))
子程序名返回值类型公开备 注
寻找文本内容整数型 寻找文本
参数名类 型参考可空数组备 注
参_寻找文本内容文本型欲寻找文本
参_起始寻找位置整数型起始位置,可空,默认从最头开始
变量名类 型静态数组备 注
局_偏移整数型 
局_文本字节集 
写缓存区 ()
局_偏移 = 1
如果真 (是否为空 (参_起始寻找位置))
参_起始寻找位置 = 1
局_偏移 = 字数到位置 (参_起始寻找位置)
局_文本 = 取字节集左边 (集_缓冲区, 寻找字节集 (集_缓冲区, 到字节集 (参_寻找文本内容), 局_偏移) - 1)
如果 (局_文本 = {  })
返回 (0)
返回 (汇编_取字数 (局_文本) + 1)

子程序名返回值类型公开备 注
替换子文本内容逻辑型 子文本替换
参数名类 型参考可空数组备 注
参_被替换文本文本型被替换内容
参_替换为文本文本型替换为内容,可空.默认删除
参_起始替换位置整数型起始位置,可空,默认从最前开始
参_最大替换次数整数型最大替换次数.可空.默认替换所有
变量名类 型静态数组备 注
局_偏移整数型 
局_缓冲区长度整数型 
写缓存区 ()
局_偏移 = 1
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
如果真 (是否为空 (参_起始替换位置))
参_起始替换位置 = 1
局_偏移 = 字数到位置 (参_起始替换位置)
清空内容 ()
如果 (是否为空 (参_最大替换次数))
返回 (写出字节集 (_文件句柄, 子字节集替换 (集_缓冲区, 到字节集 (参_被替换文本), 到字节集 (参_替换为文本), 局_偏移, )))
返回 (写出字节集 (_文件句柄, 子字节集替换 (集_缓冲区, 到字节集 (参_被替换文本), 到字节集 (参_替换为文本), 局_偏移, 参_最大替换次数)))

子程序名返回值类型公开备 注
汇编_取字数整数型 取文本中英文字数
参数名类 型参考可空数组备 注
参_内容字节集
参_内容 = 参_内容 + { 0 }
取变量地址 (参_内容)
置入代码 ({ 139, 24, 139, 75, 4, 141, 115, 8, 172, 132, 192, 116, 7, 168, 128, 116, 1, 70, 226, 244, 139, 67, 4, 41, 200, 201, 194, 4, 0 })
返回 (0)
子程序名返回值类型公开备 注
置文本逻辑型 置文本
参数名类 型参考可空数组备 注
参_文本文本型文本内容
关闭文件 (_文件句柄)
_文件句柄 = 打开内存文件 ()
返回 (写出文本 (_文件句柄, 参_文本))
子程序名返回值类型公开备 注
从文件读入逻辑型 读文件内容到内存
参数名类 型参考可空数组备 注
参_文件名文本型要读入的文件名
关闭文件 (_文件句柄)
_文件句柄 = 打开内存文件 ()
返回 (写出字节集 (_文件句柄, 读入文件 (参_文件名)))
子程序名返回值类型公开备 注
写出到文件逻辑型 写内存内容到文件
参数名类 型参考可空数组备 注
参_文件名文本型要写出的文件名
如果真 (取读写位置 (_文件句柄) ≠ 0)
移到文件首 (_文件句柄)
返回 (写到文件 (参_文件名, 读入字节集 (_文件句柄, 取文件长度 (_文件句柄))))
子程序名返回值类型公开备 注
删全部空格逻辑型 删除所有中英文空格
变量名类 型静态数组备 注
局_计数器整数型 
局_缓冲区长度整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
清空内容 ()
局_计数器 = 1
判断循环首 (局_缓冲区长度 > 局_计数器)
判断 (集_缓冲区 [局_计数器] = 32)
局_计数器 = 局_计数器 + 1
到循环尾 ()
判断 (集_缓冲区 [局_计数器] = 161 集_缓冲区 [局_计数器 + 1] = 161)
局_计数器 = 局_计数器 + 2
到循环尾 ()
写出字节集 (_文件句柄, 到字节集 (集_缓冲区 [局_计数器]))
局_计数器 = 局_计数器 + 1

判断循环尾 ()
如果 (取长度 () = 0)
返回 ()
返回 ()

子程序名返回值类型公开备 注
写缓存区  
如果真 (取读写位置 (_文件句柄) ≠ 0)
移到文件首 (_文件句柄)
集_缓冲区 = 读入字节集 (_文件句柄, 取文件长度 (_文件句柄))
子程序名返回值类型公开备 注
删首尾空格逻辑型 
变量名类 型静态数组备 注
局_计数器整数型 
局_缓冲区长度整数型 
局_偏移1整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
清空内容 ()
局_计数器 = 1
判断循环首 (局_缓冲区长度 > 局_计数器)
判断 (集_缓冲区 [局_计数器] = 32)
局_计数器 = 局_计数器 + 1
到循环尾 ()
判断 (集_缓冲区 [局_计数器] = 161 集_缓冲区 [局_计数器 + 1] = 161)
局_计数器 = 局_计数器 + 2
到循环尾 ()
跳出循环 ()

判断循环尾 ()
局_偏移1 = 局_计数器
局_计数器 = 局_缓冲区长度
判断循环首 (局_计数器 > 1)
判断 (集_缓冲区 [局_计数器] = 32)
局_计数器 = 局_计数器 - 1
到循环尾 ()
判断 (集_缓冲区 [局_计数器] = 161 集_缓冲区 [局_计数器 - 1] = 161)
局_计数器 = 局_计数器 - 2
到循环尾 ()
跳出循环 ()

判断循环尾 ()
返回 (写出字节集 (_文件句柄, 取字节集中间 (集_缓冲区, 局_偏移1, 局_计数器 - 局_偏移1 + 1)))
子程序名返回值类型公开备 注
删首空格逻辑型 
变量名类 型静态数组备 注
局_计数器整数型 
局_缓冲区长度整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
清空内容 ()
局_计数器 = 1
判断循环首 (局_缓冲区长度 > 局_计数器)
判断 (集_缓冲区 [局_计数器] = 32)
局_计数器 = 局_计数器 + 1
到循环尾 ()
判断 (集_缓冲区 [局_计数器] = 161 集_缓冲区 [局_计数器 + 1] = 161)
局_计数器 = 局_计数器 + 2
到循环尾 ()
跳出循环 ()

判断循环尾 ()
返回 (写出字节集 (_文件句柄, 取字节集右边 (集_缓冲区, 局_缓冲区长度 - 局_计数器 + 1)))
子程序名返回值类型公开备 注
删尾空格逻辑型 
变量名类 型静态数组备 注
局_计数器整数型 
局_缓冲区长度整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
清空内容 ()
局_计数器 = 局_缓冲区长度
判断循环首 (局_计数器 > 1)
判断 (集_缓冲区 [局_计数器] = 32)
局_计数器 = 局_计数器 - 1
到循环尾 ()
判断 (集_缓冲区 [局_计数器] = 161 集_缓冲区 [局_计数器 - 1] = 161)
局_计数器 = 局_计数器 - 2
到循环尾 ()
跳出循环 ()

判断循环尾 ()
返回 (写出字节集 (_文件句柄, 取字节集左边 (集_缓冲区, 局_计数器)))
子程序名返回值类型公开备 注
到小写字母逻辑型 
参数名类 型参考可空数组备 注
参_起始位置整数型
参_转换字母数整数型
变量名类 型静态数组备 注
局_缓冲区长度整数型 
局_偏移整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
清空内容 ()
局_偏移 = 1
如果真 (是否为空 (参_起始位置))
参_起始位置 = 1
如果真 (是否为空 (参_转换字母数))
参_转换字母数 = 汇编_取字数 (集_缓冲区)字数到位置 (参_起始位置)
局_偏移 = 字数到位置 (参_起始位置)
计次循环首 (参_转换字母数, )
如果真 (局_偏移 > 局_缓冲区长度)
跳出循环 ()
如果 (集_缓冲区 [局_偏移] > 128)
局_偏移 = 局_偏移 + 2
如果真 (集_缓冲区 [局_偏移] > 64 集_缓冲区 [局_偏移] < 91)
集_缓冲区 [局_偏移]位或 (集_缓冲区 [局_偏移], 32)
局_偏移 = 局_偏移 + 1

计次循环尾 ()
返回 (写出字节集 (_文件句柄, 集_缓冲区))
子程序名返回值类型公开备 注
到大写字母逻辑型 
参数名类 型参考可空数组备 注
参_起始位置整数型
参_转换字母数整数型
变量名类 型静态数组备 注
局_缓冲区长度整数型 
局_偏移整数型 
写缓存区 ()
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
清空内容 ()
局_偏移 = 1
如果真 (是否为空 (参_起始位置))
参_起始位置 = 1
如果真 (是否为空 (参_转换字母数))
参_转换字母数 = 汇编_取字数 (集_缓冲区)字数到位置 (参_起始位置)
局_偏移 = 字数到位置 (参_起始位置)
计次循环首 (参_转换字母数, )
如果真 (局_偏移 > 局_缓冲区长度)
跳出循环 ()
如果 (集_缓冲区 [局_偏移] > 128)
局_偏移 = 局_偏移 + 2
如果真 (集_缓冲区 [局_偏移] > 96 集_缓冲区 [局_偏移] < 123)
集_缓冲区 [局_偏移]位与 (集_缓冲区 [局_偏移], 95)
局_偏移 = 局_偏移 + 1

计次循环尾 ()
返回 (写出字节集 (_文件句柄, 集_缓冲区))
子程序名返回值类型公开备 注
字数到位置整数型 
参数名类 型参考可空数组备 注
参_字数整数型
变量名类 型静态数组备 注
局_偏移整数型 
局_缓冲区长度整数型 
局_缓冲区长度 = 取字节集长度 (集_缓冲区)
局_偏移 = 1
计次循环首 (参_字数 - 1, )
如果真 (局_偏移 > 局_缓冲区长度)
跳出循环 ()
如果 (集_缓冲区 [局_偏移] > 128)
局_偏移 = 局_偏移 + 2
局_偏移 = 局_偏移 + 1

计次循环尾 ()
返回 (局_偏移)


i支持库列表   支持库注释   
spec特殊功能支持库

评分

参与人数 2好评 +2 精币 +4 收起 理由
项目部002 + 1 + 1 奉上小小红包希望笑纳
hellohexiang + 1 + 3 支持开源~!感谢分享

查看全部评分

发表于 2018-10-7 10:07:53 | 显示全部楼层   广东省揭阳市
加入下个版本,感谢开源
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2018-10-5 10:28:58 | 显示全部楼层   江苏省徐州市
易语言每次对变量都要初始化.这个费太多时间了.
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 27 天

 楼主| 发表于 2018-9-30 20:25:57 | 显示全部楼层   陕西省渭南市
易语言每次对变量都要初始化.这个费太多时间了.
看看平时的对变量重复赋值的时间

  
变量名类 型静态数组备 注
计数整数型 
内容文本型 
时间1双精度小数型 
文件句柄整数型 
计数 = 90000
文件句柄 = 打开内存文件 ()
时间1 = 取启动时间 ()
计次循环首 (计数, )
内容 = 内容 + “A”
计次循环尾 ()
调试输出 (取启动时间 () - 时间1)
时间1 = 取启动时间 ()
计次循环首 (计数, )
写出文本 (文件句柄, “A”)
计次循环尾 ()
调试输出 (取启动时间 () - 时间1)


i支持库列表   支持库注释   
spec特殊功能支持库


结果-------------------
开始运行被调试程序
* 5086.000000
* 16.000000
被调试易程序运行完毕

回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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