Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 06 de Outubro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
62 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Trabalhando com arquivos INI
Publicado por marone : Quinta, Março 31, 2011 - 11:31 GMT-3 (2321 leituras)
Comentários 3 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Rodrigo Santos Os arquivos INI são arquivos texto de configuração de um determinado aplicativo/sistema, usados para armazenar informações de parametrização. São comumente associados ao sistema operacional Windows, mas podem ser utilizados em outras plataformas também. A extensão destes arquivos é .ini, cujo nome deriva da palavra initialization que significa inicialização.

Um bom exemplo da utilização deste tipo de arquivo é o arquivo dbxconnections.ini que se encontra na pasta do dbExpress. Ele é responsável pela parametrização das conexões dos bancos de dados suportados nativamente pelo Delphi como: Oracle, MSSQL, Informix etc. Lembrando que a configuração presente nele, somente "entrará em ação" se a propriedade LoadParamsOnConnect for True no componente SQLConnection.

 

Estrutura do arquivo

Um arquivo INI é composto por seções e propriedades. As propriedades são os parâmetros de configuração, as quais possuem nome e valor delimitados pelo sinal de igual. As seções são os grupos de propriedades que existem em um determinado arquivo INI. O nome de uma seção deve estar entre colchetes. Um arquivo pode ter uma ou mais seções.

No exemplo citado acima, do arquivo dbxconnections.ini, há várias seções, cada uma é caracterizada por um banco de dados suportado pelo dbExpress.
Também podemos inserir comentários neste tipo de arquivo, basta começarmos a linha que  desejamos comentar com um ponto-e-vírgula.

Podemos ver abaixo um exemplo de um arquivo INI contendo todos elementos que podem existir em sua estrutura:


Figura 1 - Exemplo de arquivo INI

Podemos perceber que temos duas seções, cada uma contendo suas respectivas informações de parametrização. Adicionamos também, comentários para cada parâmetro a fim de melhor explicar sua utilização.

 

Aplicação

Para começarmos a trabalhar com arquivos INI é necessário adicionarmos a unit IniFiles na uses da unit na qual estamos trabalhando. Declaremos também na seção private da unit as seguintes variáveis:

private
  //Variáveis que armazenam os parâmetros lidos do arquivo INI
  paramHostFTP, paramUsrFTP, paramHostMail, paramUsrMail: string;
  paramPwdFTP, paramPortMail: integer;

Vejamos agora um método aplicável ao nosso dia-a-dia. Ele abre nosso arquivo INI e lê todos os parâmetros armazenando-os em determinadas variáveis, para que possam ser utilizados posteriormente na aplicação.

procedure TForm1.LerArquivoIni;
var
  strArquivoIni: string;
  arqIni: TIniFile;
begin
  strArquivoIni := 'C:\CONFIG.INI';
  arqIni := TIniFile.Create(strArquivoIni);
  with arqIni do
  begin
    ////Configurações do FTP
    paramHostFTP := ReadString( 'FTP',  'HOST_FTP', '');
    paramUsrFTP  := ReadString( 'FTP',  'USR_FTP', '');
    paramPwdFTP  := ReadInteger('FTP',  'PWD_FTP', 0);
    ////Configurações de E-mail
    paramHostMail := ReadString( 'EMAIL', 'HOST_MAIL', '');
    paramPortMail := ReadInteger('EMAIL', 'PORT_MAIL', 0);
    paramUsrMail  := ReadString( 'EMAIL', 'USR_MAIL', '');
    Free;
  end;
end;

Primeiramente, setamos nosso arquivo INI e criamos uma instância do mesmo na variável arqIni do tipo TiniFile. Depois, utilizamos os métodos ReadString e ReadInteger para ler os parâmetros texto e inteiro de acordo com seus tipos, respectivamente.

Nos métodos Read, informamos, antes de mais nada, a seção na qual a propriedade está contida, depois dizemos o nome da propriedade. Se houver algum valor default a ser setado para a propriedade, no caso de ela vir vazia, podemos informá-lo no último parâmetro do método, como foi feito com as propriedades PWD_FTP e PORT_MAIL.

É importante ressaltar também que podemos escrever propriedades em um arquivo INI, utilizando os métodos Write, WriteString, WriteInteger, etc, seguindo a mesma ideia dos métodos Read, isto é, seção e propriedade, porém no último parâmetro devemos passar o valor da propriedade e não o valor default da mesma.

Nota: A classe TIniFile utiliza uma API do Windows que tem um limite de 64KB por arquivo INI. Se houver a necessidade de mais espaço, utilize a classe TMemIniFile.

Bom pessoal, espero que tenha alguma utilidade para vocês!
Sucesso à todos!

Por: Rodrigo Alves dos Santos (marone)
Contato: rod.alves88@gmail.com



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: rohde (rohder@gmail.com) : Abr 04, 2011 - 09:57
(Informações sobre o membro | Enviar uma mensagem)
curti :D


por: juninhodg (jrdg77@hotmail.com) : Abr 05, 2011 - 09:23
(Informações sobre o membro | Enviar uma mensagem) http://http://
Muito bom! Fácil e bem explicado! Parabéns!
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados