Delphi выбирает абзац в richedit - PullRequest
0 голосов
/ 27 сентября 2011

Как выделить абзац в несколько строк. Абзацы ограничены числом, а не # 10 + * # 13? Вы можете бояться выделения, щелкая мышью или пролетая над абзацем.

Ответы [ 2 ]

0 голосов
/ 10 октября 2011
{********************************************************************}
// Nombre de la funcion: TI2FStrings.GetCursorSQL
// Explicación: Obtiene el párrafo donde está situado el cursor.
//
//  Usuario      Fecha      Modificación
// ------------ ---------- ------------------------------------------
// drodriguez   11/08/2005 Creación
{********************************************************************}
class function TI2FStrings.GetCursorSQL(Text: string; CursorPos: Integer): string;
var
  LastPos, iPos: Integer;
  IniPos, FinPos: Integer;

Begin
  iPos:= 1;
  Repeat
    LastPos:= iPos;
    iPos:= PosEx(#13#10#13#10, Text, iPos);
    if (iPos <> 0) then Inc(iPos, 2);
  until (iPos = 0) or (CursorPos < iPos - 1);
  if (iPos = 0) then iPos:= Length(Text)
  else Dec(iPos, 2);

  FinPos:= iPos;
  IniPos:= LastPos;

  Result:= Trim(Copy(Text, IniPos, FinPos - IniPos + 1));
end;

Это для получения SQL от TMemo, где каждый SQL отделен пустой строкой. Просто замените #13#10#13#10 на #13#10.

0 голосов
/ 03 октября 2011

В основном, если вы используете открытые свойства SelStart и SelLength своего TRichEdit, вы можете выбрать любой текст в своем элементе управления richedit.

Таким образом, вы можете разбить текст на части по своему усмотрению, абзацы или нет, а затем просто программно выделить его фрагмент.

...