GameVicio Entretenimento: GameVicio | FlashVicio | Hhide.ME | ClubVicio | Fórum | Flow | MovieVicio
 
Página 1 de 1
Core
Só valorizamos o que nos é privado
Administrador
Associado GameViciado
 
  2.412
 
Curitiba
#  Core
[t1]A quem este FAQ é destinado?[/t1] Este FAQ só terá utilidade atualmente para quem desenvolve instaladores e mods pelo Flow. [t1]O que é Core?[/t1] No Flow, Core é o nome de um [i]namespace[/i]. Consiste em um conjunto de métodos que permitem realizar o processo de instalação de uma tradução ou mod. O Core é dividido em várias [i]class[/i] para melhor organizar o espaço e deixá-lo mais intuitivo. Abaixo serão listados e exemplificados os métodos em cada [i]class[/i]. Lembre-se que existem métodos com mesmo nome mas com [i]signatures[/i] diferentes. Este recurso é chamado de [i]overload[/i]. [t1]Core.Directory[/t1] Esta [i]class[/i] é responsável por métodos de diretório. [t2]Core.Directory.Delete[/t2] 2 [i]overloads[/i] [b]Core.Directory.Delete(string path):void[/b] Apaga um diretório, se houver arquivos ou subpastas também serão removidos recursivamente. Se o diretório não existir, não acontece nada. [b]Core.Directory.Delete(string path, bool onlyIfEmpty):void[/b] Idêntica à função acima, todavia se o parâmetro [b]onlyIfEmpty[/b] for verdadeiro. Só apagará o diretório se ele estiver vazio. Um diretório é considerado não vazio se tiver ao menos um arquivo, isto é, se houver apenas subpastas vazias, o diretório é vazio. [t2]Core.Directory.Exists[/t2] [b]Core.Directory.Exists(string path):bool[/b] Retorna um valor booleano (verdadeiro ou falso) indicando se um diretório existe. [t2]Core.Directory.GetDirectories[/t2] 2 [i]overloads[/i] [b]Core.Directory.GetDirectories(string path):string[][/b] Retorna uma lista de pastas contidas no primeiro nível no diretório path. Se o diretório não existir ou se nenhuma subposta existir, retorna uma array de string de comprimento zero. string[0]. [b]Core.Directory.GetDirectories(string path, bool allDirectories):string[/b] Idêntico ao método acima, se o parâmetro [b]allDirectories[/b] for verdadeiro, exibirá as subpastas em todos os níveis, não apenas no primeiro. [b]Exemplo[/b] Considere a seguinte estrutura de arquivos C:/GameVicio/Jogos C:/GameVicio/Jogos/Trine C:/GameVicio/Flow Core.Directory.GetDirectories("C:/GameVicio") retorna string[2]{"Jogos", "Flow"}. Core.Directory.GetDirectories("C:/GameVicio",true) retorna string[3]{"Jogos","Jogos/Trine","Flow"}. [t1]Core.File[/t1] Esta [i]class[/i] é responsável por métodos de arquivo. [t2]Core.File.Copy[/t2] 2 [i]overloads[/i] [b]Core.Directory.Copy(string sourceFileName, string destFileName):void[/b] Copia o arquivo da origem (sourceFileName) para o destino (destFileName). Se o arquivo de origem não existir, será encerrado. Se o arquivo de destino existir, será sobrescrito, se não existir será criado juntamente com toda a estrutura de diretório (se não houver). [b]Core.Directory.Copy(string sourceFileName, string destFileName, bool onlyIfDestExists):void[/b] Idêntico ao método acima, exceto que se o parâmetro [b]onlyIfDestExists[/b] for definido como [b]true[/b], o arquivo só será copiado se o arquivo de destino [b]destFileName[/b] existir. [t2]Core.File.Delete[/t2] [b]Core.File.Delete(string path):void[/b] Apaga um arquivo. Não é gerado err se o arquivo não existir. [t2]Core.File.Exists[/t2] [b]Core.File.Exists(string path):bool[/b] Retorna um valor booleano (verdadeiro ou falso) indicando se um arquivo existe. [t2]Core.File.GetContents[/t2] [b]Core.File.GetContents(string path,ContentType contentType):object[/b] Retorna todo o conteúdo do arquivo cujo caminho é informado em path. O valor de contentType pode ser. [table] Valor//Objeto de retorno//Descrição ContentType.String//string//Retorna todo o conteúdo em uma única string ContentType.StringArray//string[]//Cada linha do arquivo é colocada como um item do array ContentType.ByteArray//byte[]//Todo o conteúdo do arquivo é convertido em um array de bytes [/table] [b]Exemplo[/b] string[] lines = (string[])Core.File.GetContent("c:\\arquivos de programas\\gta\\log.txt",ContentType.StringArray) Note que como o retorno do método é um objeto, você precisa fazer um [i]casting[/i] para poder trabalhar com ele. [t2]Core.File.GetDirectoryName[/t2] [b]Core.File.GetDirectoryName(string path):string[/b] Retorna uma string com o caminho do diretório. Se o arquivo não existir ou qualquer outro erro acontecer, retorna uma string vazia. [t2]Core.File.Rename[/t2] [b]Core.File.Rename(string sourceFileName, string destFileName):void[/b] Renomeia o arquivo sourceFileName para destFileName. Se o arquivo de origem não existir, encerra o processo. Se o arquivo de destino já existir, será sobrescrito. [t1]Core.INI[/t1] Esta [i]class[/i] é responsável por métodos que lidam com arquivos INI. [t2]Core.INI.Read[/t2] 2 [i]overloads[/i] [b]Core.INI.Read(string file, string section, string parameter,Encoding encoding):string[/b] Este método lê o valor de um parâmetro em uma determinada section. ?? importante ressaltar que o arquivo ini precisa de ao menos uma section para que o código possa ser lido. file: caminho do arquivo section: nome da seção parameter: nome do parâmetro encoding: codificação do arquivo O encoding pode receber os seguintes valores: [table] Valor//Descrição Encoding.ASCII//Utiliza codificação ASCII (7-bit) Encoding.Default//Utiliza a codificação padrão do sistema operacional Encoding.Unicode//Utiliza a codificação Unicode, isto é, UTF16 Encoding.UTF32//Utiliza a codificação UTF32 Encoding.UTF7//Utiliza a codificação UTF7 Encoding.UTF8//Utiliza a codificação UTF8 [/table] [b]Core.INI.Read(string file, string section, string parameter):string[/b] Idêntico ao método acima, todavia não tenta forçar a codificação de leitura do arquivo. [t2]Core.INI.Write[/t2] 2 [i]overloads[/i] [b]Core.INI.Write(string file, string section, string parameter, object value, Encoding encoding):void[/b] Escreve o conteúdo de [b]value[/b] em no parâmetro de uma seção em um arquivo. Se o arquivo, seção e/ou parâmetro não existirem, serão criados. O valor de encoding segue o mesmo sistema da tabela de leitura acima. [b]Core.INI.Write(string file, string section, string parameter,object value):void[/b] Idêntico ao método acima, todavia não tenta forçar a codificação de escrita do arquivo. [t1]Core.LZO[/t1] Esta [i]class[/i] é responsável por métodos de compressão em LZO. [t2]Core.LZO.Compress[/t2] 2 [i]overloads[/i] [b]Core.LZO.Compress(byte[] source):byte[][/b] O array de bytes passado como parâmetro é comprimido e retornado. [b]Core.LZO.Compress(byte[] source,out byte[] destination):void[/b] Idêntico ao método acima, só que ao invés de retornar o array de bytes comprimidos, ele é armazenado na variável [b]destination[/b] passada por referência (através da palavra reservada [i]out[/i]). [t2]Core.LZO.Decompress[/t2] [b]Core.LZO.Decompress(byte[] source, byte[] destination):void[/b] Descomprime um array de bytes contido na variável [b]source[/b] e armazena o resultado na variável [b]destination[/b]. [t1]Core.Registry[/t1] Esta [i]class[/i] é responsável por métodos de leitura e escrita do registro do Windows. O valor de RootKey usado em todos os métodos desta [i]class[/i] são: [table] Valor RootKey//Valor string longa//Valor string curta RootKey.HKEY_CLASSSES_ROOT//"HKEY_CLASSSES_ROOT"//"HKCR" RootKey.HKEY_CURRENT_USER//"HKEY_CURRENT_USER"//"HKCU" RootKey.HKEY_LOCAL_MACHINE//"HKEY_LOCAL_MACHINE"//"HKLM" RootKey.HKEY_USERS//"HKEY_USERS"//"HKU" RootKey.HKEY_CURRENT_CONFIG//"HKEY_CURRENT_CONFIG"//"HKCC" [/table] [t2]Core.Registry.Delete[/t2] 2 [i]overloads[/i] [b]Core.Registry.Delete(RootKey rootKey, string subKey, bool onlyIfEmpty):void[/b] Apaga um registro, se o parâmetro [b]onlyIfEmptty[/b] for verdadeiro e o registro tiver filhos, não será apagado. [b]Exemplo:[/b] Este exemplo apaga a chave do Flow somente se estiver vazia. Core.Registry.Delete(RootKey.HKEY_LOCAL_MACHINE,"SOFTWARE\\Wow6432Node\\GameVicio\\Flow",true); [b]Core.Registry.Delete(string rootKey, string subKey, bool onlyIfEmpty):void[/b] Idêntico ao método acima, exceto que ao invés de usar RootKey para refenciar uma chave raíz, utiliza-se uma string. [b]Exemplo:[/b] Este exemplo apaga a chave do Flow somente se estiver vazia. Core.Registry.Delete("HKLM","SOFTWARE\\Wow6432Node\\GameVicio\\Flow",true); [t2]Core.Registry.Exists[/t2] 2 [i]overloads[/i] [b]Core.Registry.Exists(RootKey rootKey, string subKey):bool[/b] Retorna um valor booleano indicando se a chave existe. ?? importante ressaltar que para motivos de compatibilidade com todos os sistemas operacionais Windows, registros contidos em HKEY_LOCAL_MACHINE\SOFTWARE também são verificados em HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node chave disponível em SOs 64 bits. [b]Core.Registry.Exists(string rootKey, string subKey):bool[/b] Idêntico ao método acima, exceto que rootKey deve ser passado como string. [t2]Core.Registry.GetSubKeys[/t2] 2 [i]overloads[/i] [b]Core.Registry.GetSubKeys(RootKey rootKey, string subKey):string[][/b] Gera um array de string com o nome das subchaves (filhos) de uma chave. Se a chave não existir ou não tiver subchaves, gera um array de comprimento zero (string[0]). [b]Core.Registry.GetSubKeys(string rootKey, string subKey):string[][/b] Idêntico ao método acima. [t2]Core.Registry.Read[/t2] 2 [i]overloads[/i] [b]Core.Registry.Read(RootKey rootKey, string subKey, string value):object[/b] Lê o valor do parâmetro de um registro. O retorno é object, então para trabalhar com ele provavelmente será necessário um [i]casting[/i]. Em caso de erro, retorna um objeto do tipo [i]string[/i] mas vazio. [b]Core.Registry.Read(string rootKey, string subKey, string value):object[/b] Idêntico ao método acima. [t2]Core.Registry.Write[/t2] 2 [i]overloads[/i] [b]Core.Registry.Write(RootKey rootKey, string subKey, string name, object value, ValueKind valueKind):void[/b] Escreve um parâmetro em uma chave. Se a chave (e subchaves) não existir, será criada. Se o parâmetro não existir será adicionado ou então sobrescrito. ?? importante ressaltar que em modelos 64 bits, diferente do método [b]Core.Registry.Read[/b], é preciso informar a chave [b]Wow6432Node[/b] - neste caso, é recomendável verificar a existência da chave com o método [b]Core.Registry.Exists[/b] especificando o caminho [b]Wow6432Node[/b]. O objeto [b]ValueKind[/b] representa o tipo de dado a ser armazenado. O formato usado na maioria das vezes é do tipo [b]string[/b]. [table]Valor ValueKind//Valor string//Descrição ValueKind.Binary//"Binary"//Dado do tipo binário ValueKind.DWord//"DWord" ValueKind.ExpandString//"ExpandString" ValueKind.MultiString//"MultiString" ValueKind.QWord//"QWord" ValueKind.String//"String"//Dado do tipo string, é o formato mais usado ValueKind.Unknown//"Unknown" [/table] [b]Exemplo[/b] Este exemplo mostra como escrever um valor no registro Core.Registry.Write(RootKey.RootKey.HKEY_LOCAL_MACHINE,"SOFTWARE\\Wow6432Node\\GameVicio\\Flow", "Language", "Português", ValueKind.String); [b]Core.Registry.Write(string rootKey, string subKey, string name, object value, string valueKind):void[/b] Idêntico ao método acima. [b]Exemplo[/b] Core.Registry.Write("HKLM","SOFTWARE\\Wow6432Node\\GameVicio\\Flow", "Language", "Português", "String"); [t1]Core.Zip[/t1] Esta [i]class[/i] é responsável por métodos de criação e extração de arquivos Zip. [t2]Core.Zip.Build[/t2] 2 [i]overloads[/i] [b]Core.Zip.Build(string sourceFolder, string fileDest, string[] onlyFiles):void[/b] Cria um arquivo zip no caminho [b]fileDest[/b] a partir do conteúdo da pasta [b]sourceFolder[/b], todavia somente os arquivos contidos em [b]onlyFiles[/b] serão armazenados. [b]Exemplo[/b] Cria um zip chamado [b]sound.zip[/b] contendo os arquivos [b]audio1.mp3[/b] e [b]audio2.mp3[/b] Core.Zip.Build("C:\\Gta iv\\sound","C:\\Gta iv\\sound.zip",string[2]{"C:\\Gta iv\\sound\\audio1.mp3","C:\\Gta iv\\sound\\audio2.mp3"}); [b]Core.Zip.Build(string sourceFolder, string fileDest):void[/b] Idêntico ao método acima, exceto que todo o conteúdo da pasta [b]sourceFolder[/b] será adicionado ao zip. [t2]Core.Zip.Unbuild[/t2] [b]Core.Zip.Unbuild(string sourceFile, string destFolder, string[] onlyFiles):void[/b] Abre o zip [b]sourceFile[/b] e o descompacta na pasta [b]destFolder[/b], mas somente os arquivos definidos em [b]onlyFiles[/b]. [b]Exemplo[/b] O exemplo abaixo mostra descompactar somente 3 arquivos dentro de um zip e armazená-los em uma pasta local. Core.Zip.Unbuild("c:\\gta iv\\meus_sons.zip","c:\\gta iv\sons",string[3]{"som1.mp3", "som2.mp3","som3.mp3"} [b]Core.Zip.Unbuild(string sourceFile, string destFolder):void[/b] Idêntico ao método acima, exceto que todo o conteúdo do arqiuvo zip será descompactado. //em desenvolvimento
Página 1 de 1


FBS - Fast Board System versão 0.16
©2017 GameVicio