Usuário com melhor resposta
Ler e Alterar arquivo .INI

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.
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
- Sugerido como Resposta SammuelMiranda segunda-feira, 3 de outubro de 2016 11:41
- Marcado como Resposta Robson William SilvaModerator quarta-feira, 5 de outubro de 2016 11:51
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
- Sugerido como Resposta SammuelMiranda segunda-feira, 3 de outubro de 2016 11:41
- Marcado como Resposta Robson William SilvaModerator quarta-feira, 5 de outubro de 2016 11:51
-
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
-
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.
-
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. -
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.
-
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.
-
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
-
-
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
-
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. -
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.