Удаление определенных строк из содержимого поля Memo

Как я могу использовать Delphi для удаления данных из мемо-поля, которое идет после определенной строки, например, данные в базе данных, которую я просматриваю, отображаются так:

<Data I want to keep>

======= Old Data ========
<line 1>
<line 2>
etc.

Как я мог сказать Delphi удалить все данные после (и включая) старую строку данных? Но не трогать данные, которые я хочу сохранить?

2 ответа

Решение

Что -то вроде:

var
  I: Integer;
  s: string;
begin
  s := 'your big string with ======= Old Data ======== and more';
  I:=Pos('======= Old Data ========',s);
  if I>0 then
    Delete(s, I, MaxInt);
  ShowMessage(s);

Попробуй это:

procedure myForm.ClearFromLine(value: string);
var
  i, index: integer;
begin
  index := memo.lines.IndexOf(value);
  if index = -1 then
    Exit;
  memo.lines.BeginUpdate;
  try
    for i := memo.lines.count - 1 downto index do
      memo.lines.delete(i);
  finally
    memo.lines.EndUpdate;
  end;
end;
Другие вопросы по тегам