Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jc199

Trabalhar com arquivo TXT filtro

Recommended Posts

Bom dia amigos

 

Estou querendo gerar uma aplicação simples onde abro um arquivo txt com essa estrutura em abaixo de 10 numeros por linha,

 

onde do lado apareça os numeros que faltaram de 01 a 25; exemplo

 

arquivo txt

01 02 03 04 07 10 11 14 16 18 linha 01
01 03 06 09 10 13 14 16 19 22
01 02 03 04 07 08 09 13 17 18
02 04 07 09 10 11 13 14 16 17
03 07 08 09 10 13 15 16 17 22
01 04 06 10 11 15 17 18 19 22
02 03 04 07 09 11 15 16 17 19
06 07 08 10 11 13 14 18 19 22
01 03 04 08 09 14 15 17 18 22
02 04 06 07 08 10 14 15 17 19
Arquivo a ser gerado (resultado)
05 06 08 09 12 13 15 17 19 20 21 22 23 24 25
E assim sucessivamente com cada linha
Agradeço a compreensão
Pessoal sou iniciantes dos iniciantes.
Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se te serve:

function TForm1.ChecaArquivo(arq: string): TStrings;
var
  s, s1: TStrings;
  i, j, k: Integer;
  r: string;
begin
  s := TStringList.Create;
  s1 := TStringList.Create;
  Result := TStringList.Create;
  try
    try
      s.Delimiter := ' ';
      s.StrictDelimiter := True;
      s1.LoadFromFile(arq);
      for i := 0 to s1.Count - 1 do //Qtdade de Linhas
      begin
        s.DelimitedText := s1[i];
        k := 0;
        r := '';
        for j := 1 to 25 do
        begin
          if (StrToInt(s[s.Count -1]) < j) or (StrToInt(s[j - k - 1]) <> j) then
          begin
            r := r+ Format('%2.2d', [j])+' ';
            Inc(k);
          end;
        end;

        if r <> '' then
            Result.Add(Trim(r));
      end;
    finally
      s1.Free;
    end;
  except
    Result.Free;
  end;
end;

Pra vc usar seria:

procedure TForm1.Button1Click(Sender: TObject);
var
  arqResult: TStrings;
begin
  arqResult := ChecaArquivo('arquivo.txt');
  try
    arqResult.SaveToFile('arquivo1.txt');
  finally
    arqResult.Free;
  end;
end;

Veja que este método só te serve se os número gravados em seu arquivos forem sempre em ordem crescente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.