Conheça o Plugfeed | » Início » Programação » Delphi » Criando um Arquivo de Configuração
Conheça o Plugfeed | » Início » Programação » Delphi » Criando um Arquivo de Configuração -->
 
Avaliação: | Publicado em: 05/09/2005
Criando um Arquivo de Configuração
Alberto Santos é Graduando em Ciência da Computação na UNIT, desenvolve sistemas e aplicações Delphi para uma empresa pública.
Criando um Arquivo de Configuração

Use o método Create para criar memória para um objeto do tipo TIniFile, passando como parâmetros o nome do arquivo a ser criado.

 

NomeObjeto := TIniFile.Create(‘NomedoArquivo.INI’);

           

Pode ser informado o junto ao  nome o caminho de onde se encontra o arquivo, mas o padrão é armazenar o arquivo .INI no subdiretório do Windows.

Para criar as seções, as entradas e os valores das entradas, utilize os seguintes métodos:

WriteBool - Para criar um valor booleano;

WriteInteger - Para criar um valor inteiro;

WriteString - Para criar uma string.

 

Use o método Free para liberar a memória utilizada pelo objeto TIniFile criado:

           

NomeObjeto.Free;

 

O exemplo abaixo cria, ao clicar no botão Button1, um arquivo .INI chamado NovoJogo, com duas seções: Opcoes (com duas entradas) e Configuracao (com uma entrada):

 

Procedure TForm1.Button1Click(Sender:TObject);

Var

   IniJogo : TIniFile;

Begin

   IniJogo := TIniFile.Create(‘NOVOJOGO.INI’);

   IniJogo.WriteBool(‘Opcoes’,’Som’,True);

   IniJogo.WriteInteger(‘Opcoes’,’Nivel’,3);

   IniJogo.WriteString(‘Configuracao’,’Nome’,’Oliveira’);

   IniFile.Free;              

End;

 

O arquivo de configuração NOVOJOGO.INI é armazenado no diretório \Windows, e possui o seguinte formato:

 

            [Opcoes]

            Som=1

            Nivel=3

           

            [Configuracao]

            Nome=Oliveira

 

Quando você for distribuir sua aplicação, não esqueça de oferecer o arquivo .INI. Outra opção é criar o arquivo .INI através de um programa de instalação do seu aplicativo, oferecendo ao usuário a possibilidade de personalizar o arquivo .INI ja na instalação.

Lendo o Arquivo de Configuração

Quando seu aplicativo for executado, deve ler o arquivo .INI existente. Isto pode ser feito, por exemplo, no evento OnCreate do Formulário, ou na seção Inicialization.

            Para ler um arquivo .INI, utilize os métodos:

·       ReadBool - Para ler uma entrada com valores booleanos;

·       ReadInteger - Para ler uma entrada com valores inteiros;

·       ReadString - Para ler uma entrada com valores string.


Atribua o resultado da leitura a variáveis globais (criadas na cláusula var da seção interface da unit do formulário principal), que podem ser utilizadas por toda a aplicação, quando necessário. Não esqueça de adicionar a unit do formulário principal a cláusula uses da seção implementation quando for utilizar as variáveis.

 

O exemplo abaixo lê as entradas do arquivo NOVOJOGO.INI, mostrando para o usuário em Labels:

 

Var

   Form1 : Tform1;

   Vsom : Boolean;

   Vnivel : Integer;

   Vnome : String;

   IniJogo : Tinifile;

 

Implementation

 

{$R *.DFM}

 

Procedure TForm1.FormCreate(Sender:TObject);

Begin

   Label1.Caption := ‘Nível’+InttoStr(Vnivel);

   If Vsom then

      Label2.Caption := ‘Som Ligado’);

   else

      Label2.Caption := ‘Som Desligado’);

   Label3.Caption := ‘Nome : ‘+ Vnome;

End;

 

Initialization

Begin

   IniJogo := TIniFile.Create(‘NOVOJOGO.INI’);

   Vsom := IniJogo.ReadBool(‘Opcoes’,’Som’,False);

   Vnivel := IniJogo.ReadInteger(‘Opcoes’,’Nivel’,-1);

   Vnome := IniJogo.ReadString(‘Configuracao’,’Nome’,’’);

   IniFile.Free;              

end;

Modificando um Arquivo .INI

            Você pode utilizar os métodos WriteString, WriteBool e WriteInteger para modificar as entradas de um arquivo .INI já existente. Por exemplo o formato de mode estabelecido no WIN.INI, seção [Intl], entrada sCurrency, para R$:

 

Procedure TForm1.Button1Click(Sender:TObject);

Var

   IniMoeda : TIniFile;

Begin

   IniMoeda := TIniFile.Create(‘WIN.INI’);

   IniMoeda.WriteString(‘Intl’,’sCurrency’,’R$’);

   IniMoeda.Free;                      

End;

Outras Operações com Arquivos .INI

 

Através do método ReadSection, você lê todas as entradas de um seção de um arquivo .INI para um objeto da classe Tstring, como ListBox, ComboBox ou Memo:

ReadSection(Const Seção:String; ListaEntradas: TStrings);

 

A constante Seção determina a seção que será lida. O parâmetro ListaEntradas corresponde ao objeto do tipo TString  que armazenará as entradas (por exemplo, ListBox1.Items).

 

Através do método ReadSectionValues, você lê todas as entradas e seus valores de uma seção do arquivo .INI para um objeto da classe TString, como ListBox, ComboBox ou Memo:

 

ReadSectionValues(Const Seção:String; ListaEntradas: TStrings);

 

A constante Seção determina a seção que será lida. O parâmetro ListaEntradas corresponde ao objeto do tipo TString que armazenará as entradas (por exemplo, memo1.lines). Você pode usar a propriedade Values de uma string ou lista de strings para acessar uma string específica na lista de string.

Para apagar uma seção inteira de uma arquivo .INI use o método EraseSection.

A propriedade FileName contém o nome do arquivo .INI que está sendo manipulado pelo objeto TIniFile.

desconhecido
os textos deviam ser mais claros, devido as pessoas que nao sabem muito bem informática. : Não avaliado
Antonio Carlos <carlinhosLL@hotmail.com>
Gostaria de obter informações de como criar um arquivo .ini para rodar uma paresentação no CD automaticamente assim que colocado o CD para rodar. Já ví alguns bem fáceis sem precisar do Delphi. Se puderem me ajudar fico grato.
O conteúdo é bom, infelizmente nao consigo localizar a Unit usada para fazer esse programa portanto nao me serve de nada
Encontrei a unit! se chama 'IniFiles'
Espero que ajude aos que tiveram o mesmo problema que eu
NUM ENTENDI NADA!
Luiz Lula da Silva <lula@gov.br>
Cara, parabens pelo artigo!
Este conteúdo realmente não é pra quem não sabe de informática, logo, não se sinta desmotivado por aqueles que não sabem o que estão falando!
Cara, ja to imaginando como montar algumas coisas com isso, foi bom ter algo inicial como este artigo pois não sabia nada sobre estes arquivos de configuração, continue assim e pode botar uns artigos complexos mesmo cara, aqui o nível é Técnico !
Sou teu fã!
Ótimo artigo, resolveu meu problema de idéia de como criar um arquivo de configuração para os bancos dos meus aplicativos.

Continue assim
Parabens!
Opa to muito alger pq pelo que vejo tem um cara de minha terrinha escrevendo ai em, ou pelo menos ele eestudou aqui em Aju. Vc é de sergipe Alberto!?
desconhecido
Mais claro que isto?? Isto não é para "mechânicos" é para programadores!!
Excelente. Prático e fácil de entender. Vai me ajudar e muito. Valeu.
Vilson Armani <vilsonarmani@gmail.com>
Excelente artigo. Foi objetivo e Claro e ainda com exemplos....
Para os programadores que estão iniciando a utilização de arquivos com extensão INI, vale ressaltar que pode ser usado ate mesmo um .CFG.
E Para os que não entenderam nada:
ERA PRA NÃO ENTENDER MESMO, AFINAL NÃO SE PÕE UMA PESSOA QUE ESTEJA NO JARDIM DE INFÂNCIA PARA ESTUDAR TRIGONOMETRIA A MENOS QUE SEJA SUPER DOTADA!

Aconselho que estudem mais que um dia vocês chegam la, mas pelo momento estão na pagina errada!


Parabéns ao autor!

e tenho dito ('isso irrita!')
Ítalo
Gostei muito do artigo, tirou a minha dúvida. Quando aos leigos: peguem um livro e vão estudar, senhores. Isso não é vídeo aula, é um artigo!
Alberto Cristian <albertocristian@bol.com.br>
Perfeito. Apesar do texto ser um pouco técnico, é bem claro.
Valeu








Um produto Detetive.net