Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
Delphi 10.4 Sydney
|
AW: Wörter in Zeichenstring fett schreiben
13. Jul 2011, 19:16
Jo, is ne Sch..arbeit. Hat mich auch mal ein paar Tage gekostet.
Delphi-Quellcode:
procedure DoColorWork (ARichEdit: TRichEdit; const ARow: integer; const S: string; const fAlle: boolean);
var
I, X, L, X1, X2: integer;
F: boolean;
begin
X1:= 0;
X2:= 0;
for I := 0 to ARichEdit.Lines.Count - 1 do
begin
if I < ARow then
X1:= X1+Length(ARichEdit.Lines[I])+2;
if I <= ARow then
X2:= X2+Length(ARichEdit.Lines[I])+2;
if I = ARow then
break;
end;
ARichEdit.Lines.BeginUpDate;
L:= Length(S);
X:= X1+1;
F:= true;
while F do
begin
X:= PosEx(S, ARichEdit.Text, X);
if ((X <> 0) and (X <= X2)) then
begin
with ARichEdit do
begin
SelStart:= X-1;
SelLength:= L;
SelAttributes.Color:= clNavy;
SelAttributes.Style:= [fsBold];
SelAttributes.Name:= Font.Name;
SelAttributes.Size:= Font.Size;
end;
Inc(X, L);
F:= fAlle;
end
else
F:= false;
end;
ARichEdit.SelLength:= 0;
ARichEdit.Lines.EndUpDate;
end;
DoColorWork (RichEdit1, 27, 'Höhe:', false); // Zeilen beginnen mit Null
|
|
Zitat
|