我在备忘录中有如下几行:
111111.kll
222222.kll
我需要从每行中删除最后4个字符,以获得如下结果:
111111
222222
最佳答案
作为GolezTrol解决方案的替代方案,您可以直接处理Memo内容,而不用先在内存中复制它:
var
i, LineStart, LineLen: Integer;
begin
Memo1.Lines.BeginUpdate;
try
for i := 0 to Memo1.Lines.Count - 1 do
begin
LineStart := Memo1.Perform(EM_LINEINDEX, i, 0);
LineLen := Memo1.Perform(EM_LINELENGTH, LineStart, 0);
Memo1.Perform(EM_SETSEL, LineStart + LineLen - 4, LineStart + LineLen);
Memo1.SelText := '';
end;
finally
Memo1.Lines.EndUpdate;
end;
end;