Fórum Leitura de arquivos TXT #295897

17/09/2005

0

Alguem possui uma dica para que a leitura de arquivos txt através do delphi seja rápida? Tenho realizado testes e verifiquei que este processo vai ficando lento.

Desde já agradeço.


Alex Maia

Alex Maia

Responder

Posts

17/09/2005

Motta

Arquivos muito grandes ?

Esta dica é comum , dê uma pesquisada e verá muitas possíveis soluções.


Responder

Gostei + 0

17/09/2005

Afarias

var
  f: TextFile;
  s: string;
begin
  AssignFile(f, ´c:\arquivo.txt´);
  Reset(f);
  try
    while not Eof(f) do
    begin
      Readln(f, s);
      { faça algo com s }
    end;
  finally
    CloseFile(f);
  end;
end;



T+


Responder

Gostei + 0

17/09/2005

Rjun

Se os arquivos não forem muito grande, você pode usar um TStringList.


Responder

Gostei + 0

17/09/2005

Alex Maia

Preciso para leitura de arquivos grandes, pois são arquivos de retorno dos bancos. Alguma idéia??


Responder

Gostei + 0

17/09/2005

Rjun

Bom, não sei o q vc considera como grande. Faça o teste com TStringList e tire suas próprias conclusões.

var
  Arquivo: TStringList;
  i: Integer;
begin
  Arquivo := TStringList.Create;
  try
    Arquivo.LoadFromFile(NomedoArquivo.Txt);
    for i := 0 to Arquivo.Count - 1 do
    begin
      // Para acessar uma linha do arquivo use
      // Arquivo.Strings[i];

      ShowMessage(Arquivo.Strings[i]);    
    end;
  finally
    FreeAndNil(Arquivo);
  end;
end;



Responder

Gostei + 0

18/09/2005

Rogick

Vc pode usar a função FileOpen para abrir, FileRead para ler a linha e FileClose para fechar o arquivo.

Como neste exemplo:

var
  arqHanlde: Integer;
  buffer: array[0..401] of Char; // Se o arquivo for CNAB400
begin
   arqHandle := FileOpen(arquivo); // Abrir o arquivo
   FileRead(arqHandle, buffer, 10); // Fazer as leituras que quiser
   ....
   FileClose(arqHandle); // Fechar o arquivo
end;


Isso funciona bem.

Espero ter ajudado


Responder

Gostei + 0

19/09/2005

Dedi

Vc pode tambem colocar a rotina de leitura e tratamento de texto em uma thread com isso o aplicativo ganha um pouco mais de performace. se vc tem duvida sobre thread procure aqui no forum, tem muita informação sobre o assunto.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar