PT-BR/fileExists

From Multi Theft Auto: Wiki
Revision as of 17:59, 20 December 2023 by Lettify (talk | contribs) (Created page with "__NOTOC__ {{BR/Funcao compartilhada}} Esta função verifica se um determinado arquivo existe em um resource. ==Sintaxe== <syntaxhighlight lang="lua"> bool fileExists ( string filePath ) </syntaxhighlight> {{PT-BR/POO|Esta é uma função estática abaixo da classe File.|File.exists}} ===Argumentos necessários=== *'''filePath:''' O caminho do arquivo a ser criado seguindo o seguinte formato: '''":resourceName/path"'''. '''resourceName''' é o nome do...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Esta função verifica se um determinado arquivo existe em um resource.

Sintaxe

bool fileExists ( string filePath )

Sintaxe POO(OOP) Não entendeu o que significa isso?

Nota: Esta é uma função estática abaixo da classe File.
Método: File.exists(...)

Argumentos necessários

  • filePath: O caminho do arquivo a ser criado seguindo o seguinte formato: ":resourceName/path". resourceName é o nome do resource do arquivo que vai estar lá, e path é o caminho do arquivo relativo ao diretório do resource.
Por exemplo, se você quiser verificar se um arquivo chamado myfile.txt existe em um resource chamado mapcreator, poderá ser feito através de um outro resource da seguinte forma: fileExists(":mapcreator/myfile.txt")
Se o arquivo, que quiser verificar a existência, estiver no resource atual, apenas o caminho do arquivo é necessário, ex.: fileExists("myfile.txt"). Note que você deve usar as barras / para as pastas, se utilizar barra inversa \ a função vai retornar false.

Retorna

Retorna true se o arquivo existir, false caso contrário.

Exemplo

Este exemplo verifica se um arquivo existe no diretório de um resource.

function checkExistingFile(player,cmd,filename,resourcename)
	if not filename then -- se o jogador não especificar um nome/caminho de arquivo
		outputChatBox("ERROR: Syntax '/checkfile filename resourcename(optional)'.",player) -- exibe um erro
		return false  -- para a função aqui
	end
	if not resourcename then -- se o jogador não especificar o resource que quer verificar, então vamos usar o resource atual
		resourcename = getResourceName(resource) --todo resource tem uma variável global pré-definida chamada 'resource' que contém o objeto-resource daquele resource que o código estiver rodando, em outras palavras, a mesma coisa que utilizar getThisResource().
	else
		if not getResourceFromName(resourcename) then -- se um resource com o nome especificado não existir, será exibido o erro ao jogador e a função para
			outputChatBox("ERROR: Resource "..resourcename.." doesn't exist.",player) -- exibe a mensagem de erro
			return false -- para a função aqui
		end
	end
	-- se a função não tiver parado em algum lugar acima, então teremos o resource e o caminho do arquivo corretos
	local exists = fileExists((":%s/%s"):format(resourcename,filename)) -- usando uma forma mais curta de string.format, veja StringLibraryTutorial de Lua para saber mais
	if exists then
		outputChatBox(("The file %q in resource %q exists"):format(filename,resourcename))
	else
		outputChatBox(("The file %q in resource %q doesn't exist"):format(filename,resourcename))
	end
end
addCommandHandler("exists",checkExistingFile)

Veja também