with RichEdit_Record.Lines do
  begin
    Clear;
    SaveToFile('record.log');
  end;record.log文件里变成了下面这些  
{\rtf1\ansi\ansicpg936\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
{\colortbl\red0\green0\blue0;}
\deflang1033\horzdoc{\*\fchars !),.:\'3b?\}]\'a1\'a2\'a1\'a3\'a1\'a4\'a1\'a5\'a1\'a6\'a1\'a7\'a1\'a8\'a1\'a9\'a1\'aa\'a1\'ab\'a1\'ac\'a1\'ad\'a1\'af\'a1\'b1\'a1\'b3\'a1\'b5\'a1\'b7\'a1\'b9\'a1\'bb\'a1\'bd\'a1\'bf\'a1\'c3\'a3\'a1\'a3\'a2\'a3\'a7\'a3\'a9\'a3\'ac\'a3\'ae\'a3\'ba\'a3\'bb\'a3\'bf\'a3\'dd\'a3\'e0}{\*\lchars ([\{\'a1\'ae\'a1\'b0\'a1\'b2\'a1\'b4\'a1\'b6\'a1\'b8\'a1\'ba\'a1\'bc\'a1\'be\'a3\'a8\'a3\'db\'a3\'fb\'a3\'ae\'a1\'a4}\pard\plain\f2\fs24 
\par }
不知道是什么原因  ?????

解决方案 »

  1.   

    //原因,参考如下代码~~
    procedure TRichEditStrings.SaveToStream(Stream: TStream);
    var
      EditStream: TEditStream;
      TextType: Longint;
      StreamInfo: TRichEditStreamInfo;
      Converter: TConversion;
    begin
      if FConverter <> nil then Converter := FConverter
      else Converter := RichEdit.DefaultConverter.Create;
      StreamInfo.Stream := Stream;
      StreamInfo.Converter := Converter;
      try
        with EditStream do
        begin
          dwCookie := LongInt(Pointer(@StreamInfo));
          pfnCallBack := @StreamSave;
          dwError := 0;
        end;
    ////////////////////分析VCL代码~~
        if PlainText then TextType := SF_TEXT
        else TextType := SF_RTF;
    ////////////////////
        SendMessage(RichEdit.Handle, EM_STREAMOUT, TextType, Longint(@EditStream));
        if EditStream.dwError <> 0 then
          raise EOutOfResources.Create(sRichEditSaveFail);
      finally
        if FConverter = nil then Converter.Free;
      end;
    end;//解决参考如下代码~~
    RichEdit1.PlainText := True;
    RichEdit1.Lines.SaveToFile('record.log');