Pular para o conteúdo principal

Ler de um arquivo de configuração (.INI no Delphi)

Em muitos casos precisamos tornar nossas aplicações customizáveis, disponibilizando parâmetros que possam ser alterados, sejam eles informações a respeito de uma conexão com o banco de dados, uma senha, ou mesmo possibilitar a alteração do layout do sistema, tudo depende da necessidade e de como o programador pensa em termos de mobilidade para o usuário final.

Exemplo de arquivo INI

[PARAMETRO]
SENHA=12345


Lendo um arquivo INI

var
// variável que irá conter o arquivo
config : TIniFile;
// variável que irá armazenar parâmetro a ser lido do arquivo
param : string;

begin
// associa o arquivo de configuração a variável
config := TIniFile.Create('C:\Aplicacao\config.ini');
//variável param recebe 12345
param := config.readstring('PARAMETRO','SENHA','');

end;

Comentários

  1. Eduardo, saberia me falar como faço para alterar uma ini que não tem seção????
    Desde já agradeço.

    ResponderExcluir
  2. Olá Rawgleison Amaral!

    Um arquivo nesse formato não é encarado como "ini", para tal utilize o TStringList:

    with TStringList.Create do
    try
    LoadFromFile('C:\Aplicacao\config.ini');
    ShowMessage(Values['SENHA']);
    finally
    Free;
    end;

    ResponderExcluir
  3. Olá, no caso criei isso para logar com o banco de dados, sem ter nenhuma ferramenta, mas não funciona, alguém sabe me dizer porque?

    Config := TIniFile.Create(‘.\INI\banco.ini’);
    Config.WriteString(‘HELPTECH’, ‘Databasename’,’.\Banco de dados\BANCO.GDB’);
    Config.WriteString(‘HELPTECH’, ‘User_Name’, ‘SYSDBA’);
    Config.WriteString(‘HELPTECH’, ‘Password’, ‘masterkey’);

    Config.ReadString(‘HELPTECH’, ‘Databasename’,”);
    Config.ReadString(‘HELPTECH’, ‘User_Name’, ”);
    Config.ReadString(‘HELPTECH’, ‘Password’, ”);

    Config.Free;

    ResponderExcluir
    Respostas
    1. Olá Ricardo!

      O que exatamente esta acontecendo? Os valores não são recuperados corretamente?

      Excluir

Postar um comentário

Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.

Mais visitadas

Palavra com a primeira letra em Maiúsculo (Delphi)

Para casos onde temos palavras que são armazenadas todas em maiúsculo, geralmente surge a necessidade de utiliza-la de uma maneira mais elegante, como o título sugere, então vamos lá: function Primeira_Letra_Maiuscula(p_texto: string): string; begin IF p_texto <> '' THEN result := UpperCase(Copy(p_texto,1,1))+LowerCase(Copy(p_texto,2,Length(p_texto))); end;

Aplicação Flask usando Nginx e Gunicorn

Aplicação Flask usando Nginx e Gunicorn Se você já desenvolveu uma aplicação Flask básica, sabe que o servidor de desenvolvimento embutido não é ideal para produção. Ele não é projetado para lidar com altos volumes de tráfego ou conexões simultâneas. Para tornar sua aplicação Flask mais robusta e pronta para produção, podemos usar o Gunicorn como servidor de aplicação e o Nginx como proxy reverso. Neste artigo, vamos adaptar o exemplo anterior ( Criando uma Aplicação CRUD com Flask, PostgreSQL e Docker ) para incluir o Nginx e o Gunicorn. O que são Nginx e Gunicorn? Gunicorn O Gunicorn (Green Unicorn) é um servidor de aplicação WSGI que roda aplicações Python como o Flask. Ele é eficiente e simples de configurar, lidando com múltiplas requisições ao mesmo tempo, algo que o servidor embutido do Flask não faz bem. Nginx O Nginx é um servidor web que atua como um proxy reverso. Ele recebe requisições HTTP e as encaminha ao Gunicorn. Além disso, o Nginx pode: Servir arquivos ...

Centralizar Texto em Edit

Como todos sabemos o Edit mantém todo texto digitado a esquerda, o que não fica bem quando o usamos para a entrada de números, pois bem, o exemplo abaixo apresenta uma alternativa para centralizar um determinado valor dentro de um Edit: procedure EditChange(Sender: TObject); var vl_label : TLabel; //variável do tipo Label begin vl_label := TLabel.Create(self); //criamos um label WITH vl_label DO BEGIN Font.Name := TEdit(sender).Font.Name; //pegamos a fonte usada no edit Caption := TEdit(sender).Text; //pegamos o conteúdo do edit SendMessage(TEdit(sender).Handle, EM_SETMARGINS, EC_LEFTMARGIN, (TEdit(sender).Width-vl_label.Width) div 2); //centraliza no label e retorna para o edit END ; vl_label.Free; end ;