读书人

关于代码着色的小疑点

发布时间: 2012-02-04 15:43:08 作者: rapoo

关于代码着色的小问题
想写个代码着色的记事本,大部分的问题在Delphi精要里得到答案,不过还是有个问题

就是如何给 // 这种形式的注释着色

知道如何定位 // 的位置,但不知道如何获得注释结束时的位置 ?

[解决办法]
知道如何定位 // 的位置,但不知道如何获得注释结束时的位置 ?

你知道了他的开始的位置,那要着色的字符就是以这个位置开始,到这一行的最后一个字符的位置
就是要着色的地方了!
[解决办法]
我用的是RichEdit ,那代表行最后一个字符的属性是什么 ?
--------------------

Length(字符串) == 字符串的最后一个字符(#0前的那个字符)的下标.
RichEdit.Lines[X] 就是一个字符串.

或者,你直接用MaxInt这个常量就行了.
[解决办法]
iBeginPos := RichEdit1.FindText(
'// ',
0,
Length(RichEdit1.Lines.Text),
[stMatchCase]);

if iBeginPos> =0 then
begin
RichEdit1.SelStart := iBeginPos;

iEndPos := RichEdit1.FindText(
#13#10,
iBeginPos,
Length(RichEdit1.Lines.Text),
[stWholeWord,stMatchCase]);
RichEdit1.SelLength := iEndPos-iBeginPos;
RichEdit1.SelAttributes.Color := clBlue;

end;

读书人网 >.NET

热点推荐