ciao, ho avuto un problema simile.
cercando su internet ho trovato del codice che poi ho un po adattato alle mie esigenze....
function split(input:string;schar:char;s:integer):string;
var
i,n:integer;
schop: string;
begin
n := 0;
for i := 1 to length(input) do
begin
if (input[i] = schar) then
begin
inc(n);
if n = s then
split := schop
else
schop := '';
end
else
schop := schop + input[i];
end;
inc(n);
if n = s then split := schop;
end;
per estrarre i dati devi fare cosi:
StringaDati:='dato1@dato2@dato3@dato4@dato5@'
MiaStringa:= SPLIT(StringaDati,'@',3);
in questo caso MiaStringa conterra 'Dato3'.
ciao