精易论坛

标题: 关于文本替换 [打印本页]

作者: 囚魂曲    时间: 2009-12-25 15:48
标题: 关于文本替换
我想实现记事本那样的替换功能
仙子啊主要问题是选择文本文件后我用
原文本 = 读入文本 (文件号, )这样放在变量中,对大文件只能存入50K左右
哪里有这样的演示呢?
作者: 诸葛    时间: 2009-12-25 15:48
给你做个例程,你就明白了,例程里的txt不大,因为只是个演示,但是操作大文本(以M计算的)都没问题,还有测试效果你就编译完再试,否则调试状态下是找不到1.txt的
大文件字节集操作例子.rar (515.52 KB, 下载次数: 169)
作者: 诸葛    时间: 2009-12-25 16:35
用字节集操作大文本

比如:原文本 = 读入文件 (“d:\我的文档\桌面\1.txt”)
原文本是字节集类型
读入后一样可以使用字节集替换的

读入文本和读入文件的区别:

    调用格式: 〈字节集〉 读入文件 (文本型 文件名) - 系统核心支持库->磁盘操作
    英文名称:ReadFile
    返回一个字节集,其中包含指定文件的所有数据。本命令为初级命令。
    参数<1>的名称为“文件名”,类型为“文本型(text)”。

    操作系统需求: Windows、Linux

注意这句:返回一个字节集,其中包含指定文件的所有数据。

    调用格式: 〈文本型〉 读入文本 (整数型 欲读入文本数据的文件号,[整数型 欲读入文本数据的长度]) - 系统核心支持库->文件读写
    英文名称:ReadText
    本命令用作从文件中当前读写位置读取并返回一段文本数据,实际读入长度(即返回文本的尺寸)可能会小于欲读入长度。如果该数据中存在字节 0 或 26(文本结束标志),将仅返回该字节之前的数据。如果读入失败,将返回一个空文本并且自动将当前文件读写位置移到文件尾部。本命令为初级命令。
    参数<1>的名称为“欲读入文本数据的文件号”,类型为“整数型(int)”。该文件号由“打开文件”命令所返回。
    参数<2>的名称为“欲读入文本数据的长度”,类型为“整数型(int)”,可以被省略。如果本参数被省略,默认读入文件中的所有文本数据。

    操作系统需求: Windows、Linux

注意这句:实际读入长度(即返回文本的尺寸)可能会小于欲读入长度

所以读入文件是全部数据,读入文本对于小文件没问题,大文件就会缺少数据
作者: 囚魂曲    时间: 2009-12-25 19:13
原文本 无法保存大文件
作者: 诸葛    时间: 2009-12-25 20:55
道理是一样的,对应的有个命令叫 写到文件()就可以瞬间写入大文件了,呵呵
作者: 囚魂曲    时间: 2009-12-26 08:18
难道不载入到变量里就能替换吗?
我要提取文本的
作者: 诸葛    时间: 2009-12-26 11:41
你先用
原文本 = 读入文件 ()
这不就是你的 原文本 变量了吗,只不过是字节集而已,你直接用字节集命令操作你的变量啊,比如要替换,直接用字节集替换()命令,效果和操作文本时一样的
作者: 烧饼    时间: 2009-12-26 14:55
有这样的版主真是我们论坛的福气啊
作者: 囚魂曲    时间: 2009-12-26 20:49
谢谢,版主的例程
保存大文件是没问题
但附件里的替换不起作用……
这是为啥?
作者: 诸葛    时间: 2009-12-26 21:26
标题: 《今天我们学易语言》易语言教材
{:2_143:}
附件里的东西你别改动,直接运行大 文件字节集操作.exe(这个是我直接编译好的)
会直接把1.txt里的所有 诸葛 换成 果子
我这里是没有任何问题的,不知道你哪里操作不对了,肯定是没问题的

看看我的效果

替换后生成的2.txt

作者: momo2051    时间: 2011-4-3 19:11
记事本不有替换这个功能么
作者: 网络注册会员    时间: 2011-4-3 19:11
真不错真不错
作者: vansze    时间: 2011-6-27 04:03
是源码 吗qqq
作者: dgd    时间: 2012-11-4 03:24
例程里的txt不大,因为只是个演示,但是操作




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4