Exclusão de todos os arquivos de uma pasta.
Pessoal já testei várias coisas mas não deleta nada e não sei por que, deem uma olhada em um código que em colega meu me passou afirmando que no pc dele tinha funcionado e aqui não funciona, está no OnClose do form principal.
var Search: TSearchRec;
Caminho: string;
begin
Caminho := ´C:\WINDOWS\TEMP\´;
FindFirst( Caminho+´*.*´,0,Search );
try
DeleteFile( Caminho+Search.Name );
while FindNext( Search ) = 0 do
DeleteFile( Caminho+Search.Name );
except
end;
end;
Inutaishou
Curtidas 0
Respostas
Dcport
19/05/2003
Você pode utilizar a função da shell SHFileOperation (unit ShellAPI), que copia, move, exclui e renomeia um ou mais arquivos. Você pode apagar todos os arquivos em uma chamada só, especificando ´*.*´ como nome.
Apesar de o uso desta função ser um pouco trabalhoso (alguns campos da estrutura SHFILEOPSTRUCT têm que ser PChars terminados com dois #0), ela é bem prática e flexível.
Para mais detalhes, faça uma busca por SHFileOperation em http://msdn.microsoft.com ou na documentação do Platform SDK (não sei se o help do Delphi contém esta função; de qualquer forma, as outras fontes são mais completas).
-- dcport
Apesar de o uso desta função ser um pouco trabalhoso (alguns campos da estrutura SHFILEOPSTRUCT têm que ser PChars terminados com dois #0), ela é bem prática e flexível.
Para mais detalhes, faça uma busca por SHFileOperation em http://msdn.microsoft.com ou na documentação do Platform SDK (não sei se o help do Delphi contém esta função; de qualquer forma, as outras fontes são mais completas).
-- dcport
GOSTEI 0
Traipse
19/05/2003
Gabriel -
Talvez você precise ´setar´ os bits de atributo [dos arquivos desejados] no FindFirst.
Em lugar de ´FindFirst (´xxx\*.*´, 0, Search),
tente ´FindFirst(´xxx\*.*´, faAnyFile, Search).
Se funcionar, dê uma olhada nas possíveis variações para os atributos faXXXX para não correr o risco de apagar o que você não quer (system, hidden, etc.)
A propósito, depois de terminar com o FindFirst/FindNext, não esqueça de usar FindClose.
Traipse
http://www.traipse.com.br
Talvez você precise ´setar´ os bits de atributo [dos arquivos desejados] no FindFirst.
Em lugar de ´FindFirst (´xxx\*.*´, 0, Search),
tente ´FindFirst(´xxx\*.*´, faAnyFile, Search).
Se funcionar, dê uma olhada nas possíveis variações para os atributos faXXXX para não correr o risco de apagar o que você não quer (system, hidden, etc.)
A propósito, depois de terminar com o FindFirst/FindNext, não esqueça de usar FindClose.
Traipse
http://www.traipse.com.br
GOSTEI 0
Inutaishou
19/05/2003
Obrigado pessoal, vou tentar...
GOSTEI 0