请各位高手看一下我的如下代码, 我发现我形成的文件是一个二进制文件,我本来想得到一个文本文件的,不知道在何处进行设置,先谢谢了.
procedure TFrmMain.writeToLogFile(szLog: string);
var
f :TFileStream;
szTmp:string;
begin
if fileexists('YantraTobartector.log') then
begin
f:=TFileStream.Create('YantraTobartector.log',fmOpenReadWrite or fmShareDenyWrite);
end
else
begin
f:=TFileStream.Create('YantraTobartector.log',fmCreate );
end;
szTmp:=DateTimeToStr(Now);
szTmp:=szTmp + ' ';
szTmp:=szTmp + szLog + chr(13);
f.Seek(0,2);
f.WriteBuffer(szTmp,Length(sztmp));
f.Free;
end;
procedure TFrmMain.writeToLogFile(szLog: string);
var
f :TFileStream;
szTmp:string;
begin
if fileexists('YantraTobartector.log') then
begin
f:=TFileStream.Create('YantraTobartector.log',fmOpenReadWrite or fmShareDenyWrite);
end
else
begin
f:=TFileStream.Create('YantraTobartector.log',fmCreate );
end;
szTmp:=DateTimeToStr(Now);
szTmp:=szTmp + ' ';
szTmp:=szTmp + szLog + chr(13);
f.Seek(0,2);
f.WriteBuffer(szTmp,Length(sztmp));
f.Free;
end;
用TextFile,然后用Writeln方法即可。
F: TextFile;
S: string;
begin
AssignFile(F,'a.txt' ); //打开文件
reset( f );
readln( f,s );//读取一行
...
CloseFile(F);//关闭文件
end;
AssignFile之后
读取用
Reset
Readln
写入用
Rewrite
Writeln
之后记得CloseFile。简单一点的话可以用TStringList的LoadFromFile过程。
读取成功之后可用TStringList的strings属性访问文本的每一行。二进制文件的话用TFileStream比较好。
在Create的时候指定文件名,
之后可用Read/Write/Seek等过程读写数据。具体可参照Delphi的Help
读写的时候注意文件共享问题。
procedure TFrmMain.writeToLogFile(szLog: string);
var
szTmp:string;
F :TextFile;
begin
AssignFile(F,'YantraTobartector.log');
szTmp:=DateTimeToStr(Now);
szTmp:=szTmp + ' ' + szLog;
Writeln(F,szTmp);
CloseFile(F);
end;
procedure TFrmMain.writeToLogFile(szLog: string);
var
szTmp:string;
F :TextFile;
begin
AssignFile(F,'YantraTobartector.log');
Rewrite(F);
szTmp:=DateTimeToStr(Now);
szTmp:=szTmp + ' ' + szLog;
Writeln(F,szTmp);
CloseFile(F);
end;
writeln(f,'adf');应可以了;