在做打字程序时,100分---在RichEdit控件中对输入的汉字作判断,正确的字显示蓝色,错误的显红色,怎么写程序? 在做打字程序时,在RichEdit控件中对输入的汉字作判断,正确的字显示蓝色,错误的显红色,怎么写程序? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.RichEdit1Change(Sender: TObject);var Startpos,Toend,x,y:integer; curstring:string;begin curstring:=RichEdit1.Lines[RichEdit1.Lines.Count-1];; StartPos := 0; ToEnd := length(Richedit2.text)-1; X := Richedit2.FindText(curstring,StartPos,toEnd,[stMatchCase]); if x<>-1 then begin Richedit2.SetFocus; Richedit2.selstart := X; RichEdit2.SelLength := Length(curstring); RichEdit2.SelAttributes.Color:=clRed; end;end; 你好,感谢你的帮助,不过在运行时,还不能按要求正确显示在输入字时,应对每一个字作判断,然后再显示出来,我以前的作法是,在onchange事件过程中输入字后,作判断,若不正确,则选中刚才输入的汉字,再赋予红色,但设置无效,输入英文没有问题,但汉字不行,我想这也许跟输入法有一定的关系。究竟该如何做,还请你多赐教。 谢谢! BillGaze 因为汉字占两个字节 ,设SelLength为2试试procedure TForm1.RichEdit1Change(Sender: TObject);begin if RichEdit1.SelStart > 0 then RichEdit1.SelStart := RichEdit1.SelStart - 1; RichEdit1.SelLength := 1; RichEdit1.SelAttributes.Color:=ClRed;end; MD5算法源码 关于delphi版权的问题 请问以下通信问题如何解决? 在delphi中怎么调用以com组件方式编写的dll 高分提问:使用TWebBrowser时如何防止程序崩溃? combobox下拉值选中后光标位置问题,会者不难,不吝赐教 程序员怎么对待客户在软件完成以后又要求添加的需求 如何使Chart的打印可以让用户设置? 一个图像处理的问题 请问,如何得到当前的日期和时间??谢谢! 请问exit和abort有什么区别? 视图的刷新
var Startpos,Toend,x,y:integer;
curstring:string;
begin
curstring:=RichEdit1.Lines[RichEdit1.Lines.Count-1];;
StartPos := 0;
ToEnd := length(Richedit2.text)-1;
X := Richedit2.FindText(curstring,StartPos,toEnd,[stMatchCase]);
if x<>-1 then
begin
Richedit2.SetFocus;
Richedit2.selstart := X;
RichEdit2.SelLength := Length(curstring);
RichEdit2.SelAttributes.Color:=clRed;
end;
end;
在输入字时,应对每一个字作判断,然后再显示出来,我以前的作法是,在onchange事件过程中
输入字后,作判断,若不正确,则选中刚才输入的汉字,再赋予红色,但设置无效,输入英文没有问题,但汉字不行,我想这也许跟输入法有一定的关系。究竟该如何做,还请你多赐教。
谢谢!
BillGaze
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
if RichEdit1.SelStart > 0 then
RichEdit1.SelStart := RichEdit1.SelStart - 1;
RichEdit1.SelLength := 1;
RichEdit1.SelAttributes.Color:=ClRed;end;