Registriert seit: 16. Mär 2005
Ort: Dotternhausen
164 Beiträge
Delphi 2005 Personal
|
Re: SynEdit: Textfarbe an bestimmter Stelle herausfinden
17. Mär 2005, 16:24
Mal noch kurz die Funktion um die es geht
Delphi-Quellcode:
function THauptfenster.GetItemPart(identifier,name,pname,part:string):string;
var
position,line:integer;
found:boolean;
aname,s,temp:string;
xy:tbuffercoord;
attribute:tsynhighlighterattributes;
begin
SynEdit2.Lines.Text:=getitem(identifier,name,pname);
line:=0;
found:=false;
while (line<=SynEdit2.lines.count-1) do begin
temp:=cutby(synedit2.lines[line]);
xy.Char:=pos(lowercase(part),lowercase(Synedit2.lines[line]))+length(part);
xy.Line:=line;
if SynEdit2.GetHighlighterAttriAtRowCol(xy,s,attribute) then
aname:=attribute.name
else
aname:='';
if (lowercase(copy(temp,1,length(part)+1))=lowercase(part)+' ') and (aname<>commentAttr) and (aname<>stringAttr) then begin
found:=true;
break;
end;
inc(line);
end;
if found then begin
position:=pos(lowercase(part),lowercase(synedit2.lines[line]));
getitempart:=cutby(copy(synedit2.lines[line],position+length(part),length(synedit2.lines[line])-position-length(part)+1));
end else getitempart:='';
end;
Ich würde gerne des SynEdit2 durch eine TStringList ersetzen, allerdings wird dann die GetHighlighterAttriAtRowCol unmöglich. Oder doch nicht?
|
|
Zitat
|