[delphi-br] Como liberar um arquivo da memória
Boa tarde amigos da lista, estou precisando de uma ajudinha de vcs. Tenho um programa que extrai um arquivo zipado que está gravado num campo blob da tabela e descompacta o arquivo txt numa determinada pasta. Isso está funcionando perfeitamente. Depois de descompactado eu abro o arquivo txt leio alguns dados e passo como parãmetro para ser executado por storeds no banco. O problema é o seguinte: Ao ser descompactado, ele gera as seguintes pastas: c:\Arquivos\Codigo0512\102030.txt c:\Arquivos\Codigo0512\112030.txt c:\Arquivos\Codigo0512\122030.txt c:\Arquivos\Codigo0512\132030.txt são n arquivos, ao final do processamento gostaria de excluir os mesmos pq senão corre o risco de que eu fique sem espaço em disco. Quando tento excluir dá uma mensagem de erro dizendo que o arquivo está sendo usado por um outro programa. Como eu faço para liberar o arquivo da memória? Alguém já fez algo parecido ou já passou pelo mesmo problema? Att Raphael Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Como liberar um arquivo da memória
Acredito que o mais dificil vc já fez. A forma mais simples de deletar um arquivo é com DeleteFile. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Como liberar um arquivo da memória
Utilize o comando FLUSH(Arquivo.txt) e depois tente deletar... JM 2009/7/23 Raphae Fonseca raphaelprograma...@yahoo.com.br Já tentei mas ele dá erro dizendo que o arquivo está sendo usado no momento, ou seja está em memória. De: José Mário Silva Guedes jmariogue...@gmail.comjmarioguedes%40gmail.com Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br Enviadas: Quinta-feira, 23 de Julho de 2009 16:52:53 Assunto: Re: [delphi-br] Como liberar um arquivo da memória Acredito que o mais dificil vc já fez. A forma mais simples de deletar um arquivo é com DeleteFile. [As partes desta mensagem que não continham texto foram removidas] __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- _ Jhosef Marks de Carvalho Delphi Developer Linux User: #491431 Ubuntu User: #27705 Blog: http://www.jhosefmarks.com.br Empresa: http://www.cdfsoftwares.com.br Lista: http://groups.google.com/group/soumaisdelphi # CAMPANHA POR UMA INTERNET SEGURA Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar mensagens use SEMPRE o Cco (cópia oculta). Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar um e-mail, delete todas as informações que apareçam no corpo do e-mail e que possam ser usadas por hackers. # Sent from Joinville, Santa Catarina, Brasil [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Como liberar um arquivo da memória
Justo. Reforço a pergunta do EmbarcaDelphi. Como você está fazendo para processar o arquivo? [As partes desta mensagem que não continham texto foram removidas]
Re: Res: [delphi-br] Como liberar um arquivo da memória
Até aí está certo, em outra parte do código deve estar com problemas. Veja: http://www.delphibasics.co.uk/RTL.asp?Name=CloseFile http://www.delphibasics.co.uk/RTL.asp?Name=DeleteFile http://www.delphibasics.co.uk/RTL.asp?Name=AssignFile Deve ter algo na memória, quem sabe você abriu o NotePad (ou outro programa) para ver o texto e ele ficou aberto! Raphae Fonseca escreveu: faço da seguinte forma: AssignFile ( arq, cdsArquivosExt.FieldByName('Path').AsString); Reset (arq); ReadLn (arq, linha); Codigo := copy(linha,7,5); Mesano := copy(linha,12,8); CloseFile (arq); De: EmbarcaDelphi embarcadel...@yahoo.com.br mailto:embarcadelphi%40yahoo.com.br Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Enviadas: Quinta-feira, 23 de Julho de 2009 16:59:08 Assunto: Re: [delphi-br] Como liberar um arquivo da memória Como você está abrindo os arquivos? está abrindo para usar no TMemo por exemplo ou diretamente no Banco de Dados e exibindo em algum componente DB? Raphae Fonseca escreveu: Boa tarde amigos da lista, estou precisando de uma ajudinha de vcs. Tenho um programa que extrai um arquivo zipado que está gravado num campo blob da tabela e descompacta o arquivo txt numa determinada pasta. Isso está funcionando perfeitamente. Depois de descompactado eu abro o arquivo txt leio alguns dados e passo como parãmetro para ser executado por storeds no banco. O problema é o seguinte: Ao ser descompactado, ele gera as seguintes pastas: c:\Arquivos\ Codigo0512\ 102030.txt c:\Arquivos\ Codigo0512\ 112030.txt c:\Arquivos\ Codigo0512\ 122030.txt c:\Arquivos\ Codigo0512\ 132030.txt são n arquivos, ao final do processamento gostaria de excluir os mesmos pq senão corre o risco de que eu fique sem espaço em disco. Quando tento excluir dá uma mensagem de erro dizendo que o arquivo está sendo usado por um outro programa. Como eu faço para liberar o arquivo da memória? Alguém já fez algo parecido ou já passou pelo mesmo problema? Att Raphael . .
Re: Res: [delphi-br] Como liberar um arquivo da memória
Também pensei nisso, mas ele disse que estava querendo excluir os arquivos que foram descompactados, então, o .zip não faz diferença. Talvez sim, talvez não... Me lembro uma vez (parece que foi com o WinZip) quando um dia abri o arquivo de dentro do .zip fiz uma alteração neste arquivo e qdo sai ele perguntou se queria sobrescrever o mesmo (nesse caso ele tava na memória), precisa saber que processo/componente está realizando a extração do .zip. Atualmente uso o ZipMaster que me dá a opção de extrair no modo normal como no modo Stream José Mário Silva Guedes escreveu: Hipótese: Será que a classe que fez a descompactação segura o arquivo? [As partes desta mensagem que não continham texto foram removidas] _ .