在线请教文本数据处理。请高手回复 ( 积分: 50 )

  • 主题发起人 主题发起人 zhyytu
  • 开始时间 开始时间
Z

zhyytu

Unregistered / Unconfirmed
GUEST, unregistred user!
var fname:string;
sl:tstringlist;
begin
fname:='c:/a.txt';
sl:=tstringlist.create;
sl.append('1');
sl.append('2');
sl.append('3');
sl.savetofile(fname);
sl.free;
end;


var fname:string;
sl:tstringlist;
i:integer;
begin
fname:='c:/a.txt';
sl:=tstringlist.create;
sl.loadfromfile(fname);
for i:=0 to sl.count-1 do
showmessage(sl.strings);
sl.free;
end;
对于上面这段程序可以写入和读出小型文本数据,但我要对文本在一次响应事件的时候写入200M数据,我的256M内存的机器就报告内存不足而终止死机了。
请教高手能否改进或重写一段示例程序可以满足一次(指响应一个事件,可以用while等分段写入)写入200M数据
 
var fname:string;
sl:tstringlist;
begin
fname:='c:/a.txt';
sl:=tstringlist.create;
sl.append('1');
sl.append('2');
sl.append('3');
sl.savetofile(fname);
sl.free;
end;


var fname:string;
sl:tstringlist;
i:integer;
begin
fname:='c:/a.txt';
sl:=tstringlist.create;
sl.loadfromfile(fname);
for i:=0 to sl.count-1 do
showmessage(sl.strings);
sl.free;
end;
对于上面这段程序可以写入和读出小型文本数据,但我要对文本在一次响应事件的时候写入200M数据,我的256M内存的机器就报告内存不足而终止死机了。
请教高手能否改进或重写一段示例程序可以满足一次(指响应一个事件,可以用while等分段写入)写入200M数据
 
sl.append('1');
sl.append('2');
sl.append('3');
tstringlist有这样的方法吗,,?????/????
 
TStringList当然有这方法。
可以不用TStringList读文本,直接用AssignFile,Reset,Readln对文本文件一行行的读,应该可以解决,具体用法帮助上都有。
 
我试过,我做的是福彩选号的一个东东,比如36选7有几百万注,电脑在边算边写的情况下吃不消,速度很慢.我发现速度慢在写文件的上面
请高手给想个办法,我现在用每算出一百万注写一次,但是这样每一次又把上次的给覆盖了.
 
你这么大数据量的存储,用文件存放明显不合适啊。用远程数据库试试!
 
我这有个福彩的选号软件,我是模仿它并改进功能,有感兴趣的请给我发邮件索要,我的邮箱wwwmaster@vip.163.com.希望能回复关于该软件的数据结构或编程思想
 
后退
顶部