[Tutorial] Como usar Ini's

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade [Tutorial] Como usar Ini's

Mensagem por Supersonic933 em Dom 24 Jul 2011, 15:52

Já se passou um tempinho que postei um tutorial de INI's no fórum. Mas ele estava meio mal explicado e não tinha todas as funções. Agora, este tutorial é completo e com todas as funções santa !

Nome: Como usar ini's
Descrição: Vamos aprender como mexer nas funções de .ini do GM.
Nível de dificuldade: Acho que mediano
Requerimentos: Testado em GM 8 PRO e GM 4.3, no GM 4 não funciona.


O que são arquivos ini?


INI's são arquivos feitos para guardar configurações, muitos usados por programas. Vamos a um exemplo de .ini tirado do manual estadounidense do GM:

Código:
[Form]
Top=100
Left=100
Caption=The best game ever
[Game]
MaxScore=12324

Na verdade, eles não são muito complicados. Eles servem para substituir a péssima game_save(), como os arquivos de texto podem substituí-los.


A estrutura do .ini


A estrutura do .ini até que é meio simples. Ele é dividido em seções e chaves (Keys)
As seções são palavras entre colchetes que separam as chaves.

Código:
[Seção]

As chaves (keys) são registros. Basta colocar o nome que você quer de chave e depois um =valor.

Código:

chave='Isso é uma chave'


E começando a programar!


Agora que realmente vamos começar o tutorial Happy.

Primeiramente, a função mais simples. SEMPRE você deverá usar este código antes das outras funções de .ini.

Código:
ini_open(fname)

Ele abre um .ini, identifica o .ini que as outras funções irão usar. Fname é o nome do arquivo, deve estar em aspas com a extensão.
Agora, uma outra função:
Código:
ini_close()
Esse código fecha o ini.


Salvando!


Ini's salvam variáveis. Você deve definir uma variável para salvar ou carregar. Como por exemplo, defino a variável lives:
Código:

lives=3

Para salvarmos, temos duas funções. A primeira é para variáveis numéricas (real), como a de cima. A segunda é para variáveis de texto (string).
Vamos aprender a primeira função.

Código:

ini_write_real(section,key,value)
Section é a seção onde você quer que salva. Key é a chave onde a variável será salva. Value é a variável a ser salva, nesta função, deve ser numérica (real).

Exemplo:

Código:

lives=3
ini_open('mygame.ini')
ini_write_real('Geral','Vidas',lives)

Agora, vamos aprender a segunda.

Código:

ini_write_string(section,key,value)

A única diferença entre as duas é que, nesta, a value deve ser de texto (string).

Exemplo:

Código:

lives='vidas'
ini_open('mygame.ini')
ini_write_string('Geral','Vidas',lives)


Carregando!!


Como ini’s salvam variáveis, teremos que definir as variáveis ao carregar um ini. Como as funções de carregar, temos uma para carregar variáveis numéricas (real) e outra para carregar variáveis de texto (string).
Vamos aprender a função de carregar variáveis numéricas (real):

Código:

lives=ini_read_real(section,key,default)
 

Em section e key, você coloca onde está a variável. Em default, você coloca o quê será definido se ocorrer um erro na leitura. Acontece erro na leitura quando a key ou a chave não existem no .ini.

Por exemplo, se carrego um .ini que está assim...

Código:
[Geral]

E usar este código...

Código:
lives=ini_read_real('Geral','Vidas',3)

…a variável lives fica assim:

Código:
lives=3

Agora, vamos para a segunda função:

Código:
nome=ini_read_string(section,key,default)

A única diferença entre as duas funções é que a variável a ser carregada deve ser de texto.
Pronto, aprendemos o básico de .ini. Vamos aprender as outras funções.


Funções Avançadas


Código:
if ini_section_exists(section) {
}

A função acima verifica se existe uma seção no .ini que abrimos na ini_open. Section é a seção a ser verificada se exite no .ini. Extremamente útil para caso você salve vários progressos do jogo em um .ini.

Exemplo:
Código:
if ini_section_exists('Save1') {
ini_open('save.sav')
lives=ini_read_real('Save1','Vidas',3)
ini_close()
}
else {show_message('Save não encontrado! Inicie um novo jogo!')

Agora, aprenderemos outra função.
Código:
if ini_key_exists(section,key) {
}

A função acima verifica se existe uma key no .ini que abrimos na ini_open. Section é a seção onde a key está e key é a key a ser verificada se existe ou não no .ini. Também é útil para caso você salve vários progressos do jogo em um .ini.

Código:
if ini_section_exists('Save1') and if ini_key_exists('Save1','Vidas') {
ini_open('save.sav')
lives=ini_read_real('Save1','Vidas',3)
ini_close()
}
else {show_message('Save não encontrado! Inicie um novo jogo!')


Outras funções


Código:
ini_section_delete(section)

A função acima deleta uma seção do .ini que indicamos na ini_open. Section é a seção a ser deletada.

Código:
ini_key_delete(section,key)
A função acima deleta uma key do .ini que indicamos na ini_open. Section é a seção onde a key está. Key é a key a ser deletada.

Até mais! Espero que gostem.


Supersonic933

Ranking : Nota E
Número de Mensagens : 396
Data de inscrição : 14/02/2011
Notas recebidas : E
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://planetaanalisandogames.blogspot.com/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum