delphi代码高亮(delphi代码提示)
admin 发布:2022-12-19 10:10 151
本篇文章给大家谈谈delphi代码高亮,以及delphi代码提示对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用Delphi编写一个简单的文本编辑器,怎样实现关键字高亮显示
- 2、delphi 7怎样设置代码编辑窗口关键字高亮显示
- 3、如何用delphi实现编辑器的脚本加亮显示???
- 4、Delphi更改代码编辑器颜色
用Delphi编写一个简单的文本编辑器,怎样实现关键字高亮显示
你可以尝试使用 synedit 组件来完成这项工作。
SynEdit 组件是一个免费的开源语法高亮控件, 见下图效果:
delphi 7怎样设置代码编辑窗口关键字高亮显示
肯定不能在delphi中设置,下面是我在网上找到的代码,你可以试试:
在 RichEdit 中实现代码着色
下面的代码将以指定颜色对一些指定单词着色,就象delphi中的代码编辑器那样。
procedure CodeColors(Form : TForm;Style : String; RichE : TRichedit;
InVisible : Boolean);
const
// 符号...
CodeC1: array[0..20] of String = ( '# ', '$ ', '( ', ') ', '* ', ', ',
'. ', '/ ', ': ', '; ', '[ ', '] ', '{ ', '} ', ' ', ' ',
'- ', '= ', '+ ', ' ' ' ', '@ ');
// 保留字...
CodeC2: array[0..44] of String = ( 'and ', 'as ', 'begin ',
'case ', 'char ', 'class ', 'const ', 'downto ',
'else ', 'end ', 'except ', 'finally ', 'for ',
'forward ', 'function ', 'if ', 'implementation ', 'interface ',
'is ', 'nil ', 'or ', 'private ', 'procedure ', 'public ', 'raise ',
'repeat ', 'string ', 'to ', 'try ', 'type ', 'unit ', 'uses ', 'var ',
'while ', 'external ', 'stdcall ', 'do ', 'until ', 'array ', 'of ',
'in ', 'shr ', 'shl ', 'cos ', 'div ');
var
FoundAt : LongInt;
StartPos, ToEnd, i : integer;
OldCap,T : String;
FontC, BackC, C1, C2 ,C3 ,strC, strC1 : TColor;
begin
OldCap := Form.Caption;
with RichE do
begin
Font.Name := 'Courier New ';
Font.Size := 10;
if WordWrap then WordWrap := false;
SelectAll;
SelAttributes.color := clBlack;
SelAttributes.Style := [];
SelStart := 0;
if InVisible then
begin
Visible := False;
Form.Caption := 'Executing Code Coloring... ';
end;
end;
BackC := clWhite; FontC := clBlack;
C1 := clBlack; C2 := clBlack; C3 := clBlack;
strC := clBlue; strC1 := clSilver;
if Style = 'Twilight ' then
begin
BackC := clBlack; FontC := clWhite;
C1 := clLime; C2 := clSilver; C3 := clAqua;
strC := clYellow; strC1 := clRed;
end
else
if Style = 'Default ' then
begin
BackC := clWhite; FontC := clBlack;
C1 := clTeal; C2 := clMaroon; C3 := clBlue;
strC := clMaroon; strC1 := clSilver;
end
else
if Style = 'Ocean ' then
begin
BackC := $00FFFF80; FontC := clBlack;
C1 := clMaroon; C2 := clBlack; C3 := clBlue;
strC := clTeal; strC1 := clBlack;
end
else
if Style = 'Classic ' then
begin
BackC := clNavy; FontC := clYellow;
C1 := clLime; C2 := clSilver; C3 := clWhite;
strC := clAqua; strC1 := clSilver;
end
else
begin
with RichE do
begin
T := '{ '+Style+ ' = Invalid Style [Default,Classic,Twilight,Ocean] ONLY! } ';
Lines.Insert(0,T);
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(T, StartPos, ToEnd, [stWholeWord]);
SelStart := FoundAt;
SelLength := Length(T);
SelAttributes.Color := clRed;
SelAttributes.Style := [fsBold];
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText( 'ONLY! ', StartPos, ToEnd, [stWholeWord]);
SelStart := FoundAt;
SelLength := 4;
SelAttributes.Color := clRed;
SelAttributes.Style := [fsBold,fsUnderLine];
end;
end;
RichE.SelectAll;
RichE.color := BackC;
RichE.SelAttributes.color := FontC;
for i := 0 to 100 do
begin
with RichE do
begin
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(IntToStr(i), StartPos, ToEnd, [stWholeWord]);
while (FoundAt -1) do
begin
SelStart := FoundAt;
SelLength := Length(IntToStr(i));
SelAttributes.Color := C1;
SelAttributes.Style := [];
StartPos := FoundAt + Length(IntToStr(i));
FoundAt := FindText(IntToStr(i), StartPos, ToEnd, [stWholeWord]);
end;
end;
end;
for i := 0 to 20 do
begin
with RichE do
begin
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(CodeC1[i], StartPos, ToEnd, []);
while (FoundAt -1) do
begin
SelStart := FoundAt;
SelLength := Length(CodeC1[i]);
SelAttributes.Color := C2;
StartPos := FoundAt + Length(CodeC1[i]);
FoundAt := FindText(CodeC1[i], StartPos, ToEnd, []);
end;
end;
end;
for i := 0 to 44 do
begin
with RichE do
begin
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(CodeC2[i], StartPos, ToEnd, [stWholeWord]);
while (FoundAt -1) do
begin
SelStart := FoundAt;
SelLength := Length(CodeC2[i]);
SelAttributes.Color := C3;
SelAttributes.Style := [fsBold];
StartPos := FoundAt + Length(CodeC2[i]);
FoundAt := FindText(CodeC2[i], StartPos, ToEnd, [stWholeWord]);
end;
end;
end;
Startpos := 0;
with RichE do
begin
FoundAt := FindText( ' ' ' ', StartPos, Length(Text), []);
while FoundAt -1 do
begin
SelStart := FoundAt;
Startpos := FoundAt+1;
FoundAt := FindText( ' ' ' ', StartPos, Length(Text), []);
if FoundAt -1 then
begin
SelLength := (FoundAt - selstart)+1;
SelAttributes.Style := [];
SelAttributes.Color := strC;
StartPos := FoundAt+1;
FoundAt := FindText( ' ' ' ', StartPos, Length(Text), []);
end;
end;
end;
Startpos := 0;
with RichE do
begin
FoundAt := FindText( '{ ', StartPos, Length(Text), []);
while FoundAt -1 do
begin
SelStart := FoundAt;
Startpos := FoundAt+1;
FoundAt := FindText( '} ', StartPos, Length(Text), []);
if FoundAt -1 then
begin
SelLength := (FoundAt - selstart)+1;
SelAttributes.Style := [];
SelAttributes.Color := strC1;
StartPos := FoundAt+1;
FoundAt := FindText( '{ ', StartPos, Length(Text), []);
end;
end;
end;
if InVisible then
begin
RichE.Visible := True;
Form.Caption := OldCap;
end;
RichE.SelStart := 0;
end;
如何用delphi实现编辑器的脚本加亮显示???
wmedit如今已经改成SynEdit了,到SourceForge上去查找一下就可以了。很好用的,InterBase的IBConsole就用到了它,做SQL语法高亮显示。
Delphi更改代码编辑器颜色
你可能是安装了cnpack ,
打开cnpack --IDE 扩展设置--高亮配置,有个允许高亮当前行背景,点击后面的颜色图标,改成你喜欢的颜色。
关于delphi代码高亮和delphi代码提示的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接