Página 1 de 1

Excluir arquivo texto qulquer pelo XHB

Enviado: 09 Jul 2012 16:34
por lugab
Pesoal, buenas tardes...

To usando o XHB e não to conseguindo deletar um arquivo txt criado pelo set printer.

Fiz tentativas com o Ferase(), o RUn() e o MyRun() e essas funções até são executadas e não acusam nenhum erro, porém, o arquivo permanece lá intacto...

Parece que é impossível excluir o arquivo na mesma sessão em que ele foi criado..

Quando eu encerro o programa e volto a executar ele, caso eu não gere um novo carq, ai sim a exclusão é efetivada com suceso, tanto pelo ferase(), como pelo Run() e Myrun().

Mas isso vai complicar a vida do sistema..

Vejam:

Código: Selecionar todos


public carq:="C:\sigt.rtf"

* Criação do arquivo
Set device to printer  
Set printer to &carq
setPrc(0,0)

* Liberação do arquivo
Set printer off
Set printer to
Set devi to scree

* Exclusão física do arquivo
if file(carq)
      Aviso("Vai apagar "+carq)

      //Fclose(carq)
      //Ferase(carq)

      //run del &carq
   
      //Myrun2("Del &carq")

endif

Alguém tem alguma sugestão ?

Grato,

Gabriel

Excluir arquivo texto qulquer pelo XHB

Enviado: 09 Jul 2012 17:38
por Pablo César
Já tentou com: DELETE FILE(carq) ?

Eu acho que se for no Windows Seven, você terá que mudar para outra pasta não no raiz. Tente em outra pasta.

Excluir arquivo texto qulquer pelo XHB

Enviado: 09 Jul 2012 18:33
por lugab
Já tentou com: DELETE FILE(carq) ?
Tentei e nada tb, Pablo. Impressionante, né ?

Agora, basta eu sair do programa (quando a rotina de deleção é disparada) , entrar nele de novo e sair - sem ter criado um novo relatório em CARQ - que a delete file() também funciona..

Parece que o CARQ fica tipo "read only", na sessão em que foi criado, só que eu já dei um attrib nele e não fica...

Excluir arquivo texto qulquer pelo XHB

Enviado: 09 Jul 2012 19:31
por fladimir
Tenta liberar o arquivo assim:

Código: Selecionar todos

Set Printer to
Set Printer Off
Set Device To Screen
Depois tenta apagar ele assim:

Código: Selecionar todos

Ferase( "arquivo.ext")

ou

FileDelete( "arquivo.ext")
[]´s

Excluir arquivo texto qulquer pelo XHB

Enviado: 09 Jul 2012 20:36
por Pablo César
Agora que o colega Fladimir respondeu, percebi que nas linhas 10 ao 12 você não está fechando corretamento o set printer. Primeiro você fecha com Set Printer to e na linha seguinte o set printer off. O set device to screen você daria tanto antes ou depois dos set printer

E ai pode utilizar tanto o DELETE FILE como Ferase ou FileDelete até mesmo o RUN DEL mas preferível as funções internas do XHB.

Excluir arquivo texto qulquer pelo XHB

Enviado: 09 Jul 2012 21:27
por lugab
Set Printer to
Set Printer Off
Set Device To Screen
Funcionou !

Obrigado Pablo e obrigado Fladimir.

Um problema a menos na minha extensa lista, graças a vcs...