Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Wörter in Zeichenstring fett schreiben

  Alt 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
  Mit Zitat antworten Zitat