Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!!
Carregando comentários...