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

Sir Pereira

Trabalhando com INI's

Recommended Posts

Sir Pereira

Boas

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load




        Dim myIniFile As New IniFile.IniFile(Application.StartupPath & "/config/config.ini")

        Dim keys As ArrayList = myIniFile.GetKeys("[Main Configurations]")

        For Each Key In keys
            If keys.Contains("Times used") Then
                MsgBox("Times used=0")
            Else
                MsgBox("Times used=<1")
            End If
        Next
    End Sub

Tinha por exemplo este código.

Já experimentei de diversas maneiras, mas ainda sem sucesso.

Queria obter a definição, neste caso o valor da Key "Times used", é esta a sintaxe do ficheiro .ini:

[Main Configurations]

Times used=0

E queria saber como procurar uma string numa array, neste caso, dado que o "myIniFile.GetKeys" retorna para uma array.

Vou tentar também de uma maneira que é mais segura que o meu professor me disse, criando um tipo em forma de byte, que ao abrir o utilizador só iria ver bytes, a não ser que criasse uma rotina para descodificar não perceberia nada, em contrário, com o ficheiro .ini, o utilizador bastava alterar o número do Times used, e por exemplo, se o utilizador pusesse o 0, a base de dados seria novamente criada (é o que iria acontecer no meu algoritmo), sendo assim ocorreria um erro.

Ajudas?

Share this post


Link to post
Share on other sites
jpaulino

Duas perguntas.

1 - Como queres que alguem te ajude sem mostrares a class IniFile ?

2 - Porqué ficheiros INI ?

Share this post


Link to post
Share on other sites
jpaulino

Que eu sabia podes trabalhar com ficheiros INI da mesma forma que trabalhas com os txt.

Sim Vatico, podes, mas os INI's exitem porque existem métodos mais simples de manipular informação com recurso a API's.

É claro que podes utilizar como os txt's, mas dá muito mais trabalho.

Share this post


Link to post
Share on other sites
Sir Pereira

Duas perguntas.

1 - Como queres que alguem te ajude sem mostrares a class IniFile ?

2 - Porqué ficheiros INI ?

1 - http://www.codeproject.com/KB/files/VbNetClassIniFile.aspx

2 - Porque acho que é um tipo de ficheiro que me permite uma maior organização para o que quero fazer, e neste caso o método de manipulação pela API's é muito facilitado.

Share this post


Link to post
Share on other sites
jpaulino

2 - Porque acho que é um tipo de ficheiro que me permite uma maior organização para o que quero fazer, e neste caso o método de manipulação pela API's é muito facilitado.

E porque não settings ou mesmo XML ? É muito mais seguro e os INI's estão ultrapassados (+/-)

Mas tu é que sabes.

Share this post


Link to post
Share on other sites
jpaulino

E quanto à maneira que o meu professor sugeriu de criar um tipo em bytes? É que já não me lembro do código que ele me mostrou...

Isso é uma segunda parte ....

Qual é a ideia em converter para bytes ?

Share this post


Link to post
Share on other sites
jpaulino

Criar eu uma encriptação certo :)

Epá não te quero mostrar nada de muito avançado, ainda por cima se é para a escola.

Share this post


Link to post
Share on other sites
Sir Pereira

Criar eu uma encriptação certo :)

Epá não te quero mostrar nada de muito avançado, ainda por cima se é para a escola.

Não é para a escola, o meu Professor é que calhou saber de VisualBasic.NET (dado que ele programa nesta linguagem), porque eu tou num curso de Técnico de Multimédia, que nada tem a ver com a programação "pura" em si.

Share this post


Link to post
Share on other sites
jpaulino

Ok, mas vamos por fazes!

Sabes guardar nos settings ? Sabes criar em XML ?

Para XML podes ver no meu blog um exemplo muito simples.

Share this post


Link to post
Share on other sites
Sir Pereira

Ok, mas vamos por fazes!

Sabes guardar nos settings ? Sabes criar em XML ?

Para XML podes ver no meu blog um exemplo muito simples.

Settings sei.

E XML se investigar um pouco também sei. E também penso de já ter visto algo disso no teu blog.

E já agora é *fases. :)

(PS: e já agora vais explicar a tal cena dos bytes? :) )

Share this post


Link to post
Share on other sites
jpaulino

E já agora é *fases. :)

Typo

Encriptação é um pouco mais complexo de explicar assim ... eu qq dia faço um artigo com mais detalhe. Mas podes ver este exemplo do MSDN sobre Rijndael (uma das melhores encriptações)

http://msdn.microsoft.com/en-us/library/system.security.cryptography.cryptostream.aspx

O link para o XML http://vbtuga.blogspot.com/2008/05/vbnet-introduo-ao-xml.html

Share this post


Link to post
Share on other sites
Weasel

Para INI's uso o NINI, até agora não me deixou ficar mal

http://sourceforge.net/projects/nini

Neste caso ficaria assim:

Imports Nini.Config

Public Class Form1

Dim Source As New IniConfigSource

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim TimesUsed As Integer = 0
    Source.Load((Application.StartupPath & "/config/config.ini")
    TimesUsed = Source.Configs("Main Configurations").Get("Times used") + 1
    MsgBox("Times used: " & TimesUsed )
    Source.Configs("Main Configurations").Set("Times used", TimesUsed)
End Sub


Knowledge to the masses


Share this post


Link to post
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

×

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.