Fórum Excluir arquivo no DOS com WinExec e DeleteFile #348823

12/11/2007

0

Bom dia!

Um helpzinho por favor!

Estou tentando excluir um arquivo pelo sistema mas nao to conseguindo o arquivo continua lah. Tentei dessas duas maneiras e nenhuma deu certo o arquivo continua lah.

´[b:956b05972c]g[/b:956b05972c]´ eh o nome do diretorio com o arquivo e sua extensao e ´[b:956b05972c]xArquivo[/b:956b05972c]´ eh somente o arquivo com sua exrensao.

 
 WinExec(PCHAR(´cmd.exe /c del /q c:\pedidos\´+xArquivo),SW_SHOWNORMAL);


if DeleteFile(PChar(g)) then
  begin
    MessageBox(Handle,´Arquivo excluido com sucesso!!!´,´Atenção´,mb_ok + mb_iconexclamation);
  end else
  begin
    Err := GetLastError;
    MessageBox(Handle,´Erro ao tentar excluir o arquivo´,PChar(´Erro #´ + IntToStr(Err)),mb_ok + mb_iconerror);
  end;


O que estou fazendo de errado?


Claudio_f

Claudio_f

Responder

Posts

12/11/2007

Futuro

[b:f20c0c763d]if [/b:f20c0c763d]DeleteFile(ExpandFileName(g)) [b:f20c0c763d]then [/b:f20c0c763d]
[b:f20c0c763d]begin[/b:f20c0c763d]


...


Mas, antes, verifique se estas variáveis estão corretas, faça um:

ShowMessage(g);
Para ver se existe alguma barra dupla ou não existe nenhuma, algo como:

c:\DiretorioArquivo.exe

ou

c:\Diretorio\\Arquivo.exe

Nestes dois casos acima não apagará o arquivo. Use ShowMessage nas variáveis só para saber se o caminho está correto!

Bh.


Responder

Gostei + 0

12/11/2007

Claudio_f

Ola, jah tinha colocado um
showmessage(g);
e
ShowMessage(xArquivo);


E o arquivo esta correto e o caminho tambem, mas nao funciona, jah tentei colocar o arquivo em outra pasta criei o arquivo novamente e nada.

usei TrimRight(xArquivo)
para tirar spacos em branco casa tivesse algum, tambem nao funcionou


Responder

Gostei + 0

13/11/2007

Claudio_f

Boa tarde pessol!

A quem possa interessar, descobri o que estava fazendo de errado:

como estava abrindo o arquivo para depois poder exclui-lo, simplesmente o arquivo continuava lah, entao antes de exclui-lo fechei o arquivo com
CloseFile(f);

e dai funcionou, o arquivo foi excluido das 3 formas:

WinExec(PCHAR(´cmd.exe /c del /q c:\pedidos\´+xArquivo),SW_SHOWNORMAL);


 
   if DeleteFile(PChar(g)) then 
  begin 
    MessageBox(Handle,´Arquivo excluido com sucesso!!!´,´Atenção´,mb_ok + mb_iconexclamation); 
  end else 
  begin 
    Err := GetLastError; 
    MessageBox(Handle,´Erro ao tentar excluir o arquivo´,PChar(´Erro #´ + IntToStr(Err)),mb_ok + mb_iconerror); 
  end; 


  if DeleteFile(ExpandFileName(g)) then 
  begin 
    MessageBox(Handle,´Arquivo excluido com sucesso!!!´,´Atenção´,mb_ok + mb_iconexclamation); 
  end else 
  begin 
    Err := GetLastError; 
    MessageBox(Handle,´Erro ao tentar excluir o arquivo´,PChar(´Erro #´ + IntToStr(Err)),mb_ok + mb_iconerror); 
  end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar