Há um arquivo de configuração em um pequeno programa que escrevi recentemente. Este arquivo é crucial para todo o programa. Se for excluído ou reescrito, o programa inteiro não poderá ser executado ou fechado após a execução. Então, estou procurando uma maneira de impossibilitar a reescrita de arquivos manualmente.
“Excluir” é fácil de resolver. Encontre o caminho do arquivo de configuração no programa, crie-o se estiver vazio e forneça alguns valores padrão. O código de exemplo do VB é o seguinte:
FileName = App.Path + "/CONFIG"'Se o arquivo não existir, crie o arquivoIf Dir(FileName) = "" Then Open FileName For Output As #1 'Para abrir um arquivo sequencial, podemos usar a instrução Open a = Encode(" 123") + vbCrLf + "10" + vbCrLf 'vbCrLf é retorno de carro Print #1, a 'Write dataClose #1 'Fecha o arquivoEnd If
Não consegui reescrever manualmente o arquivo de configuração. Tentei ocultar o arquivo no programa. O código de exemplo do VB é o seguinte:
SetAttr FileName, vbSystem ou vbHidden 'Arquivo oculto
Mas, em última análise, trata-se de tratar os sintomas e não a causa raiz, e o documento ainda será reescrito. Então pensei em modificar o método de sufixo do arquivo de configuração para que não fosse fácil para as pessoas abrirem o arquivo manualmente, mas sempre há uma maneira de abri-lo. No final, pensei em uma solução simples: abrir primeiro o arquivo de configuração do programa, depois não pode ser aberto manualmente. O código de exemplo do VB é o seguinte:
Abra FileName para binário como #99
Apenas lembre-se de que o programa deve primeiro fechar o arquivo aberto ao reescrever o arquivo, caso contrário a reescrita falhará. O código de exemplo do VB é o seguinte:
Close #99 'Fecha o arquivo
Resumindo, a maneira simples de evitar que um arquivo seja sobrescrito é abri-lo primeiro no programa.
O texto acima é todo o conteúdo deste artigo, espero que todos gostem.