a thread save time while not termited do begin if has data then begin get data save data to buffer send data to monitor if timeout then begin save to database clear buffer save time end; end; end;
Time:=Now; FileNameChange:=int(Now)-int(DateTimebak); DateTimebak:=Now; if ( FileNameChange >= 1 ) then begin DecodeDate(Now, Year, Month, Day); SavePath:=SaveDriver+':\data\data'; S := SavePath + '_' + InttoStr(Year) + '_' + InttoStr(Month) + '_' + InttoStr(Day) + '.txt'; AssignFile(F,S); try Append(F); except try Rewrite(F); except mkdir(SaveDriver+':\data\'); Rewrite(F); end; Append(F); end; end; SaveValueFlag:=0; if value>=0.05 then SaveValueFlag:=SaveValueFlag+1; if SaveValueFlag>0 then begin try Writeln(F, FormatDateTime('yyyy-mm-dd hh:mm:ss',now),' ',value); Flush(F); end; end; 确定好存储路径,在timer下实时存储数据,来一个数就存一个
while not termited do
begin
if has data then
begin
get data
save data to buffer
send data to monitor
if timeout then
begin
save to database
clear buffer
save time
end;
end;
end;
FileNameChange:=int(Now)-int(DateTimebak);
DateTimebak:=Now;
if ( FileNameChange >= 1 ) then
begin
DecodeDate(Now, Year, Month, Day);
SavePath:=SaveDriver+':\data\data';
S := SavePath + '_' + InttoStr(Year) + '_' + InttoStr(Month) + '_' + InttoStr(Day) + '.txt';
AssignFile(F,S);
try
Append(F);
except
try
Rewrite(F);
except
mkdir(SaveDriver+':\data\');
Rewrite(F);
end;
Append(F);
end;
end;
SaveValueFlag:=0;
if value>=0.05 then SaveValueFlag:=SaveValueFlag+1;
if SaveValueFlag>0 then
begin
try
Writeln(F, FormatDateTime('yyyy-mm-dd hh:mm:ss',now),' ',value);
Flush(F);
end;
end;
确定好存储路径,在timer下实时存储数据,来一个数就存一个
只要在窗体上加入timer控件,并设置触发时间即可.