Zitat:
Der Code, den du hier zeigst, ist ganz offensichtlich nicht der, den du ausführst.
Ehrlich gesagt, verstehe ich überhaupt nicht, wo das Problem ist. Das Splitten einer Liste in zwei nahezu gleich große Teile ist doch wirklich trivial.
Doch. So wie er da steht verwende ich ihn aktuell leider.
Auch wenn es sehr trivial zu sein scheint, bekomme ich es anders nicht hin
nahpets' Lösung scheint aber doch richtig zu sein oder?
In der ersten Schleife zählst Du von 0 bis zum berechneten Wert.
Mit diesem Wert beginnst Du die zweite Schleife. Die müsste aber beim ersten Wert hinter dem Ende der ersten Schleife beginnen.
Müsste es nicht eher so aussehen?
Delphi-Quellcode:
program Test;
var
i : Integer;
run1 : Integer;
run2 : Integer;
sl : TStringList;
begin
sl := TStringList.Create;
for i := 0 to 100 do sl.Add('');
run1 := 0;
run2 := 0;
for i := 0 to (sl.Count div 2)-1 do Inc(run1); // hier habe ich -1 hinzugefügt
for i := (run1 + 1) to sl.Count - 1 do Inc(run2);
ShowMessage('Von ' + IntToStr(0) + ' bis ' + IntToStr(run1) + #13#10 + 'Von ' + IntToStr(run1 + 1) + ' bis ' + IntToStr(sl.Count - 1));
sl.Free;
end.