function TryGetPiece(const source: string; const delimiter: string; const piece:integer):string; begin try result:=GetPiece(source, delimiter, piece); except result:=''; end; end; function xsplit(const source: string; const delimiter: string):TStringArray; var i: integer; begin i:=1; while (length(TryGetPiece(source,delimiter,i-1))>0) do begin SetArrayLength(result,i); result[i-1]:=trim(GetPiece(source,delimiter,i-1)); inc(i,1); end; SetArrayLength(result,i-1); end;