RichEdit的Bug警告(级别:中级)

Linux2001 2003-01-10 09:45:31
我发现了RichEdit的一个Bug,大家可以试验.大家用RichEdit.Lines.LoadFromFile方法加载一个文件(比如20几K的文件,但是要保证这个文件的第一行是{***********************************************************************}也就是第一行需要有整行的星号,你们可以看到,这样RichEdit读取的文件只显示了文件的第一行,其它全部没有!但是同样使用Memo1.Lines.LoadFromFile就没有这样的情况.还有,这个影响了很多第三方控件的RichEdit控件的派生控件.
...全文
150 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kingron 2003-01-15
  • 打赏
  • 举报
回复
当然,要是一个500M的文件,肯定要分段读取
Linux2001 2003-01-15
  • 打赏
  • 举报
回复
其实我发现使用分段读取文件的方法,效率最高.
Kingron 2003-01-14
  • 打赏
  • 举报
回复
应该不会!要知道你开始的时候,是后台磁盘操作,后面是内存操作,应该很快的!用Readln的效率应该要低一些!Post your code看看
Linux2001 2003-01-14
  • 打赏
  • 举报
回复
To:Kingron,我试验过你的方法,由于有闪屏的问题,所以放弃了这个方法,速度实在很低。我用readln的方法还要快点
Kingron 2003-01-14
  • 打赏
  • 举报
回复
怎么可能!
Buff:TStrings;

Buff:=TStringList.Create;
Buff.LoadFromFile('aaaa.txt');
RichEdit1.Text := Buff.Text;
Buff.Free;
这样比你的效率要高很多把?
Linux2001 2003-01-14
  • 打赏
  • 举报
回复
它是包含在循环里的
Linux2001 2003-01-14
  • 打赏
  • 举报
回复
我用Readln的方法是这样的:
Readln(fText, tmp);
str.BeginUpdate;
str.Add(tmp);
str.EndUpdate;

RichEdit.text :=str;
效率很低
ndujun 2003-01-11
  • 打赏
  • 举报
回复
我没有发现你说的问题,不过我发现delphi 6的DBRichEdit控件有问题,无论如何设置属性,在载入paradox库中的memo字段时都只能以plaintext显示,而不是richtext显示.后来我换了第三方的同类控件才解决.
Kingron 2003-01-11
  • 打赏
  • 举报
回复
先用一个TStrings把文件Load进来,然后
RichEdit1.Text := TStrings.Text即可。
Linux2001 2003-01-10
  • 打赏
  • 举报
回复
后来我又改用Readln到一个字符串,然后添加到RichEdit中,效率还是比较低.有没有什么方法可以改进效率.
Linux2001 2003-01-10
  • 打赏
  • 举报
回复
那这样的情况如何解决呢?我用的SetText的效率很低啊,Kingron大哥还是这么知识渊博啊.......强.虽然我也进步了点............呜呜.
diruser 2003-01-10
  • 打赏
  • 举报
回复
up
eWong2016 2003-01-10
  • 打赏
  • 举报
回复
哦好像蛮有 辶首 王里 的嘛!
Kingron 2003-01-10
  • 打赏
  • 举报
回复
只要你的文件的第一行是{}括起来的,那么后面都不会Load。
Kingron 2003-01-10
  • 打赏
  • 举报
回复
这也叫BUG?
这是因为你的那个文件根本就不是一个RTF文件,你要用RTF的编辑工具保存之后,在Load就不会出来向这种情况了。
TRichEdit是根据文件的后缀名来LoadFile德,如果是RTF后最,就会按照RTF文件进行读取,而{}在RTF文件中,有着特殊的意义!自己看看一个正常的RTF文件就知道了。RTF文件的所有数据都是在{}之中的。
jackystar 2003-01-10
  • 打赏
  • 举报
回复
up
5200 2003-01-10
  • 打赏
  • 举报
回复
这个BUG好像没什么用
Linux2001 2003-01-10
  • 打赏
  • 举报
回复
不可能吧,我这里公司里的机器和我家里的机器在Delphi5/6两个版本上都是我说的情况啊.你们可以试验打开第三方控件的源代码,切记第一行一定得是我说的那样的情况才会发生错误
chwdong 2003-01-10
  • 打赏
  • 举报
回复
在我这里好用
weenyboy 2003-01-10
  • 打赏
  • 举报
回复
有人测试过相同吗?我这里没有这种情况
加载更多回复(3)

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧