Pular para conteúdo

Biblioteca VHD

Biblioteca VHD

A biblioteca vhd provê funções para manipular o HD Virtual do plug-in, como ler um arquivo, excluir, etc...

Todas as funções estão contidas na table/variável "VHD" da unidade "vhd.lua".

 

Exemplo de uso:

-- Primeiro, é necessário usar a unidade "vhd.lua" require("vhd.lua");    -- Agora é possível acessar as funções da biblioteca VHD.FUNCAO_DA_BIBLIOTECA(Parametro1, Parametro2, ...);

 

 

Funções da biblioteca vhd

 

function VHD.copyFile(srcFileName, dstFileName)

 

Copy the file in the virtual HD

 

Arguments:

  •  
  • srcFileName - String containing the path to the existing source file
  • dstFileName - String containing the path of the new file

 

Remarks:

  •  
  • The paths are expanded using “vhd.expandFileName” before copying.
  • If the file “dstFileName” already exists, it will be replaced by the copied file.

 

 

function VHD.expandFileName(shortFileName)

 

Expande o nome curto de um arquivo a fim de ter sua localização em relação à raiz do HD virtual.

 

Parâmetros:

  •  
  • shortFileName – o caminho encurtado de um arquivo  a ser expandido.

    

Retorno:

    Uma cadeia de caracteres, onde:

  •  
  • Se a cadeia de caracteres passada pelo parâmetro shortFileName iniciar com o caractere “/”, a função simplesmente retorna o valor passado no parâmetro (pois o nome do arquivo já está expandido, isto é, já está em relação à raiz do HD virtual).
  • Caso contrário, a função procura pelo arquivo dentro de cada um dos diretórios de pesquisa (SEARCH PATHs) que foram previamente registrados (ver descrição da função “vhd.addSearchPath”). 
    • Caso encontre dentro de algum dos diretórios de pesquisa, a função retorna o caminho completo (expandido, com relação à raiz do HD virtual) do arquivo. 
    • Caso não encontre o arquivo, a função retorna o mesmo valor passado pelo parâmetro shortFileName.
  • Esta função leva em consideração os aliases registrados pela função VHD.registerAlias, traduzindo o apelido e retornando o nome real do arquivo.

 

 

function VHD.addSearchPath(directory)

 

Adiciona um diretório à lista de "diretórios de pesquisa" (SEARCH PATH) do HD Virtual.

 

Parâmetros:

  •  
  • directory - cadeia de caracteres contendo o caminho expandido (isto é, em relação à raiz do HD Virtual) do diretório.

 

A função "vhd.expandFileName" utiliza estes diretórios de pesquisas na hora de expandir o nome curto de um arquivo.

 

 

function VHD.removeSearchPath(directory)

 

Remove um diretório da lista de "diretórios de pesquisa" (SEARCH PATH) que havia sido previamente registrado através a função "vhd.addSearchPath".

 

Parâmetros:

  •  
  • directory - cadeia de caracteres contendo o caminho expandido (isto é, em relação à raiz do HD Virtual) do diretório.

 

function VHD.registerAlias(aliases)

 

Registra aliases/apelidos para arquivos no VHD.

 

Parâmetros:

  •  
  • aliases - uma tabela lua contendo os aliases, onde cada par de chave-valor da tabela representa:
    • chave - uma cadeia de caracteres representando o aliases/apelido a ser criado
    • valor - o nome do arquivo no VHD que o alias deve traduzir.

 

Observações:

  •  
  • O alias funciona com a função VHD.expandFileName e com a função require do Lua.
  • O alias é case-sensitive, isto é, "myFile" é diferente de "MyFile".
  • O alias não pode começar com o caracter "/". O nome traduzido pode começar com "/"

 

Exemplo:

local aliases = {}; aliases["mylua"] = "init.lua"; aliases["myFile2"] = "secondFile.lua";   VHD.registerAlias(aliases);  require("myFile2"); 

 

 

 

function VHD.fileExists(fileName)

 

Verifica se um arquivo existe no HD virtual.

 

Parâmetros:

  •  
  • fileName - cadeia de caracteres contendo o caminho  a verificar.

 

Retorno:

    Retorna true caso o arquivo exista ou false se não existir.

 

Observação:

    Esta função expande o nome do arquivo (através de "vhd.expandFileName") antes de realizar a verificação.

 

function VHD.directoryExists(path)

 

Verifica se um diretório existe no HD virtual.

 

Parâmetros:

  •  
  • path - cadeia de caracteres contendo o caminho  a verificar.

 

Retorno:

    Retorna true caso o diretório exista ou false se não existir.

 

Observação:

    Esta função expande o caminho (através de "vhd.expandFileName") antes de realizar a verificação.

 

 

function VHD.openFile(fileName [, mode])

 

Esta função abre um arquivo do HD virtual no modo especificado.

 

Parâmetros:

  •  
  • fileName - cadeia de caracteres contendo o nome do arquivo a abrir.
  • (OPCIONAL) mode - cadeia de caracteres definindo o modo em que o arquivo será aberto.Pode ser um dos seguintes valores:
    • "r" - modo somente leitura (padrão se omitido). A função falhará se o arquivo não existir.
    • "w" - modo escrita/leitura preservando o contendo do arquivo (se existir). Se o arquivo não existir, a função cria o arquivo.
    • "a" - modo append. Equivalente ao modo "w", porém o objeto stream retornado é posicionado no fim do arquivo.
    • "w+" - modo escrita/leitura, o conteúdo do arquivo é apagado se ele existir. Se o arquivo não existir, a função cria o arquivo.

 

Retorno:

  •  
  • Caso a função obtenha êxito, retorna um Objeto Stream representando o conteúdo do arquivo. Qualquer alteração feita no objeto stream é refletida no arquivo.
  • Caso a função falhe, retorna nil e a mensagem de erro.

 

Observações:

  •  
  • Esta função expande o nome do arquivo (através de "vhd.expandFileName") antes de realizar a abertura.
  • Para fechar o arquivo que foi aberto, você deve invocar o método close do objeto stream retornado. Se o objeto stream for coletado pelo coletor de lixo, o arquivo também é fechado automaticamente.
  • Exceto para o modo "a", o objeto stream retornado aponta para o inicio do arquivo.
  • Apenas o modo "r" é aceito para abrir arquivos que originalmente vieram no plug-in. Não é possível alterar o conteúdo destes arquivos

 

 

function VHD.forceDirectory(directoryPath)

 

Esta função cria, se necessário, um ou mais diretórios especificado por directoryPath no HD virtual.

 

Parâmetros:

  •  
  • directoryPath - cadeia de caracteres contendo o caminho do diretório a ser "forçado".

 

Retorno:

  •  
  • Caso o diretório já exista e não foi preciso fazer nada, a função retorna false.
  • Caso o diretório não existia e a função conseguiu criá-lo, retorna true.
  • Caso o diretório não exista mas a função também não consiga criá-lo, um erro é levantado.

 

Observações:

  •  
  • O valor de "directoryPath" deve ser um caminho absoluto no VHD (isto é, deve começar com o caracter "/")
  • A criação de diretório ocorre de forma recursiva. Isto é, ao especificar "/diretorioNaoExistente1/diretorioA/diretorioB", a função irá criar "/diretorioNaoExistente1" primeiro, depois "diretorioA" dentro de "/diretorioNaoExistente1/", e, por fim, "diretorioB" dentro de "/diretorioNaoExistente1/diretorioA/".

 

 

function VHD.deleteFile(fileName)

 

Esta função remove um arquivo do HD virtual.

 

Parâmetros:

  •  
  • fileName - cadeia de caracteres contendo o caminho do arquivo a ser excluído.

 

Observações:

  •  
  • Esta função expande o nome do arquivo (através de "vhd.expandFileName") antes de realizar a remoção.
  • Esta função não pode ser usada para remover diretórios.
  • Não é possível apagar um arquivo que originalmente veio no plug-in. Não é possível alterar o conteúdo destes arquivos

 

 

function VHD.deleteDirectory(directoryPath)

 

Esta função remove um diretório e todo seu conteúdo do HD virtual.

 

Parâmetros:

  •  
  • directoryPath - cadeia de caracteres contendo o caminho do diretório que será excluído.

 

Observações:

  •  
  • Esta função expande o caminho do diretório (através de "vhd.expandFileName") antes de realizar a remoção.
  • Não é possível apagar um arquivo que originalmente veio no plug-in. Não é possível alterar o conteúdo destes arquivos.
  • Esta função apaga o diretório e todo seu conteúdo recursivamente.

 

 

 

function VHD.enumerateContent(directoryPath)

 

Esta função retorna quais arquivos e diretórios estão dentro de um diretório no HD Virtual.

 

Parâmetros:

  •  
  • directoryPath - cadeia de caracteres contendo o caminho do diretório que terá seu conteúdo enumerado.

 

Retorno:

  •  
  • Se "directoryPath" não conter um caminho válido de diretório, um erro será lançado.
  • Senão, um array de strings será retornado, onde cada posição do arranjo contém o nome do diretório/arquivo.

 

Observações:

  •  
  • Esta função expande o caminho de directoryPath (através de "vhd.expandFileName") antes de realizar a enumeração..
  • Esta função não enumera o conteúdo de forma recursiva. Isto é, se existirem sub-diretórios, seus conteúdos não serão enumerados neste retorno, apenas os itens que estão diretamente dentro de "directoryPath".
  • O texto retornado no arranjo contém o nome do arquivo/diretório sem incluir "barras" ou outra forma de expressar o diretório que se encontra.
    • Exemplo: Se existirem dois arquivos (a.txt e b.txt) e um subdiretório ("/textos/histórias/") na pasta "/textos/", o retorno será:
    • {'a.txt', 'b.txt', 'histórias'}
  • Para saber se um item do arranjo retornado é diretório ou é arquivo, utilize as funções VHD.fileExists e VHD.directoryExists

Created with the Personal Edition of HelpNDoc: Maximize Your Productivity with HelpNDoc's Efficient User Interface