文本关键字多彩显示,不行再开帖加分

hy1080 2003-08-19 12:38:42
各位老大,我一直在想一个问题。
如何才能实现,象C++编译器那样的多彩文本显示。

//后面的就是斜体字
int 就是黑体的。
/*之间也是斜体*/
程序界面加上这个功能一定很酷,

...全文
26 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
hy1080 2003-09-01
  • 打赏
  • 举报
回复
是个好主意就“开源”来完成吧
不过谁来完成呢?
StockViews 2003-09-01
  • 打赏
  • 举报
回复
这只是一个例子,对于for或者函数呀很有用呀。
StockViews 2003-09-01
  • 打赏
  • 举报
回复
为什么不把这当成一个开源项目来做?大家一起努力。
最好能具有TREE功能,就是分段或按块可以伸缩。
- if(A>B)
{
语句1;
语句2;
语句N;
}
当点击左上面的‘-’号时就变成
+ if(A>B)
{
……
}
当点击左上面的‘+’号时就又展出成原来的样子

这只是一个例子,对于for或者函数呀很我用呀。
在看源程序的时候,有的函数我只需要知道其功能就行了,不想看其几十行的代码,这时个把其“收”回上,多干净!
Siney 2003-08-31
  • 打赏
  • 举报
回复
SynEdit用起来太简单,它也附带了一些例子,如果你要加亮关键字,你只要选择一个语法加良原件,然后设置它的HighLighter属性就可以了。
qiuafa 2003-08-31
  • 打赏
  • 举报
回复
UP一下
hy1080 2003-08-29
  • 打赏
  • 举报
回复
Synedit我是下了不过挺多的
我还没看出来怎么个用法就口吐白沫晕了。
各位老大一起来研究吧。
相信有很多人都想知道这个结果。
来人帮UP一下
sprewellkobe 2003-08-28
  • 打赏
  • 举报
回复
没法解决,要讲的太多

你买本编译原理的书结合Synedit的原码,慢慢看应该能看明白

扫描符-语衣分析-语法hash匹配.....

有空再交流交流,最近在忙java,没时间看
hy1080 2003-08-28
  • 打赏
  • 举报
回复
问题未解决继续
ljg8085 2003-08-23
  • 打赏
  • 举报
回复
困绕多日!已经把这个问题放下好长时间了!
关心!
Siney 2003-08-23
  • 打赏
  • 举报
回复
"改RichEdit色的方法,小文章行,大点的太慢了"

关于这点是可以改进的,你可以只对当前可见屏幕内的文本加亮,而非可见的部分,等拥护拖动到可见时再加亮。

我研究了将近半年SynEdit的原代码,对他的结构了如指掌,它就是这样做的。
柯本 2003-08-23
  • 打赏
  • 举报
回复
同意 Aweay(BCB绝对实力派) ,用第三方的构件,有多种
hy1080 2003-08-23
  • 打赏
  • 举报
回复
to Aweay(BCB绝对实力派) 我也是这么想的,不过我不是计算机专业也没学过什么正则表达式,看书也没看明白。
如果只是很少数的几个固定关键字用季老大的方法应当不错。用个线程来做后台工作。
我写软件,大概也只能用几个固定关键字了。
但是我还是对能全文语法分析的东西感兴趣。
即然sprewellkobe(我为软件狂!) 能写出象DW那样的同理可证也可以写出CB那样的了。
??????
等着sprewellkobe(我为软件狂!) 消息
sprewellkobe 2003-08-23
  • 打赏
  • 举报
回复
To Aweay(BCB绝对实力派) :

SynEdit可不是显示出来染多少色这么做的
hy1080 2003-08-23
  • 打赏
  • 举报
回复
我找到了。下了好快4M了
回去看一下
hy1080 2003-08-23
  • 打赏
  • 举报
回复
to Aweay(BCB绝对实力派)
怎么才能知道用户现在看得是哪 一段
hy1080 2003-08-23
  • 打赏
  • 举报
回复
那些控件都在哪儿有?
hy1080 2003-08-20
  • 打赏
  • 举报
回复
再就是如果关键字很多的话,怎样分析。这个是关键字,那个不是关键字。
hy1080 2003-08-20
  • 打赏
  • 举报
回复
怎样才能即时生效,我用上面的方法做过,太慢了。
jishiping 2003-08-20
  • 打赏
  • 举报
回复
比如:
int SelStart = RichEdit1->SelStart; //保存当前选择文字的起始位置
int SelLength = RichEdit1->SelLength; //保存当前选择文字的个数
RichEdit1->SelStart = 0; //设定要改变的文字的位置
RichEdit1->SelLength = 5; //设定要改变的文字的字符个数
TFontStyles Styles = RichEdit1->SelAttributes->Style;
RichEdit1->SelAttributes->Style = Styles << fsBold;
RichEdit1->SelStart = SelStart; //恢复开始选择文字的起始位置
RichEdit1->SelLength = SelLength; //恢复开始选择文字的个数
jishiping 2003-08-20
  • 打赏
  • 举报
回复
使用 TRichEdit 就可以了。可以先用代码选择文字(必要时需要先保存当前的选择文字),
然后设置RichEdit的SelAttributes中的相关属性结可以了。
加载更多回复(4)

602

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧