上面还写错了,文件是4,019kb(约4M),以下是我的测试结果:
Dell233M+32M+Win98+Delphi4
4,019kb文件为A, 8,038kb文件为B
在系统资源为84%可用时,A:8秒 B:27秒
在系统资源为71%可用时,A:18秒 B:54秒
最好系统资源要充足! {B-(
看了一下VCL的原代码,发现LoadFromFile其实也是调用LoadFromStream(FileStream),
所以两者时间没有区别,delphi之所以如此慢,可能与其程序的算法有关,delphi
从filestream读出文件后,都是在TStrings中处理文件的,如计算文件有多少行等,
他是判断是否为#13,#10来处理的。
nuke: richedit.string:=buf(应为:richedit.Lines.text:=String(buf)
也一样不行,因为RichEdit在处理文本的方法都为private procedure SetTextStr,
也就是说,所有方法都会受delphi的限制。
解决方法,我认为分段读,按需读,都要知己编程。delphiboy,你所举的几个
编辑器我想都有其独特的方法,肯定不是用什么控件完成的。 {B-(