procedure TForm2.WriteData (Sender: TObject);
Var
  FileStream:TFilestream;
  Mywriter:TWriter;
  i: integer;
Begin
  FileStream:=TFilestream.create(ExtractFileDir(paramstr(0))+'\日志文件.txt',fmCreate or fmopenwrite);
  Mywriter:=TWriter.create(FileStream,1024);
  Mywriter. writelistbegin;  For i:=0 to Memo1.lines.count-1 do
   Mywriter.writestring(memo1.lines[i]);  Mywriter.writelistend;
  Mywriter.FlushBuffer;
  FileStream.seek(0,sofrombeginning);
  Mywriter.free;
  FileStream.free;
End;上面是源码,错误是没有。但有以下几个问题
一、汉字输出到txt是乱码。
二、格式乱了,根本不换行
三、我是要在原来的txt后面追加,不行。大家来帮帮忙

解决方案 »

  1.   

    Var
       ConfigIni: TIniFile;
       iniPath: String;
       i : Integer;
    Begin
       iniPath:=ExtractFilePath(Application.EXEName);
       ConfigIni := TIniFile.Create(iniPath+'日志文件.txt');
          try
             For i:=0 to Memo1.lines.count-1 do
             begin
             ConfigIni.WriteString('-1','昨天',memo1.lines[i]);
             end;
          finally
          ConfigIni.Free;
          end;End;
      

  2.   

    var F: TextFile;
        i: integer;
    begin
    try
          AssignFile(F, path);
          Rewrite(F);
          Writeln(F,'[PATH]');
    //    Writeln(F,'[TEXTFILE]=' + info.text);
          Writeln(F,'[RECORDFILE]=' + info.recFilePath);      Writeln(F,'');
          Writeln(F, '[RECORD]');
          For i := 0 to 3 do
          begin
             if info.OpenRecrod[i] then
                Writeln(F,'OpenRecord=0')
             else
                Writeln(F,'OpenRecord=1')
          end;      Writeln(F,'');
          Writeln(F,'[INDEX]');
          For i := 0 to 3 do
          begin
             if info.LineIndex[i] then
                Writeln(F,'LineIndex=0')
             else
                Writeln(F,'LineIndex=1')
          end;
        CloseFile(F);
       except
        showmessage('写入文件时出错!');
       end
    end;