Удаление определенных строк из содержимого поля 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;