FUNCTION COM RETORNO DE MAIS UMA VARIAVEL
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);
[b:e413cb6bba]Nomes[TotalNomes][/b:e413cb6bba] := 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.
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);
[b:e413cb6bba]Nomes[TotalNomes][/b:e413cb6bba] := 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.
Jefferson Pereira
Curtidas 0
Respostas
Rudá
30/11/2008
Você pode criar array dinamico.
Type
TTipo = Array of String;
function MontaString(Nome,separador: String): TTipo;
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);
Setlengh(Result,TotalNomes);
Result[TotalNomes-1] := Copy(Nome, 1, i - 1);
Delete(Nome, 1, i);
i := Pos(32, Nome);
end;
end;
end;GOSTEI 0