Esse artigo faz parte da revista Clube Delphi edição 5. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Dica

 

Obtendo textos do objeto TRichEdit sem fixar seleção

 

Às vezes, quando se utiliza o objeto RichEdit, é necessário obter uma determinada parte do texto a partir daquele controle. O código abaixo mostra uma forma de se fazer isso, usando a propriedade SelText, sem fixar uma seleção:

 

{sobrescreve a definição de TTextRange em

RichEdit.pas}

TTextRange = record

chrg: TCharRange;

lpstrText: PAnsiChar;

end;

 

function REGetTextRange(RichEdit: TRichEdit;

BeginPos, MaxLength: Integer):

string;

{RichEdit – RichEdit control

BeginPos – índice absoluto do primeiro caracter

MaxLength – número máximo de caracteres a se obter}

var

TextRange: TTextRange;

begin

if MaxLength>0 then

begin

SetLength(Result, MaxLength);

with TextRange do

begin

chrg.cpMin := BeginPos;

chrg.cpMax := beginPos+MaxLength;

lpstrText := PChar(Result);

end;

SetLength(Result, SendMessage(RichEdit.Handle, EM_GETTEXTRANGE, 0, longint(@TextRange)));

end

else Result:=’’;

end;

 

Por Inprise