TRichEdit设计一个编辑器(带格式颜色、字体等),要求:
1、把编辑器的内容保存到一长字符变量
2、把长字符变量调入到编辑器
3、请忽涉及到文件请给一段代码或是伪代码

解决方案 »

  1.   

    用一个字符变量来保存内容肯定不能保存格式、颜色和字体的。除非你自定义一个格式来代表字体、颜色、格式等,调入编辑器时再还原。有点像DOS下的WPS那样。
       [宋][3][居中][黑]中华人民共和国表示本行为宋体三号居中黑色。
      

  2.   

    字符数字可以吗?如:STR:Array [0..1200] of char;
      

  3.   

    就是以字符串保持 rtf格式内容嘛
    有Tstringstream、Tmemorystream不过,长字符变量和定长是矛盾啊
      

  4.   

    自己踉踉跄跄编了几句,下面的代码可以,以为大功告成,D7可以,xe2还不行var
        RichText: TStringStream;
        i: integer;
        FieldText: array[0..1000] of char;
    begin    Editor.PlainText := False;
        Editor.PlainText := False;
        RichText := TStringStream.Create(''); //建立流
         Editor.Lines.SaveToStream(RichText);  //RichEdit保存到流
         RichText.Position := 0;
        RichText.Read(FieldText, RichText.Size - 1);  //流转 Char 数组(便于保存到记录型文件)
         RichText.Free;    RichText := TStringStream.Create(FieldText); //用 char 数组建立流
         RichText.Position := 0;
        Editor.Lines.Clear;
        Editor.Lines.LoadFromStream(RichText);       //装入RichEdit
        RichText.Free
      

  5.   

    XE2为什么不可以?没涉及外部文件什么的?FieldText: array[0..1000] of char;
    改为
    FieldText: array[0..1000] of ansichar;
    试一试