Delphi保存数据到txt
答案:1 悬赏:0 手机版
解决时间 2021-02-23 14:59
- 提问者网友:聂風
- 2021-02-22 17:00
我现在用一个定时器不停从USB设备驱动那里读取数据并能实时显示曲线,现在想做两个按钮,一个完成开始数据写到TXT文档,一个完成停止写关闭文档。下面是Timer部分代码:procedure TForm1.FormCreate(Sender: TObject);beginDevIoHandle :=CreateFile('\\.\M8usbdrvlv0',generic_read or generic_write,1,nil,3,0,0); start:=0;end;//以下部分时定时器procedure TForm1.Timer1Timer(Sender: TObject); var rbyte:DWORD ; err:DWORD ; sut:BOOL ; x:Integer ; stx :Integer ; readData: ARRAY[0..4096] of Byte ; mCount: Integer;beginreadData[0]:=0;sut:=ReadFile (DevIoHandle,readData,256, rbyte,NIL) ;if sut=False thenbeginerr:= GetLastError ; end ; if rbyte>0 then begin for x:=0 to ((rbyte div 4)-1) dobeginstx:=4*x;iPlot1.Channel[0].AddXY(start, readData[stx]+readData[stx+1]*256);//readData这两iPlot1.Channel[1].AddXY(start, readData[stx+2]+readData[stx+3]*256);//个是要保存start:=start+1 ;end; end; if start>30000 then//我想是每读进30000个数据存储一次,这时显示的曲线也会从头开始,二者同步进行 begin start:=0; for x:=0 to 1 dobegin iPlot1.Channel[x].Clear ();end; end;end; begin if Writedata=True then end;end;希望大家帮帮忙
最佳答案
- 五星知识达人网友:鸽屿
- 2021-02-22 18:06
你基本上已经实现了啊!
两个按钮,一个完成开始数据写到TXT文档,一个完成停止写关闭文档? 没有必要用按钮来完成这个吧?!
这样实现:
定义一个全局变量数组用来存储1-3000个你要存储的数据,程序开始时,数组清零。
在你的定时器里,if start>30000 then 的地方执行存储 并对该数组清零;
至于文本文件的存储,可以是每个数据一行的形式,或者几个数据一行的形式,看你的喜好了;
手头上的事情很忙,没写代码。。。
两个按钮,一个完成开始数据写到TXT文档,一个完成停止写关闭文档? 没有必要用按钮来完成这个吧?!
这样实现:
定义一个全局变量数组用来存储1-3000个你要存储的数据,程序开始时,数组清零。
在你的定时器里,if start>30000 then 的地方执行存储 并对该数组清零;
至于文本文件的存储,可以是每个数据一行的形式,或者几个数据一行的形式,看你的喜好了;
手头上的事情很忙,没写代码。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯