Hola avila.
Tus funciones son correctas, pero usando
TStringLists podés hacerlo de forma simple en una sóla función:
Código Delphi
[-]
function SepararCadena(const Cadena: string; const Delim: Char): TStringList;
begin
Result:= TStringList.Create;
Result.Delimiter:= Delim;
Result.DelimitedText:= Cadena;
end;
Ejemplos de llamada:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
TS: TStrings;
i : integer;
begin
TS:= SepararCadena('Cadena1,Cadena2,Cadena3,...,CadenaN',',');
try
for i:= 0 to TS.Count -1 do
ShowMessage(TS[i]);
finally
TS.Free;
end;
end;
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items:= SepararCadena('Cadena1,Cadena2,Cadena3,...,CadenaN',',');
end;
Saludos.