Jump to content

Easy Settings (Biblioteca .NET)


Guest id194
 Share

Recommended Posts

Titulo do Projecto:

Easy Settings

Última Versão:

1.2.14299.2020

1.1.1413

1.1.1116

1.1.523

1.1.505

1.0.124

Líder do Projecto:

Nazgulled

Descrição do Projecto:

Easy Settings é a biblioteca .NET mais fácil e simples de usar que irá encontrar para gerir as definições da sua aplicação criada em VB.NET, C# e possivelmente qualquer outra linguagem .NET da qual eu não tenho conhecimento. Esta biblioteca é tão fácil e directa de usar como apenas colocar todas as definições como propriedades numa única classe. Os seus valores irão ser guardados num ficheiro XML para que sejam facilmente lidos e modificados manualmente.

Edited by id194
Link to comment
Share on other sites

Essa classe settings que vem com o .NET tem estes problemas:

- Se quiseres guardar as settings por utilizador (AppData) guarda-te numa localização um bocado manhosa.

- Não podes definir o elemento da raíz do XML.

- Não podes definir o nome que queres para o ficheiro.

- Se o valor que queres não existir no XML, é devolvido null, não tens forma automática de verificar se o valor é null e repor um definido por omissão.

- Se alguém modificar directamente algum valor no XML, não tens forma automática de verificar se o valor é válido e repor um definido por omissão.

- Todos os valores são devolvidos do XML como strings, é necessário uma conversão manual.

- Se por algum motivo precisares de separar settings por vários ficheiros, não o podes fazer.

- Se for settings a nível de aplicação, não podes escrever/modificar as settings. (1)

(1) Se usares a minha lib para contornar este problema e decidires gravar o ficheiro na pasta do programa que possivelmente estará em "Program Files", a minha lib não faz nada para contornar as permissões. Ou seja, o ficheiro a escrever tem de ter as permissões necessárias para o utilizador a correr o programa escrever no ficheiro. As settings de .NET a nível de aplicação não permitem escrita de qualquer maneira.

Sei que algumas são irrelevantes para a maioria (tipo o nome do ficheiro e o elemento da raíz) mas para mim não, eu gosto de configurar tudo à minha maneira. Se calhar há mais razões, mas eu agora não sei... 🙂

Link to comment
Share on other sites

Tenho-me esquecido de actualizar esta página com os últimos lançamentos desta biblioteca (que não são muitos), portanto fica aqui um update.

Já foram lançadas duas novas versões desde o primeiro lançamento onde apenas foi introduzida uma nova funcionalidade e corrigido um bug:

  • Resolvido problema onde o fluxo de escrita não era fechado (temporariamente bloqueando o ficheiro XML). (v1.1.523)
  • Adicionado suporte básico para definições baseadas em tipos enumerados. (v1.1.505)

Para quem usa a versão 0.7 FireNotes... Podem facilmente resolver o problema quando por vezes o ficheiro 'settings.xml' se encontrava a ser usado (dando um erro), substituindo o ficheiro EasySettings.dll na directoria do FireNotes pela versão mais recente.

Link to comment
Share on other sites

Esqueci-me de avisar aqui que há uns tempos lancei uma nova versão desta biblioteca...

Versão 1.1.1116:

  • Espera adequadamente que o bloqueio sobre o ficheiro XML seja fechado (resolve o suposto problema resolvido na revisão anterior).
  • Pequena melhoria na manutenção dos recursos.
Link to comment
Share on other sites

On 6/25/2009 at 12:20 PM, fLaSh_PT said:

Parece muito interessante o projecto.. ainda não vi bem.. mas irei ver!

Acho que seria mais intuitivo.. se liberta se um pequeno "Project sample - who to use".. apenas minha sugestão..

Btw, fizeste um comentário no meu blog num post já um bocado antigo e não nesta nova versão que faria um pouco mais de sentido. 😛 Se não te importares, volta a comentar mas no post mais actualizado (actualizei o link no post inicial deste tópico) que eu depois apago o outro...

Edited by id194
Link to comment
Share on other sites

Já estava na altura de começar a usar o GitHub mais a sério e acabei de disponbilizar lá a última versão desta biblioteca. Sofreu algumas melhorias e alguns fixes em preparação para uma outra aplicação que estou a desenvolver.

Para quem estiver interessado, tudo relacionado com este projecto pode agora ser consultado no GitHub:

Edited by id194
Link to comment
Share on other sites

Bom contributo.

Uma coisa destas faz sempre muita falta na toolbox. Com uma coisa destas é mais fácil de manter as configurações entre upgrades de aplicação - como os settings do framework estão "ligados" à versao do .exe, sempre que se altera a versão os settings levam com um reset, coisa que normalmente é um problema.

Obrigado.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.