Fieldbyname bold parameter

Asked

Viewed 278 times

3

Hello, I have a Richtext that I inserted the text via programming, but it has some parts of this text I bring from the bank, I need these specific fields to be in bold inside Richtext.

Follow an example of the code.

Texto1.RichText:='A Diretora da Escola teste no uso de suas atribuições e tendo em vista a conclusão do '
                + 'Periodo I'+ ' do Curso ' + pipMestre['NOME_CURSO'] 
                + ', Eixo Tecnológico ' + reconhecimento.FieldByName('eixo') 
                + ', confere o Título de ' + 'a';

I would need Fieldbyname to be bold.

Thank you for your attention.

1 answer

3

To bold part of the text using RichEdit (I don’t have the component RichText), we have to select the word we want to put in bold inside the text. For this we need to find it.

So I created a function that you pass the RichEdit and the text you want to bold to be applied.

procedure TForm1.textoNegrito(ARichEdit: TRichEdit; ATexto: String);
var
  iPosIni : integer;
begin
    ARichEdit.SelStart  := 0;
    ARichEdit.SelLength := length(ARichEdit.Text);

    //Encontra e atribui a posição inicial do texto no RichEdit
    iPosIni := ARichEdit.FindText(ATexto, 0, length(ARichEdit.Text), []);

    //Verifica se o texto foi encontrado
    if iPosIni >= 0 then
    begin
        ARichEdit.SelStart  := iPosIni;
        ARichEdit.SelLength := length(ATexto);
        // Aplica o negrito
        ARichEdit.SelAttributes.style := [fsBold];
    end;
end;

Its use would be something like:

...
var
  vlA,vlB : string;
begin
  vlA :=  'teste 1';
  vlB :=  'teste 2';

  Texto1.Text := 'A Diretora da Escola teste no uso de suas atribuições e tendo em vista a conclusão do '
                + 'Periodo I'+ ' do Curso ' + vlA
                + ', Eixo Tecnológico ' + vlB
                + ', confere o Título de ' + 'a';

  textoNegrito(Texto1,vlA);
...

Reference used: https://www.devmedia.com.br/pesquisando-e-destacando-texto-no-richedit/24260

Browser other questions tagged

You are not signed in. Login or sign up in order to post.