comp • gb.settings • settings

Settings (gb.settings)

Essa classe gerencia arquivos de configuração global.

Esta classe pode ser usada como um objeto através da criação de uma instância escondida sob demanda.
Esta classe é criável.
Esta classe funciona como um array ler / escrever.

Propriedades estáticas

Métodos estáticos
Essa propriedade retorna o diretório padrão onde o arquivos de configuração está armazenado.
DefaultDir  
FromString   ToString  

Propriedades

Métodos
Count  
Retornar um objeto virtual usada para enumerar todas as chaves utilizadas pelo arquivo de configuração.
Keys  
Retorna o caminho do arquivo de configuração.
Path  
Limpa todas as configurações.
Clear  
Exist  
Inicializa o objeto especificado do arquivo de configurações.
Read  
Cancela todas as alterações nas configurações, recarregando o arquivo de configurações.
Reload  
Salva o arquivo de configuração para o disco.
Save  
Grava as configurações do objeto especificado no arquivo de configurações.
Write  

Se você usar essa classe estática, então, o arquivo de configuração padrão do projeto serão utilizados.

O caminho do arquivo de configuração padrão é:

User.Home &/ ".config/gambas3" &/ Application.Name & ".conf"

Por exemplo, o arquivo de configuração do IDE é armazenado em ~/.config/gambas3/gambas3.conf

Este exemplo carrega a posição de uma janela a partir de um arquivo de configurações quando um formulário é aberto. Se o arquivo de configurações não existe, então a posição padrão do formulário será usada. O exemplo também salva a posição do formulário quando este é fechado. É usado o arquivo de configurações padrão para o aplicativo.

Exemplos

PUBLIC SUB Form_Open()
  ' Atualizar a posição da janela a partir do arquivo de configurações
  'Se o arquivo de configurações não for encontrado, então
  'Usar a posição padrão.
  ME.Top = Settings["Window/Top", ME.Top]
  ME.Left = Settings["Window/Left", ME.Left]
  ME.Height = Settings["Window/Height", ME.Height]
  ME.Width = Settings["Window/Width", ME.Width]
END

PUBLIC SUB Form_Close()
  ' Salva as configurações da janela quando fecha o aplicativo
  Settings["Window/Top"] = ME.Top
  Settings["Window/Left"] = ME.Left
  Settings["Window/Height"] = ME.Height
  Settings["Window/Width"] = ME.Width
END

O arquivo de configurações salvo seria algo parecido com as seguintes configurações no grupo Janela.

[Window]
Top=13
Left=18
Height=154
Width=235
PUBLIC SUB ShowASpecialSetting()
  DIM prhOtherConfFile as Settings
  DIM prhLangUsed as String
  ' Ler as configurações de um arquivo usado por outro aplicativo
  ' Localizado em /home/user/.config/otherapp/
  ' E denominado "international.conf"
  ' Primeiro, crie uma nova instância da classe Settings
  ' com o caminho completo para o arquivo desejado
  prhOtherConfFile = NEW Settings("/home/user/.config/otherapp/international.conf")
  'next read the "Lang1" value from the "UserPreferences" section
  prhLangUsed = prhOtherConfFile["UserPreferences/Lang1", NULL]
  IF IsNull(prhLangUsed) THEN
    Message.Info("No Lang1 found in conf file (or no Section named UserPreferences)")
  ELSE
    Message.Info("The value of Lang1 that found in conf file is:\n" & prhLangUsed)
  END IF
END

Note que você pode usar diretamente o método Write para armazenar as configurações de uma janela, e o método Read para recuperá-las.