通过删除前 X 行截断 Lazarus 中的 TMemo

Truncating a TMemo in Lazarus by removing first X lines

我在 Lazarus 中使用 TMemo 来显示滚动日志,但我想将其限制为最后 500 个条目。

我想做的是(伪代码):

if (log_TMemo.Lines.Count > 500) then
   log_TMemo.Lines := log_TMemo[LinesCount - 500 to LinesCount];

TMemo 包含 TStrings TMemo.Lines,所以我想需要一种方法来复制 TStrings 数组的子集。

有没有办法做到这一点,或者有其他方法吗?

尽管它使用迭代,this Lazarus 论坛中的响应完美无缺。

while log_TMemo.Lines.Count > 500 do
    log_TMemo.Lines.Delete(0);