Delphi Richedit控件的问题.大神请留步!

使用Richedit控件,我想单击一个按钮之后它自动给某些特定的字符更换颜色该怎么做?列如Richedit的内容如下afdhjhdsagfuigfa-asdhfudsoa... 使用 Richedit控件,我想单击一个按钮之后它自动给某些特定的字符更换颜色该怎么做?
列如Richedit的内容如下
afdhjhdsagfuigfa -asdhfudso
afdhjhdsagfuigfa -asdhfudso
afdhjhdsagfuigfa -asdhfudso
afdhjhdsagfuigfa -asdhfudso

我想让每行的a变为红色,-以及-后面的所有字符[包括那个a]变为蓝色,该怎么做.麻烦大神不啬赐教.........还有比如:我需要"afdhjhdsagfuigfa -asdhfudso”中的afdhi都变为红色,-以及-后面所有字符都变成蓝色的.又该怎么做呢.急啊。有木有大神知道的!
展开
 我来答
圆青忆oh
推荐于2016-05-19 · TA获得超过192个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:297万
展开全部
你这个问了好几遍了吧? 
procedure TForm1.btn1Click(Sender: TObject);
var
s:  string;
i,j,k:Integer;
begin
 k:=0;
 s:='';
for j:=0 to redt1.lines.count-1 do
  begin
     k:=k+Length(s);
     s:=redt1.Lines[j];
     for i:=0 to Length(s) do
         begin
          if s[i]='a' then
           begin
           redt1.SelStart :=k+i-1;
           redt1.SelLength :=1;
           redt1.SelAttributes.Color :=clRed;//a先变红色
           end;
         end;
         i:=Pos('-',s);
     if i>0 then
         begin
         redt1.SelStart :=k+i-1;
         redt1.SelLength :=Length(s)-i+1;
         redt1.SelAttributes.Color :=clblue;//-以后变蓝色
         end;
      k:=k+2; 
  end;
end;
procedure TForm1.btn2Click(Sender: TObject);
var
s,s1,s2:  string;
i,j,k,l,m:Integer;
begin
 k:=0;
 s:='';
 s1:='afdhj';  //要找的字符串
 l:=Length(s1);
for j:=0 to redt2.lines.count-1 do
  begin
     k:=k+Length(s);
     s:=redt2.Lines[j];
     for i:=0 to Length(s) do
         begin
          s2:='';
          if s[i]=s1[1] then
           begin
              for m:=0 to l-1 do
              s2:=s2+s[i+m];
           if s2=s1 then
            begin
             redt2.SelStart :=k+i-1;
             redt2.SelLength :=l;
             redt2.SelAttributes.Color :=clRed;//a先变红色
            end;
           end;
         end;
      i:=Pos('-',s);
     if i>0 then
         begin
         redt2.SelStart :=k+i-1;
         redt2.SelLength :=Length(s)-i+1;
         redt2.SelAttributes.Color :=clblue;//-以后变蓝色
         end;
      k:=k+2;
   end;
end;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式