// 定时保存文本文件
procedure TForm1.Timer1Timer(Sender: TObject);
var
afile: TFileStream; // 文件流
str,da,StrToWrite : string; // 字符串类型
begin
// 写入txt
if Txt_Flag = true then // 文件名 设置完成
begin
StrToWrite:='';
StrToWrite:=StrToWrite+output_X.Text+', '+output_Ang.Text+', '+output_l.Text; // 3个Edit或Combobox控件
str := TimeToStr(Time); // Time时间值,转换为字符类型
da := DateToStr(Date); // Date日期值,转换为字符类型
StrToWrite:= da+', '+str+', '+StrToWrite+#13#10; // 生成一行字符串,包含时间、日期等 + 换行符
if not FileExists( SaveDialog1.FileName+'.txt') then // 如果文件不存在,创建再写
begin
try
afile := TFileStream.Create( SaveDialog1.FileName+'.txt',fmCreate); // 使用文件流创建
afile.WriteBuffer(PChar(StrToWrite)^,Length(StrToWrite)); // 写入文件一行
finally
afile.free; // 释放文件流
end;
end
else begin // 文件名 未设置
try
afile := TFileStream.Create( SaveDialog1.FileName+'.txt',fmOpenWrite); // 打开SaveDialog1指定文件名。并通过文件流创建文件
afile.Seek(0,soEnd); // 设置文件的长度
afile.WriteBuffer(PChar(StrToWrite)^,Length(StrToWrite)); // 写入文件
finally
afile.Free; // 释放文件流
end;
end;
end;
end;
// 设置文件名
procedure TForm1.SaveClick(Sender: TObject);
begin
if SaveDialog1.Execute then // SaveDialog1 是一个TSaveDialog 组件
begin
Txt_Flag:=True; // 完成文件名设置 Txt_Flag为真
end;
end;