永发信息网

Delphi保存数据到txt

答案:1  悬赏:0  手机版
解决时间 2021-02-23 14:59
我现在用一个定时器不停从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;希望大家帮帮忙
最佳答案
你基本上已经实现了啊!
两个按钮,一个完成开始数据写到TXT文档,一个完成停止写关闭文档? 没有必要用按钮来完成这个吧?!
这样实现:
定义一个全局变量数组用来存储1-3000个你要存储的数据,程序开始时,数组清零。
在你的定时器里,if start>30000 then 的地方执行存储 并对该数组清零;
至于文本文件的存储,可以是每个数据一行的形式,或者几个数据一行的形式,看你的喜好了;
手头上的事情很忙,没写代码。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
已知正弦交流电压U=220sin(314t-30°)则其角
每天惠塘莲三区8幢店怎么去啊,有知道地址的
西科小学地址在哪,我要去那里办事,
牧场物语3GB女主角雨天工作会怎么样
殷港村这个地址在什么地方,我要处理点事
call me 蒲神什么意思
阿东排档在什么地方啊,我要过去处理事情
我怎么感觉义工活动越来越少啦
哪些食物可以防癌抗癌
上海到浙江富阳新登昙乖什么长途车
在民间,传统意义上的春节是什么时候到什么时
圆鼓鼓对( )写反义词 脱口而出对( ) 尴尬对(
东芝3505AC一体打印机怎么联网?设置固定ip但
女人称呼男人为答令,是什么意思?
岗西前街在哪里啊,我有事要去这个地方
推荐资讯
乐图广告设计地址在哪,我要去那里办事
有关管仲与鲍叔牙互相信任故事!快
现在办焊工操作证须要多少钱
阳光家居广场地址在什么地方,想过去办事
真光合速率就是总光合速率吗
屯脚镇马路河中心小学在哪里啊,我有事要去这
沈丘县莲池一中在什么地方啊,我要过去处理事
黄骅市鸿鹄工程监理有限公司地址在什么地方,
我有一张贰佰分的万里长城邮票和八十分的山西
观音井在什么地方啊,我要过去处理事情
【汉字编码表】1980年我国颁布了第一个汉字编
受三皈五戒要给法师红包吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?