GameVicio Entretenimento: GameVicio | FlashVicio | Hhide.ME | ClubVicio | Fórum | Flow
GameVicio Logo
Página 1 de 1
Core
GameVicio
Só valorizamos o que nos é privado
Administrador
Associado GameViciado
2.250
Curitiba
#  Core
A quem este FAQ é destinado?

Este FAQ só terá utilidade atualmente para quem desenvolve instaladores e mods pelo Flow.

O que é Core?

No Flow, Core é o nome de um namespace. 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 class para melhor organizar o espaço e deixá-lo mais intuitivo.

Abaixo serão listados e exemplificados os métodos em cada class. Lembre-se que existem métodos com mesmo nome mas com signatures diferentes. Este recurso é chamado de overload.

Core.Directory

Esta class é responsável por métodos de diretório.

Core.Directory.Delete
2 overloads

Core.Directory.Delete(string path):void
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.

Core.Directory.Delete(string path, bool onlyIfEmpty):void
Idêntica à função acima, todavia se o parâmetro onlyIfEmpty 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.

Core.Directory.Exists
Core.Directory.Exists(string path):bool
Retorna um valor booleano (verdadeiro ou falso) indicando se um diretório existe.

Core.Directory.GetDirectories
2 overloads
Core.Directory.GetDirectories(string path):string[]
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].

Core.Directory.GetDirectories(string path, bool allDirectories):string
Idêntico ao método acima, se o parâmetro allDirectories for verdadeiro, exibirá as subpastas em todos os níveis, não apenas no primeiro.

Exemplo
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"}.

Core.File

Esta class é responsável por métodos de arquivo.

Core.File.Copy
2 overloads

Core.Directory.Copy(string sourceFileName, string destFileName):void
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).

Core.Directory.Copy(string sourceFileName, string destFileName, bool onlyIfDestExists):void
Idêntico ao método acima, exceto que se o parâmetro onlyIfDestExists for definido como true, o arquivo só será copiado se o arquivo de destino destFileName existir.

Core.File.Delete
Core.File.Delete(string path):void
Apaga um arquivo. Não é gerado err se o arquivo não existir.

Core.File.Exists
Core.File.Exists(string path):bool
Retorna um valor booleano (verdadeiro ou falso) indicando se um arquivo existe.

Core.File.GetContents
Core.File.GetContents(string path,ContentType contentType):object
Retorna todo o conteúdo do arquivo cujo caminho é informado em path. O valor de contentType pode ser.
ValorObjeto de retornoDescrição
ContentType.StringstringRetorna todo o conteúdo em uma única string
ContentType.StringArraystring[]Cada linha do arquivo é colocada como um item do array
ContentType.ByteArraybyte[]Todo o conteúdo do arquivo é convertido em um array de bytes

Exemplo
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 casting para poder trabalhar com ele.

Core.File.GetDirectoryName
Core.File.GetDirectoryName(string path):string
Retorna uma string com o caminho do diretório. Se o arquivo não existir ou qualquer outro erro acontecer, retorna uma string vazia.

Core.File.Rename
Core.File.Rename(string sourceFileName, string destFileName):void
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.

Core.INI

Esta class é responsável por métodos que lidam com arquivos INI.

Core.INI.Read
2 overloads
Core.INI.Read(string file, string section, string parameter,Encoding encoding):string
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:
ValorDescrição
Encoding.ASCIIUtiliza codificação ASCII (7-bit)
Encoding.DefaultUtiliza a codificação padrão do sistema operacional
Encoding.UnicodeUtiliza a codificação Unicode, isto é, UTF16
Encoding.UTF32Utiliza a codificação UTF32
Encoding.UTF7Utiliza a codificação UTF7
Encoding.UTF8Utiliza a codificação UTF8


Core.INI.Read(string file, string section, string parameter):string
Idêntico ao método acima, todavia não tenta forçar a codificação de leitura do arquivo.

Core.INI.Write
2 overloads
Core.INI.Write(string file, string section, string parameter, object value, Encoding encoding):void
Escreve o conteúdo de value 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.

Core.INI.Write(string file, string section, string parameter,object value):void
Idêntico ao método acima, todavia não tenta forçar a codificação de escrita do arquivo.

Core.LZO

Esta class é responsável por métodos de compressão em LZO.

Core.LZO.Compress
2 overloads
Core.LZO.Compress(byte[] source):byte[]
O array de bytes passado como parâmetro é comprimido e retornado.

Core.LZO.Compress(byte[] source,out byte[] destination):void
Idêntico ao método acima, só que ao invés de retornar o array de bytes comprimidos, ele é armazenado na variável destination passada por referência (através da palavra reservada out).

Core.LZO.Decompress
Core.LZO.Decompress(byte[] source, byte[] destination):void
Descomprime um array de bytes contido na variável source e armazena o resultado na variável destination.

Core.Registry

Esta class é responsável por métodos de leitura e escrita do registro do Windows.

O valor de RootKey usado em todos os métodos desta class são:
Valor RootKeyValor string longaValor 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"


Core.Registry.Delete
2 overloads
Core.Registry.Delete(RootKey rootKey, string subKey, bool onlyIfEmpty):void
Apaga um registro, se o parâmetro onlyIfEmptty for verdadeiro e o registro tiver filhos, não será apagado.

Exemplo:
Este exemplo apaga a chave do Flow somente se estiver vazia.
Core.Registry.Delete(RootKey.HKEY_LOCAL_MACHINE,"SOFTWARE\\Wow6432Node\\GameVicio\\Flow",true);

Core.Registry.Delete(string rootKey, string subKey, bool onlyIfEmpty):void
Idêntico ao método acima, exceto que ao invés de usar RootKey para refenciar uma chave raíz, utiliza-se uma string.

Exemplo:
Este exemplo apaga a chave do Flow somente se estiver vazia.
Core.Registry.Delete("HKLM","SOFTWARE\\Wow6432Node\\GameVicio\\Flow",true);

Core.Registry.Exists
2 overloads

Core.Registry.Exists(RootKey rootKey, string subKey):bool
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.

Core.Registry.Exists(string rootKey, string subKey):bool
Idêntico ao método acima, exceto que rootKey deve ser passado como string.

Core.Registry.GetSubKeys
2 overloads

Core.Registry.GetSubKeys(RootKey rootKey, string subKey):string[]
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]).

Core.Registry.GetSubKeys(string rootKey, string subKey):string[]
Idêntico ao método acima.

Core.Registry.Read
2 overloads

Core.Registry.Read(RootKey rootKey, string subKey, string value):object
Lê o valor do parâmetro de um registro. O retorno é object, então para trabalhar com ele provavelmente será necessário um casting. Em caso de erro, retorna um objeto do tipo string mas vazio.

Core.Registry.Read(string rootKey, string subKey, string value):object
Idêntico ao método acima.

Core.Registry.Write
2 overloads

Core.Registry.Write(RootKey rootKey, string subKey, string name, object value, ValueKind valueKind):void
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 Core.Registry.Read, é preciso informar a chave Wow6432Node - neste caso, é recomendável verificar a existência da chave com o método Core.Registry.Exists especificando o caminho Wow6432Node.

O objeto ValueKind representa o tipo de dado a ser armazenado. O formato usado na maioria das vezes é do tipo string.

Valor ValueKindValor stringDescriçã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"


Exemplo
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);

Core.Registry.Write(string rootKey, string subKey, string name, object value, string valueKind):void
Idêntico ao método acima.

Exemplo
Core.Registry.Write("HKLM","SOFTWARE\\Wow6432Node\\GameVicio\\Flow", "Language", "Português", "String");

Core.Zip

Esta class é responsável por métodos de criação e extração de arquivos Zip.

Core.Zip.Build
2 overloads

Core.Zip.Build(string sourceFolder, string fileDest, string[] onlyFiles):void
Cria um arquivo zip no caminho fileDest a partir do conteúdo da pasta sourceFolder, todavia somente os arquivos contidos em onlyFiles serão armazenados.

Exemplo
Cria um zip chamado sound.zip contendo os arquivos audio1.mp3 e audio2.mp3
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"});

Core.Zip.Build(string sourceFolder, string fileDest):void
Idêntico ao método acima, exceto que todo o conteúdo da pasta sourceFolder será adicionado ao zip.

Core.Zip.Unbuild
Core.Zip.Unbuild(string sourceFile, string destFolder, string[] onlyFiles):void
Abre o zip sourceFile e o descompacta na pasta destFolder, mas somente os arquivos definidos em onlyFiles.

Exemplo
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"}

Core.Zip.Unbuild(string sourceFile, string destFolder):void
Idêntico ao método acima, exceto que todo o conteúdo do arqiuvo zip será descompactado.

//em desenvolvimento

Saiba como obter a sua gamercard
Página 1 de 1


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