Neste artigo vou mostrar como manipular arquivos INI no Delphi de uma maneira bem simples.
Arquivos INI (.ini) são simplesmente arquivos de texto com uma estrutura básica composta de “seções” e “chaves”. Geralmente são utilizados como arquivos de configuração e o seu padrão é bem fácil de entender.
Curiosidade:
O nome “arquivo INI” vem da extensão de nome de arquivo normalmente utilizada, .ini, que vem de “inicialização”.
Wikipedia.org
Estes arquivos são bem interessantes de se utilizar e facilitam muito nossa vida como programador Delphi. Você pode utilizá-los de várias maneiras.
Eu utilizo principalmente para definir o caminho aonde se encontra o servidor do banco de dados do meu sistema. Uso muito também para parametrizar algumas opções de personalização do sistema.
A estrutura do arquivo INI é bem simples de entender, eles possuem basicamente dois atributos:
Chaves (propriedades)
Toda chave tem um nome e um valor, atribuído pelo sinal de igual. O nome fica à esquerda do sinal de igual e o valor à direita.
Seções
O Nome da seção aparece em uma linha, entre colchetes. Todas as chaves após a declaração da seção são associadas àquela seção. Não existe um delimitador para final de seção. Elas terminam na próxima declaração de seção ou no final do arquivo.
Para criar um arquivo INI basta abrir o bloco de notas e ao salvar informar a extensão .ini
Exemplo de arquivo INI no bloco de notas:
COMO MANIPULAR ARQUIVOS INI NO DELPHI
Agora vou mostrar na prática como manipular arquivos INI no Delphi.
1. Crie um novo arquivo no bloco de notas com as seguinte informações e salve com o nome “Config.ini”:
2. Crie um novo projeto no Delphi e adicione os seguintes componentes no formulário:
- 6 TBitBtn (Additional)
- btServidor
- btLocal
- btPorta
- btSaveServidor
- btSaveLocal
- btSavePorta
- 3 TEdit (Standard)
- edServidor
- edLocal
- edPorta
3. Adicione no uses da sua unit a biblioteca IniFiles:
4. Crie uma variável do tipo TIniFile:
5. Programe os seguintes eventos:
Entendendo o código…
Para instanciar a variável “I”, deve-se criar o objeto da seguinte forma:
I:=TIniFile.Create(ExtractFilePath(Application.ExeName)+’Config.ini’);
Dica!
ExtractFilePath: função nativa do Delphi que retorna apenas o diretório de um determinado arquivo.
Application.ExeName: propriedade da aplicação que armazena o diretório do executável.
Para ler o valor de uma chave no arquivo INI, devemos utilizar o método (procedure): ReadString.
edServidor.Text:=I.ReadString(‘PARAMETROS’,’SERVIDOR’,”);
Dessa forma o método irá retornar o valor da chave “SERVIDOR” que está associada a seção “PARAMETROS” e mostrar no Edit (edServidor).
Para escrever o valor de uma chave no arquivo INI, devemos utilizar o método (procedure): WriteString.
I.WriteString(‘PARAMETROS’,’SERVIDOR’,edServidor.Text);
Dessa forma o método irá salvar o valor do Edit (edServidor) na chave “SERVIDOR” que está associada a seção “PARAMETROS”.
Para liberar o objeto em memória, utilizamos o método: free
I.Free;
Conclusão:
Trabalhar com arquivos INI no Delphi é um recurso muito interessante. O arquivo INI pode ser usado de várias formas. Desde guardar o local do banco de dados da sua aplicação até armazenar parâmetros de personalização do seu sistema.
Arquivos INI são nada mais nada menos do que arquivos no formato texto. E podem ser criados utilizando o bloco de notas (Notepad). Eles possuem uma estrutura básica composta de “seções” e “chaves”.
Download do Projeto Utilizado no Exemplo
Espero que tenham gostado. 😀
Dúvidas? Deixe seu comentário abaixo.
QUER APRENDER A PROGRAMAR EM DELPHI? CLIQUE AQUI!
Link permanente
Boa noite Felipe!
Estou aguardando para começar o curso quando surgir a nova turma.
Gostaria que você colocasse um artigo sobre as máscaras dos campos como cpf(999.999.999-99), cep(99.999-999), telefone(9999-9999), CNPJ(99.999.999/9999-99).
Obrigado.
Link permanente
Fala Renato, tudo bem? Segunda-feira agora (07/11) estarei abrindo uma nova turma, vou te mandar e-mail antecipadamente pode deixar. Vou providenciar também o vídeo explicando sobre as máscaras. Abraços!!
Link permanente
Bom dia Felipe,
Aproveitando a solicitação do Renato, gostaria que nesta explicação você passasse sobre os caracteres que podem ser usados, ou seja, ser usado “(99)99999-9999” ou “(00)00000-0000”. Já faz um bom tempo que vi em um vídeo falando a diferença do uso destes caracteres na máscara. Agradecida.
Link permanente
Oi Danielle, tudo bem? Estou enviando o link do artigo sobre como utilizar máscaras – maskedit – no Delphi. Abraços e obrigado pela visita, seja sempre bem-vinda. 🙂
http://www.delphiparainiciantes.com.br/como-utilizar-mascaras-maskedit-no-delphi/
Link permanente
Bom dia Professor!
Estou precisando de uma ajuda.
Tenho um programinha em Delphi 7 com banco de dados feito em Access.
O problema é na instalação, eu criei a pasta do sistema no diretório “C/MEI”, porém alguns clientes fazem a instalação em outro diretório o que ocasiona problemas com a conexão ao banco de dados. Como posso resolver isso?
Obs. (Usei componentes da paleta ADO).
Desde já agradeço pela atenção.
Link permanente
Bom dia Mailson!
O ideal é ter um arquivo de configuração junto com o executável. E nele você determinar aonde está o caminho do banco de dados. É só criar o arquivo conforme eu mostro nesse artigo. Feito isso, antes de efetuar a conexão, você vai ler esse arquivo e passar o caminho para o componente de conexão.
Exemplo de arquivo .ini:
[PARAMETROS]
Database=C:\MEI\BANCO
(É só colocar o caminho aonde está o banco de dados em cada cliente)
Abraços!