我正在尝试将StringList内容拆分为多个部分(在Delphi中)...
听起来很简单,但我被愚蠢地阻止了:o
例如,StringList包含1001行,我想将内容拆分为2个StringLists。因此,一个将有500行,另一个将有501行 无论第一个是501还是第二个500,反之亦然。
如果有人能以正确的方式推动我...... 提前谢谢!
贝尼
答案 0 :(得分:5)
你可以这样做:
for I := SL1.Count - 1 downto (SL1.Count div 2) do
begin
SL2.Insert(0, SL1[I]);
SL1.Delete(I);
end;
答案 1 :(得分:3)
你可以很容易地手动完成:
var
i: Integer;
MidIndex, HighIndex: Integer;
begin
MidIndex := SLOne.Count div 2; // Center of first list's items
HighIndex := SLOne.Count - 1; // End of first list
// Copy from center to end of first list, keeping order
// of items intact
for i := MidIndex to HighIndex do
SLTwo.Append(SLOne[i]);
// Go back and remove the ones you just put into the second
// list. Go backward to prevent going past the end.
for i := HighIndex downto MidIndex do
SLOne.Delete(i);
end;