关于代码着色的小问题 想写个代码着色的记事本,大部分的问题在Delphi精要里得到答案,不过还是有个问题就是如何给 // 这种形式的注释着色知道如何定位 // 的位置,但不知道如何获得注释结束时的位置 ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/y___y/archive/2006/11/21/1402198.aspx 我用的是RichEdit ,那代表行最后一个字符的属性是什么 ? 我用的是RichEdit ,那代表行最后一个字符的属性是什么 ?--------------------------------------------------------Length(字符串) == 字符串的最后一个字符(#0前的那个字符)的下标.RichEdit.Lines[X] 就是一个字符串.或者,你直接用MaxInt这个常量就行了. 根据提示做了,还是不行,我用Edit来显示最后那个字符的位置,总之 -1希望能给详细点的提示,谢谢 就是如何获得 // 注释符号所在行的最后那个字符的位置 Length(RichEdit.Lines[I]);这个应该没问题吧? 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; sdzeng(大头鸟) ,你给代码运行后是 // 后全都着色了,并不只是 // 所在行着色应该如何修改呢 ? 我完全没有头绪 :( 我只是演示了一下怎么找到换行符而已你不是大部分工作都搞定了吗?去Google搜索一下 “richedit 代码着色” 和我碰到的问题一样,也没解决,有人用Raize控件有做的,可我不想用第三方控件 直接if (字符=#13)or(字符=#10)then //#13 #10分别为回车和换行符最后位置:=字符位置 关于poputmenu TControl的Action属性有什么用? 关于Pos与繁体中文的问题。 Filter的用法报错,请帮看看 堆栈溢出的错误. 在TMenuItem类中,如何判断其是否关联一个子菜单 向各位高手请教 如何用 DELPHI.6 自带的INSTALLSHIELD 做安装程序时加密,谢谢, 我好笨哦,连个124的0.782次方都算不出来...,指点一下吧 为什么我的代码会出现out of memory(1)啊?以下是具体的功能和实现?大神们帮我看一下 添了个侄子,散分!!! *************初学者,困惑很久和问题**************
--------------------------------------------------------Length(字符串) == 字符串的最后一个字符(#0前的那个字符)的下标.
RichEdit.Lines[X] 就是一个字符串.或者,你直接用MaxInt这个常量就行了.
'//',
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;
我只是演示了一下怎么找到换行符而已
你不是大部分工作都搞定了吗?去Google搜索一下 “richedit 代码着色”
if (字符=#13)or(字符=#10)then //#13 #10分别为回车和换行符
最后位置:=字符位置