Fórum Ler TXT e separar dados em uma linha #601452
27/03/2019
0
Preciso ler um txt com várias linhas e cada tinha há 4 números separados por espaços. Preciso atribuir cada número a uma variável diferente. Minha dúvida é como ler estes números separados, ja que com a função COPY é necessário ter as posições sempre iguais, que não é o caso. Agradeço a ajuda.
Lucas Tieni
Curtir tópico
+ 0
Responder
Posts
27/03/2019
Hélio Devmedia
Olá Lucas, tudo bem?
Eu faço assim:
Só explicando, eu abro o txt em um TStringList, e depois eu crio um segundo TStringList só que com delimitação por espaços, e jogo cada linha do primeiro stringList na propriedade DelimitedText que faz com que o texto seja quebrado em linhas separadas...
A partir daqui eu posso pegar cada linha da segunda stringList e jogar o valor nas variáveis que você mencionou.
Ficaria muito mais interessante se este código fosse encapsulado em um objeto e cada variável ser uma propriedade deste objeto, mas aí é decisão sua.
Espero ter ajudado. Um forte abraço e fique com Deus
Eu faço assim:
var
arquivo, numeros: TStringList;
v1, v2, v3, v4: double;
I: Integer;
begin
arquivo:= TStringList.Create;
arquivo.LoadFromFile('k:\\teste.txt');
numeros:=TStringList.Create;
numeros.StrictDelimiter:=false;
numeros.Delimiter:=' ';
for I := 0 to arquivo.Count-1 do
begin
numeros.DelimitedText:=arquivo.Strings[i];
v1:=numeros.Strings[0].ToDouble();
v2:=numeros.Strings[1].ToDouble();
v3:=numeros.Strings[2].ToDouble();
v4:=numeros.Strings[3].ToDouble();
end;
end;
Só explicando, eu abro o txt em um TStringList, e depois eu crio um segundo TStringList só que com delimitação por espaços, e jogo cada linha do primeiro stringList na propriedade DelimitedText que faz com que o texto seja quebrado em linhas separadas...
A partir daqui eu posso pegar cada linha da segunda stringList e jogar o valor nas variáveis que você mencionou.
Ficaria muito mais interessante se este código fosse encapsulado em um objeto e cada variável ser uma propriedade deste objeto, mas aí é decisão sua.
Espero ter ajudado. Um forte abraço e fique com Deus
Responder
Gostei + 0
09/05/2019
Lucas Tieni
Olá Hélico, Agradeço muito pela ajuda!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)