如在设计期内RichEdit的内容为:《AA》是个美丽的城市,面积《bb》,人口《CC》....其中:《AA》和《bb》,《CC》为变量,在运行期,我想用一个变量的实际值来替换这些变量,并且保留原来的变量的字体;
如:《AA》=北京 ,《bb》=16808平方公里,《CC》=1339多万,
   那么运行期的RichEdit内容为
   北京是个美丽的城市,面积16808平方公里,人口1339多万,
注:一定保留设计期的变量字体,这一点非常重要。

解决方案 »

  1.   

    procedure ReplaceParam(AParam: String; Value: String); 
    var
      iPos: integer;
    begin
      iPos := Pos(param,RichEdit1.Lines.Text);
      if iPos > 0 then
      begin
        if not richedit1.Focused  then
          richedit1.SetFocus;
        RichEdit1.SelStart := iPos - 1;
        RichEdit1.SelLength := Length(AParam);
        RichEdit1.SelText := Value;
      end;
    end;
    然后执行这个过程给参数赋值就可以了,不会改变字体的。
      

  2.   

    上贴第五行“param”改成“Aparam”,写错了。
      

  3.   

    to jing12 :
        你的回答非常正确,谢谢你. 我太笨了,哈哈!