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