• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Programador

Config - file

3 mensagens neste tópico

Ola pessoal

Eu estou neste momento a desenvolver um gerador de senhas em C#. Os dados como o tamanho da password ou as opcoes (letras maisculas, numeros, etc)  do utilizador memorizo num config-file. Eu meti valores para teste no config - file e consigo ler os dados do config - file. As opcoes escolhidas pelo utilizador tem que se memorizadas no config - file. Mas eu nao consigo memorizar(escrever) dados no config - file.

Aqui voces tem o codigo do config - file:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
	<add key="Zeichen" value="6" />
	<add key="Zahlen" value="false" />
	<add key="Grossbuchstaben" value="false" />
	<add key="Kleinbuchstaben" value="true" />
	<add key="Sonderzeichen" value="true" />
	<add key="Passwort" value="portugal" />
</appSettings>
</configuration>

Algumas traducoes de alemao para portugues:

Zeichen = tamanho da senha

Zahlen = numeros

Grossbuchstaben = letras maisculas

Kleinbuchstaben = letras minusculas

Sonderzeichen =

Passwort = senha, password

Aqui voces tem o codigo para ler os dados do config - file:

            AppSettingsReader config = new AppSettingsReader();
            int zeichen = (int)config.GetValue("Zeichen", typeof(int));
            txtZeichen.Text = Convert.ToString(zeichen);
            bool zahlen = (bool)config.GetValue("Zahlen", typeof(bool));
            chkZahlen.Checked = Convert.ToBoolean(zahlen);
            bool grossbuchstaben = (bool)config.GetValue("Grossbuchstaben", typeof(bool));
            chkGrossbuchstaben.Checked = Convert.ToBoolean(grossbuchstaben);
            bool kleinbuchstaben = (bool)config.GetValue("Kleinbuchstaben", typeof(bool));
            chkKleinbuchstaben.Checked = Convert.ToBoolean(kleinbuchstaben);
            bool sonderzeichen = (bool)config.GetValue("Sonderzeichen", typeof(bool));
            chkSonderzeichen.Checked = Convert.ToBoolean(sonderzeichen);
            string passwort = (string)config.GetValue("Passwort", typeof(string));
            txtPasswort.Text = passwort;

Na net eu nao encontrei nenhuma ajuda relativo a este assunto.Voces podia-me dar uma pequena ajuda.

Cumprimentos

Programador

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi. O que é que estás a tentar fazer?

No código que colocaste estás a ler dados, não a escrever.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

A classe ConfigurationManager (que você já está a usar para ler os parâmetros do App.Config) possui um método chamado OpenExeConfiguration, que permite abrir o ficheiro de configuração em modo de escrita...

Depois de abrir o ficheiro, basta alterar os valores e depois chamar o método Save para gravar as alterações. Algo como:

// Abre o ficheiro de configuração (NomeDoExecutavel.exe.Config ou Web.Config)
Configuration config = ConfigurationManager
    .OpenExeConfiguration(Application.ExecutablePath);

// Altera o valor do item que deseja
config.AppSettings.Settings["Zeichen"].Value = "Novo Valor";

// Grava as alterações.
config.Save();

Cumprimentos,

Caio Proiete

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora