老大们,帮忙啊

cwzcwz 2004-05-02 01:23:55
我想用LISTBOX取一个大约20M,80万行的TXT文件,但速度很慢
如果用LISTVIEW使用LISTDATA的方法取,
assignfile(f,'00000.txt');
reset(f);
for y:=1 to item.Index do
begin
readln(f);
end;
readln(f,x);
item.Caption:=x;
虽然加载的速度快,但拖动时前5万行还可以,到了后面速度又慢了
如果读到内存后再取,占用内存非常可怕.

请问各位老大,有没有什么更好的方法,麻烦给出例程,谢谢.
...全文
16 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wasi 2004-05-02
  • 打赏
  • 举报
回复
弄一个1g的内存,估计就快了

晕!!!
cwzcwz 2004-05-02
  • 打赏
  • 举报
回复
如果用LISTVIEW使用LISTDATA的方法取,我觉得这个方法不错
assignfile(f,'00000.txt');
reset(f);
for y:=1 to item.Index do
begin
readln(f);
end;
readln(f,x);
item.Caption:=x;
就是要怎么弄才能使拖到5万行以后不停顿,除了READLN之外还有更好的方法吗(全部LOAD到内存除外)
capoatguitar 2004-05-02
  • 打赏
  • 举报
回复
这样的文件就是双击TXT文件打开也好慢哦,分段读取吧,一快读进来也不一定全用的着
tresss 2004-05-02
  • 打赏
  • 举报
回复
这么大的文本文件???
没见过!

用listBox应该有问题吧!
建意用一下StringGrid
cwzcwz 2004-05-02
  • 打赏
  • 举报
回复
比如LISTVIEW的内容是
1
2
3
4
5
6
...
单击1显示一,单击2显示二
ckc 2004-05-02
  • 打赏
  • 举报
回复
不知道你是什么应用,这么大的数据怎么取都是慢的
楼上说的没错,看到哪里就取到哪里吧
fim 2004-05-02
  • 打赏
  • 举报
回复
<<能不能想个办法, 看一部分, 读一部分啊
<<一起读入就会很耗资源.

但是这样的话,拖动滚动条就成问题了
cwzcwz 2004-05-02
  • 打赏
  • 举报
回复
ListBox1.Items.LoadFromFile加载20M的文件要10分钟啊
zousoft 2004-05-02
  • 打赏
  • 举报
回复
能不能想个办法, 看一部分, 读一部分啊
一起读入就会很耗资源.
hewei2003 2004-05-02
  • 打赏
  • 举报
回复
用ListBox1.Items.LoadFromFile试试呢
fim 2004-05-02
  • 打赏
  • 举报
回复
mark
hnhb 2004-05-02
  • 打赏
  • 举报
回复
这么大的文本用UE读也不会很快...

关注....

5,388

社区成员

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

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