在Delphi里怎么编程关于两个richedit里的字体颜色变化

richedit1里有N个字,如果richedit2里输入的第一个字和richedit1里的第一个字相同时richedit1里第一个字的颜色变成蓝色否则会变成红色... richedit1里有N个字,如果richedit2里输入的第一个字和richedit1里的第一个字相同时richedit1里第一个字的颜色变成蓝色否则会变成红色 展开
 我来答
木秀林枫
2015-09-25 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6138
采纳率:0%
帮助的人:3067万
展开全部
1.
字符串可以看作字符数组。redt2里输入的字就是字符串的最后一个,
p := length(redt2.Text) -2; //最后一个字符好像是换行符
s := redt2.Text[p];

拿s 和redt1里对应的字符比较,
if s <> redt1.Text[p] then
begin
redt1.SelStart :=n; //选择部分开始位置
redt1.SelLength :=1; //选择部分长度
redt1.SelAttributes.Color := clred;
end;

以上应该只适用非汉字情况,汉字是2个字符对应1个汉字。

2.
procedure TForm1.redt2Change(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Length(redt2.text) -1 do
begin
redt1.SelStart := i;
redt1.SelLength := 1;
if Copy(redt1.Text, i +1, 1) = Copy(redt2.Text, i+1, 1) then
redt1.SelAttributes.Color := clBlue
else
redt1.SelAttributes.Color := clRed;
end;
end;

3.
建议用高版本的delphi来做,比如xe系列的,unicode还是方便很多

4.
Procedure TForm1.FormCreate(Sender: TObject);
Begin
RichEdit1.Text := '012345678';
End;

Procedure TForm1.Button1Click(Sender: TObject);
Begin
RichEdit1.SelStart := 0;
RichEdit1.SelLength := 3;
RichEdit1.SelAttributes.Color := clRed; //012为红色

RichEdit1.SelStart := 5;
RichEdit1.SelLength := 4;
RichEdit1.SelAttributes.Color := clBlue; //5678为蓝色

//RichEdit1.ClearSelection;
//只是删除最后一个选区(如上面为蓝色的选区)的字符,不是清除 所有选择样式
End;

Procedure TForm1.Button2Click(Sender: TObject);
Begin
RichEdit1.SelStart := 0; //清除 所有选择样式
RichEdit1.SelLength := Length(RichEdit1.Text);
RichEdit1.SelAttributes.Color := clBlack;
End;
bfmabc123
2015-03-18 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:75.6万
展开全部
procedure TForm1.redt2Change(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Length(redt2.text) -1 do
begin
redt1.SelStart := i;
redt1.SelLength := 1;
if Copy(redt1.Text, i +1, 1) = Copy(redt2.Text, i+1, 1) then
redt1.SelAttributes.Color := clBlue
else
redt1.SelAttributes.Color := clRed;
end;
end;
更多追问追答
追问
运行后richedit1清空了 请问?????
追答
你自己弄错了吧,不会的,代码只是设置redt1的字体颜色而已
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式