Ir para conteúdo

POWERED BY:

Arquivado

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

LHR

Ler aquivo txt grande

Recommended Posts

Olá pessoal,

 

Mais uma vez recorrendo a sábia galera do forum em busca duma solução pro meu problema.

Acontece o seguinte: estou importando um arquivo txt para o Delphi.

Utilizei Assign e ReadLn, depois passei as informações com a função Copy, para um clientdataset.

Por fim, mostro o clientdataset, num DbGrid.

Funciona muito bem, porem apenas para arquivos pequenos.

A funçao ReadLn é muito lento. Esse arquivo de texto possui varios megabytes, com milhares e milhares de registros. Mas o problema não é aguardar o tempo para importar.

E sim que minha aplicação fica verificando em tempo em tempo (10 em 10s por exemplo) se houve alteração nesse arquivo.

Então se toda vez eu fosse importar o arquivo inteiro, seria absolutamente inviavel, ainda mais levando em conta que é pela rede (e uma bem lenta por sinal).

 

O que eu preciso basicamente então é importar uma unica vez, e depois disso, apenas verificar a ULTIMA linha se é diferente da ultima do ClienteDataSet, se for, adiciona ela.

Como posso fazer isso de forma ultra-rapida?

Atualmente eu utilizo o Excel para importar, e ele consegue fazer isso em questao de 2..3 segundos apenas. Ele verifica exatamente isso, se a ultima linha é diferente, então importa só aquela linha.

Porem estou migrando minha aplicação de Excel/VBA para Delphi, e já me barrei nesse primeiro problema.

 

Alguem poderia me dar uma luz, ajuda ou dica, por favor?

 

 

Agradeço desde já a todos pela atençao,

 

 

Obrigado e,

 

Até mais!!!

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.