Manipulação de string - alterar valor

Delphi

26/05/2015

Olá pessoal! Será que alguém poderia me ajudar com esse problema? Agradeço desde já!


Tenho um arquivo de texto com estas linhas(exemplo) :

1,2,800,4,5,6,7,8,9,10
1,2,600,4,5,6,7,8,9,10
1,2,589,4,5,6,7,8,9,10
1,2,999,4,5,6,7,8,9,10
1,2,888,4,5,6,7,8,9,10
1,2,487,4,5,6,7,8,9,10
1,2,1297,4,5,6,7,8,9,10

Todos os números são aleatórios e estão divididos por vírgulas. Como faço para alterar o terceiro número de cada linha para 0? Obrigado!
Carinha

Carinha

Curtidas 0

Respostas

Dorivan Sousa

Dorivan Sousa

26/05/2015

codigo feio mais funciona

var
  i, p: integer;
  s: TStrings;
  aux1, aux2: String;
begin
  s:=TStringList.Create;
  s.add('1,2,800,4,5,6,7,8,9,10');
  s.add('1,2,600,4,5,6,7,8,9,10');
  s.add('1,2,589,4,5,6,7,8,9,10');
  s.add('1,2,999,4,5,6,7,8,9,10');
  s.add('1,2,888,4,5,6,7,8,9,10');
  s.add('1,2,487,4,5,6,7,8,9,10');
  s.add('1,2,1297,4,5,6,7,8,9,10');

  for i:=0 to s.count-1 do
  begin
    aux1:=s[i];
    aux2:='';
    //primeira coluna
    p:=pos(',', aux1);
    aux2:=aux2+copy(aux1,1,p);
    delete(aux1, 1, p);

    //segunda coluna
    p:=pos(',', aux1);
    aux2:=aux2+copy(aux1,1,p);
    delete(aux1, 1, p);

    //terceira coluna
    p:=pos(',', aux1);
    aux2:=aux2+'0,';  ///aqui coloca o valor que quer
    delete(aux1, 1, p);

   s[i]:=aux2+aux1;
  end;
GOSTEI 0
POSTAR