function MontaString(Nome,separador: String): string; begin Nome := Trim(Nome); Result := Nome; {Insere um espaço para garantir que todas as letras sejam testadas} Nome := Nome + #32; {Pega a posição do primeiro espaço} i := Pos(separador, Nome); if i > 0 then begin TotalNomes := 0; {Separa todos os nomes} while i > 0 do begin Inc(TotalNomes); Nomes[TotalNomes] := Copy(Nome, 1, i - 1); Delete(Nome, 1, i); i := Pos(#32, Nome); end; end; end; essa função esta quase perfeita pra mim, a minha necessidade é que após ler um string eu conseguise obter todas as posições. ex: a:=Nomes[1] b:=Nomes[2] a minha dificuldade e ter todos esses valores fora da função,pois se escrevo esse código dentro da procedure eu tenho o retorno.