none
Ler e Alterar arquivo .INI RRS feed

  • Pergunta

  • Bom dia amigos.

    Hoje preciso da ajuda de vocês quanto a um arquivo INI. Esse arquivo fica dentro da raiz do meu projeto, ele guarda algumas informações. Sei que posso usar App.config entre outros, mas gostaria de usar INI e também de aprender um pouco mais sobre isso. Abaixo a imagem do meu arquivo, quero apenas abrir ele em textbox de um form e poder alterar as informações. Andei vendo umas pesquisas na web, muita coisa em VB, pouca coisa em C#. Obrigado.

    segunda-feira, 3 de outubro de 2016 08:10

Respostas

  • Ola, olha usa o app.config muito mais pratico e existem (N) exemplos mas se quiser usar o .INI abaixo encontrei dois links

    https://social.msdn.microsoft.com/Forums/vstudio/pt-BR/0ca4dd41-c9d3-485e-92af-33e7ff99ae25/criar-arquivo-ini?forum=vscsharppt

    http://www.codigoexpresso.com.br/Home/Postagem/24


    Junior

    segunda-feira, 3 de outubro de 2016 10:09

Todas as Respostas

  • Ola, olha usa o app.config muito mais pratico e existem (N) exemplos mas se quiser usar o .INI abaixo encontrei dois links

    https://social.msdn.microsoft.com/Forums/vstudio/pt-BR/0ca4dd41-c9d3-485e-92af-33e7ff99ae25/criar-arquivo-ini?forum=vscsharppt

    http://www.codigoexpresso.com.br/Home/Postagem/24


    Junior

    segunda-feira, 3 de outubro de 2016 10:09
  • Bom dia,

    Tenho usado o INI File Parser que está disponível para instalar como package Nuget e é compativel com .NET, Mono e Unity. Para o instalar basta instalar o package Nuget

    Nuget install ini-parser

    Mais informação pode ser encontrada no Git do autor: https://github.com/rickyah/ini-parser

    • Sugerido como Resposta SammuelMiranda segunda-feira, 3 de outubro de 2016 11:41
    segunda-feira, 3 de outubro de 2016 10:22
  • Trassi veja bem, todos os arquivos que você vê de configuração (app.config/web.config, qualquer INI, CFG etc) basicamente são arquivos de texto.

    O que quero dizer com isso: o que o seu programa faz e ler linha a linha o arquivo e carregar Chave/Valor (seja separado por barra, ponto, sinal de igual ou qualquer outra coisa) e criar uma coleção (lista/dicionário) com isso.

    Você pode implementar arquivos de configuração da forma que bem entender, e pode usar qualquer formato, não obrigatoriamente INI ou qualquer outra extensão.

    No exemplo dado pelo Junior, o programa abre o arquivo e lê linha a linha, como disse, carregando a informação.

    Você poderia por exemplo escrever um arquivo XML e abrir com XmlDocument. As configurações serão carregadas nos "nodes" do XML. Os arquivos "config" são basicamente XML's, a diferença é que o "parser" já é nativo e faz esse trabalho.

    Qual usar é irrelevante, XML ou INI da na mesma. O seu trabalho será apenas ler linha a linha, separar a linha lida em 2 valores (chave e valor) baseado no sinal escolhido (no seu caso o "=") e fazer o que você quiser com isso; uma coleção de Chave / Valor, cada linha lida definir uma variável no seu programa ... etc, etc.

    segunda-feira, 3 de outubro de 2016 11:46
  • Ola, olha usa o app.config muito mais pratico e existem (N) exemplos mas se quiser usar o .INI abaixo encontrei dois links

    https://social.msdn.microsoft.com/Forums/vstudio/pt-BR/0ca4dd41-c9d3-485e-92af-33e7ff99ae25/criar-arquivo-ini?forum=vscsharppt

    http://www.codigoexpresso.com.br/Home/Postagem/24


    Junior


    Junior boa tarde. Eu até tentei usar o config, mas tive o seguinte problema: o software era instalado no cliente, um form era aberto pedindo configurações da base de dados, tais como nome do banco e local e eram salvo. Quando a aplicação fechava perdia essas informações, ou seja, alterava em execução, e funcionava, mas ao fechar a aplicação perdia. Adoraria usar, mas não dei conta. Peço que se puder me ajudar a fazer em cima dos dados (vide imagem) funcionar sem crise, prefiro. Abraço e obrigado.
    segunda-feira, 3 de outubro de 2016 18:44
  • Trassi veja bem, todos os arquivos que você vê de configuração (app.config/web.config, qualquer INI, CFG etc) basicamente são arquivos de texto.

    O que quero dizer com isso: o que o seu programa faz e ler linha a linha o arquivo e carregar Chave/Valor (seja separado por barra, ponto, sinal de igual ou qualquer outra coisa) e criar uma coleção (lista/dicionário) com isso.

    Você pode implementar arquivos de configuração da forma que bem entender, e pode usar qualquer formato, não obrigatoriamente INI ou qualquer outra extensão.

    No exemplo dado pelo Junior, o programa abre o arquivo e lê linha a linha, como disse, carregando a informação.

    Você poderia por exemplo escrever um arquivo XML e abrir com XmlDocument. As configurações serão carregadas nos "nodes" do XML. Os arquivos "config" são basicamente XML's, a diferença é que o "parser" já é nativo e faz esse trabalho.

    Qual usar é irrelevante, XML ou INI da na mesma. O seu trabalho será apenas ler linha a linha, separar a linha lida em 2 valores (chave e valor) baseado no sinal escolhido (no seu caso o "=") e fazer o que você quiser com isso; uma coleção de Chave / Valor, cada linha lida definir uma variável no seu programa ... etc, etc.

    Olá, você tem razão amigo. Hoje eu uso um arquivo txt aonde eu uso Split() nele com ";" obtendo assim o que preciso, alterando e gravando. Sinceramente como já dito acima ao amigo Junior eu não consegui usar o App.config, pois conseguia ler e alterar, mas ao fecha  a aplicação os dados perdiam, ficavam como os da instalação, ex: fui e mudei o ip do servidor, salvei. Quando fechava e abria a aplicação o ip voltava ao valar antigo.

    Obrigado.

    segunda-feira, 3 de outubro de 2016 18:48
  • Bom dia Trassi,

    Conseguiu resolver ?

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 4 de outubro de 2016 13:50
    Moderador
  • Aqui você encontra uma classe para manusear arquivos ini

    Manipulando arquivos INI em C#

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br

    • Sugerido como Resposta Código Expresso terça-feira, 4 de outubro de 2016 17:27
    terça-feira, 4 de outubro de 2016 16:26
  • Interessante
    terça-feira, 4 de outubro de 2016 17:06
  • Trassi

    Já tive um problema semelhante.

    Não havia nada errado exceto que eu estava usando o ambiente do Visual Studio para testar o programa. Usava F5 e após o término do programa o arquivo xml voltava ao estado anterior à execução do programa.

    Descobri depois que isso funciona sempre como descrevi acima (e como parece está acontecendo contigo) no ambiente do Visual Studio.

    Quando passei a executar o programa diretamente (duplo click no .exe) o arquivo passou a manter as alterações feitas.

    Não dá pra saber se é isto que acontece contigo mas como demorei um tempão até descobrir isso, estou postando a minha experiência.

    Homero Osvaldo Magajewski


    Homero OM

    terça-feira, 4 de outubro de 2016 19:56
  • Trassi

    Já tive um problema semelhante.

    Não havia nada errado exceto que eu estava usando o ambiente do Visual Studio para testar o programa. Usava F5 e após o término do programa o arquivo xml voltava ao estado anterior à execução do programa.

    Descobri depois que isso funciona sempre como descrevi acima (e como parece está acontecendo contigo) no ambiente do Visual Studio.

    Quando passei a executar o programa diretamente (duplo click no .exe) o arquivo passou a manter as alterações feitas.

    Não dá pra saber se é isto que acontece contigo mas como demorei um tempão até descobrir isso, estou postando a minha experiência.

    Homero Osvaldo Magajewski


    Homero OM


    Homero interessante isso, vou observar.
    terça-feira, 4 de outubro de 2016 20:25
  • Bom dia Trassi,

    Conseguiu resolver ?

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    Robson boa tarde, sim resolvido. Agradeço a oportunidade e os espaço deste fórum.
    terça-feira, 4 de outubro de 2016 20:26