来自: wishme3, 时间: 2005-06-22 15:23:00, ID: 3110622
var
CommStr:string;
begin
CommStr:=MyComm.readcomm;//假如CommStr是每次收到的串口数据
//现在要求把CommStr的数据写到一个文本文件里,保存到c:/log.txt中
end;
谁有代码吗?
来自: xianguo, 时间: 2005-06-22 15:51:51, ID: 3110640
var F: TextFile;
begin
AssignFile(F, c:/log.txt');
Rewrite(F);
Writeln(F, 'Just created file with this text in it...');
CloseFile(F);
end;
来自: luckysw, 时间: 2005-06-22 15:56:34, ID: 3110655
唉,来晚了
var F: TextFile;
begin
AssignFile(F, c:/log.txt');
Append(F);
Writeln(F, 'Just created file with this text in it...');
CloseFile(F);
end;
给分吧
来自: wishme3, 时间: 2005-06-22 16:18:23, ID: 3110688
这样每次文件里只会留下最后一次的数据啊
来自: wishme3, 时间: 2005-06-22 16:26:51, ID: 3110703
比如:
//写文件
procedure Tform1.writeToFile(s:string);
var F:TextFile;
begin
assignfile(f,'c:/cgp.txt');
try
rewrite(f);
writeln(f,s);
finally
closefile(f);
end;
end;
//调用
procedure Tform1.Button2Click(Sender: TObject);
begin
writeToFile('ss');
end;
按10下Button2里面怎么只有一行数据?
来自: wishme3, 时间: 2005-06-22 17:32:56, ID: 3110790
知道了
另外:如果长年累月往该文件写数据,数据量又大,那不是文件会非常大?
我想知道大家是怎么处理这个问题的
来自: xianguo, 时间: 2005-06-22 17:37:40, ID: 3110795
你可以每天一个文件(根据日期命名)
来自: shangchao, 时间: 2005-06-22 17:41:38, ID: 3110802
下面是我的程序中一段,把文件存为用','分隔的文本文件.
if FileExists('shang_baud.txt') then
begin
AssignFile(F,'shang_baud.txt');
append(F);
for i:=0 to 4 do write(f,stringgrid1.Cells[i,stringgrid1.RowCount-1],',');
writeln(f,stringgrid1.Cells[5,stringgrid1.RowCount-1]);
CloseFile(F);
end else
begin
AssignFile(F,'shang_baud.txt');
rewrite(F);
for i:=0 to 4 do write(f,stringgrid1.Cells[i,stringgrid1.RowCount-1],',');
writeln(f,stringgrid1.Cells[5,stringgrid1.RowCount-1]);
CloseFile(F);
end
时间长了的文件,可以用时间作为文件名,一个月建一个文件.
来自: sleeves, 时间: 2005-06-23 0:11:29, ID: 3111060
procedure WriteLog(filename: string; buff: string);
var
logfile: Textfile;
begin
//文件锁
LockFile := TCriticalSection.Create;
LockFile.Acquire;
try
assignfile(logfile, filename);
if FileExists(filename) then
append(logfile)
else
rewrite(logfile);
writeln(logfile, '[' + formatdateTime('yyyy-mm-dd hh:mm:ss:zzz', Now) + '] '
+ buff);
closefile(logfile);
finally
LockFile.Release;
end;
end;
http://www.kfdoc.com/delphibbs2005/311/3110622.htm
var
CommStr:string;
begin
CommStr:=MyComm.readcomm;//假如CommStr是每次收到的串口数据
//现在要求把CommStr的数据写到一个文本文件里,保存到c:/log.txt中
end;
谁有代码吗?
来自: xianguo, 时间: 2005-06-22 15:51:51, ID: 3110640
var F: TextFile;
begin
AssignFile(F, c:/log.txt');
Rewrite(F);
Writeln(F, 'Just created file with this text in it...');
CloseFile(F);
end;
来自: luckysw, 时间: 2005-06-22 15:56:34, ID: 3110655
唉,来晚了
var F: TextFile;
begin
AssignFile(F, c:/log.txt');
Append(F);
Writeln(F, 'Just created file with this text in it...');
CloseFile(F);
end;
给分吧
来自: wishme3, 时间: 2005-06-22 16:18:23, ID: 3110688
这样每次文件里只会留下最后一次的数据啊
来自: wishme3, 时间: 2005-06-22 16:26:51, ID: 3110703
比如:
//写文件
procedure Tform1.writeToFile(s:string);
var F:TextFile;
begin
assignfile(f,'c:/cgp.txt');
try
rewrite(f);
writeln(f,s);
finally
closefile(f);
end;
end;
//调用
procedure Tform1.Button2Click(Sender: TObject);
begin
writeToFile('ss');
end;
按10下Button2里面怎么只有一行数据?
来自: wishme3, 时间: 2005-06-22 17:32:56, ID: 3110790
知道了
另外:如果长年累月往该文件写数据,数据量又大,那不是文件会非常大?
我想知道大家是怎么处理这个问题的
来自: xianguo, 时间: 2005-06-22 17:37:40, ID: 3110795
你可以每天一个文件(根据日期命名)
来自: shangchao, 时间: 2005-06-22 17:41:38, ID: 3110802
下面是我的程序中一段,把文件存为用','分隔的文本文件.
if FileExists('shang_baud.txt') then
begin
AssignFile(F,'shang_baud.txt');
append(F);
for i:=0 to 4 do write(f,stringgrid1.Cells[i,stringgrid1.RowCount-1],',');
writeln(f,stringgrid1.Cells[5,stringgrid1.RowCount-1]);
CloseFile(F);
end else
begin
AssignFile(F,'shang_baud.txt');
rewrite(F);
for i:=0 to 4 do write(f,stringgrid1.Cells[i,stringgrid1.RowCount-1],',');
writeln(f,stringgrid1.Cells[5,stringgrid1.RowCount-1]);
CloseFile(F);
end
时间长了的文件,可以用时间作为文件名,一个月建一个文件.
来自: sleeves, 时间: 2005-06-23 0:11:29, ID: 3111060
procedure WriteLog(filename: string; buff: string);
var
logfile: Textfile;
begin
//文件锁
LockFile := TCriticalSection.Create;
LockFile.Acquire;
try
assignfile(logfile, filename);
if FileExists(filename) then
append(logfile)
else
rewrite(logfile);
writeln(logfile, '[' + formatdateTime('yyyy-mm-dd hh:mm:ss:zzz', Now) + '] '
+ buff);
closefile(logfile);
finally
LockFile.Release;
end;
end;
http://www.kfdoc.com/delphibbs2005/311/3110622.htm