数据采集系统,每秒采100组数据,我现在是保存在数组里,时间到了再一次性保存,请问怎样才能实现数据实时保存为文本文件呢?
解决方案 »
- Missing operator or semicolon 错误帮忙找一下,谢谢了
- 求助:关于webbrowser如何实现把跳转后的地址返回给IE地址栏的问题
- 生成的exe文件不能在其他电脑上运行
- 怎么知道代码是在delphi的那个版本下写的?
- 请各位提出你对这个程序的设计的宝贵,详细的想法和建议?我是菜鸟。分不够,再加!
- 数据导出Excell问题
- ehlib4 DBDateTimeEditEh readonly无效
- 怎样把查询后的结果赋值给stringgrid.
- 天哪,win2000+delphi6.0告诉我0.1不是有效的浮点数,98、xp就没事,难到让我改用98、xp?
- 如何用bde连接access?
- Windows Media Rights Manager SDK7.1问题,高手相送。
- 全场的checkbox背景变颜色
每调加一条,writ进一条,然后适当时间savetofile(**.txt)
需要的时候再用内存流读txt文件,一个记录一个记录导入数据库
注意:writ新的一条记录的时候,要先设流位置为最后,不然不会调加,反而会覆盖掉之前的
读出来存数据库的时候,循环一条一条读
var
i:integer;
t:tstringlist;
d :array [1..100,1..3] of double;
begin
//采数据到d
t:=tstringlist.Create;
for i:=1 to 100 do
t.Add(format('%.2f,%.2f,%.2f',[d[i,1],d[i,2],d[i,3]])); //文件格式类似 3.22,4.55,6.33
t.savetofile('c:\test.dat'); //共100行写入文件c:\test.dat中
t.free;
end;
begin
inc(i);
s:= inttostr(i)+' '+timetostr(time);
t.Add(s);
t.savetofile('c:\'+aa+'.dat');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
aa:=formatdatetime('yyyy-mm-dd-hh-mm-ss',now);
if tID=0 then tID:=TimeSetEvent(10,1,CallBack,0,1);
t:=tstringlist.Create;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
TimeKillEvent(tID);
t.free;
tID:=0;
end;
皆可
使用他们的SaveToFile方法就行了
如果是多线程的话 那就要考虑LockList的问题了.