Nicht jeder Text mit beliebiger Länge kann in 4 gleichgroße Teile geteilt werden (Nicht alle Zahlen sind durch 4 teilbar mit 0 Rest)
Zuerst würd ich einmal schauen, ob das der Fall ist:
if Length(lpInput) mod 4 <> 0 then
Exit;
Weiters würde ich bei dieser Funktion als Result ein TStringArray (= Array of String) zurückliefern lassen, das eben diese Teile dann beinhaltet...
Würde dann circa so ausschauen:
Delphi-Quellcode:
function SplitInto4Parts(const lpInput: String): TStringArray;
var
i, j: Integer;
begin
SetLength( Result, 0 );
j := Length(lpInput);
if j mod 4 <> 0 then
Exit;
j := j div 4;
SetLength( Result, j );
for i := 0 to j-1 do
Result[i] := Copy( lpInput, 1+4*i, 4 );
end;