LHR 0 Denunciar post Postado Março 25, 2011 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
bdexterholland 0 Denunciar post Postado Março 30, 2011 Acho que pode tentar usar o blockRead mas eu não domino o comando... Compartilhar este post Link para o post Compartilhar em outros sites