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

fLaSh_PT

VB.NET INI API [transferido para wiki]

4 mensagens neste tópico

Desenvolvi esta classes para um trabalhos que realizei, poderá ser útil para qualquer um.

Ideal para guardar pequenos dados como configurações internas da aplicação :D

'========================================
'       Codificado por Carlos.DF
'           fLaSh - 2009-08
'   carlosferreiracarlos@hotmail.com
'========================================
Imports System.IO
''' <summary>
''' Classe de suporte aos ficheiros INI por API..
''' </summary>
''' <remarks></remarks>
Partial Public Class INI

    'API standard para o suporte INI
    Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" _
                            Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, _
                            ByVal lpKeyName As String, ByVal lpString As String, _
                            ByVal lpFileName As String) As Int32

    Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _
                            Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, _
                            ByVal lpKeyName As String, ByVal lpDefault As String, _
                            ByVal lpReturnedString As String, ByVal nSize As Int32, _
                            ByVal lpFileName As String) As Int32

    Public Shared Function Read(ByVal INIPath As String, _
                                ByVal SectionName As String, _
                                ByVal KeyName As String, _
                                ByVal DefaultValue As String) As String
        ' Carrega uma string do INI
        Dim n As Int32
        Dim sData As String
        sData = Space$(1024) ' Tamanho maxi da string
        n = GetPrivateProfileString(SectionName, KeyName, DefaultValue, _
        sData, sData.Length, INIPath)
        If n > 0 Then
            Return sData.Substring(0, n)
        Else
            Return ""
        End If
    End Function

    Public Shared Function Read(ByVal INIPath As String, _
                                ByVal SectionName As String, _
                                ByVal KeyName As String) As String
        ' Carrega uma string do INI
        Return Read(INIPath, SectionName, KeyName, "")
    End Function

    Public Shared Function Read(ByVal INIPath As String, _
                                ByVal SectionName As String) As String
        ' Carrega uma string do INI
        Return Read(INIPath, SectionName, Nothing, "")
    End Function

    Public Shared Function Read(ByVal INIPath As String) As String
        ' Carrega uma string do INI
        Return Read(INIPath, Nothing, Nothing, "")
    End Function

    Public Shared Sub Write(ByVal INIPath As String, _
                            ByVal SectionName As String, _
                            ByVal KeyName As String, _
                            ByVal TheValue As String)
        ' Cria uma nova seccao no INI
        Call WritePrivateProfileString(SectionName, KeyName, TheValue, INIPath)
    End Sub

    Public Shared Sub Delete(ByVal INIPath As String, _
                             ByVal SectionName As String, _
                             ByVal KeyName As String)
        ' Remove uma seccao do INI 
        Call WritePrivateProfileString(SectionName, KeyName, Nothing, INIPath)
    End Sub

    Public Shared Sub Delete(ByVal INIPath As String, _
                             ByVal SectionName As String)
        ' Remove uma seccao do INI
        Call WritePrivateProfileString(SectionName, Nothing, Nothing, INIPath)
    End Sub

End Class

Pequeno exemplo como utilizar

' Para escrever
INI.Write("INI_PATH", "seccao", "key", "qualquer_valor")
'Para ler
Dim qualquer_variavel As String = INI.Read("INI_PATH", "seccao", "key", "quaquer_valor_por_defeto")

Limitações: O valores a guardar/ler não podem ter mais de 1024 caracteres.

Compr.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá Mano....

sou novato em VB.Net... poderia me dizer em quem secção do código  boto este código?

e como faço a inclusão deste ficheiro no meu projecto? ou ele é criado automaticamente?

Grato pela atenção

PS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá Mano....

sou novato em VB.Net... poderia me dizer em quem secção do código  boto este código?

e como faço a inclusão deste ficheiro no meu projecto? ou ele é criado automaticamente?

Grato pela atenção

PS

manos... consegui fazer ou seja, definir o caminho do ficheiro... a minha questão é? como faço para que o instalador da minha aplicação copie o ficheiro de configuração numa pasta pré-definida, como  por exemplo: "C:\MeuPrograma\Config.ini"

Obrigado pela atençãç

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cria um novo tópico na secção de VB.NET Duvidas e Ajudas

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