当前位置:首页 > 代码 > 正文

delphi代码高亮(delphi代码提示)

admin 发布:2022-12-19 10:10 151


本篇文章给大家谈谈delphi代码高亮,以及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站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/6470.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载