Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

terça-feira, 26 de maio de 2015

DELPHI - TDBRichEdit - Erro ao trocar linha formatada do dataset - TDBRichEdit1 bug change dataset line (RTF)

Reações: 
Isso ocorre quando você tem um campo blob e armazena textos com e sem formatação em RTF, quando o primeiro registro da tabela tem formatação, os demais são exibidos com a formatação do primeiro, pois os atributos do DBRichEdit ficam sujos quando se troca de registro do dataset.
procedure TForm1.DBRichEdit1Change(Sender: TObject);
var
  sStrm : TStringStream;
begin
  try
    if Trim(DBRichEdit1.DataSource.DataSet.FieldByName(DBRichEdit1.DataField).AsString) = '' then Exit;

    sStrm := TStringStream.Create(DBRichEdit1.DataSource.DataSet.FieldByName(DBRichEdit1.DataField).AsString);
    try
    if (Pos('rtf',sStrm.DataString) = 0)
   and (Pos('{',sStrm.DataString) = 0)
   and (Pos('}',sStrm.DataString) = 0) then
    begin
      DBRichEdit1.SelectAll;
      DBRichEdit1.SelAttributes.Name  := FFontName;
      DBRichEdit1.SelAttributes.Size  := FFontSize;
      DBRichEdit1.SelAttributes.Style := FFontStyle;
      DBRichEdit1.SelAttributes.Color := FFontColor;
    end;

    finally
      FreeAndNil(sStrm);
    end;
  except // anula qualquer mnsagem de erro
  end;
end;

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer