首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于代码着色的小疑点

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

关于代码着色的小问题
想写个代码着色的记事本,大部分的问题在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;

热点排行