Les ini en vb.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 684 fois - Téléchargée 36 fois

Contenu du snippet

Je sais que cette source existe déjà sur ce site mais je trouve un module plus pratique à utiliser. C'est pourquoi je la poste.

J'espère qu'elle pourra vous être utile a vous aussi.
a+
SupraDolph.

Source / Exemple :


Module ModINI
    'Nom du fichier INI
    Dim Fichier As String = Application.StartupPath & "\Backup.ini"
    'Constante
    Const MAX_ENTRY As Integer = 32768
#Region "Lire INI"
    Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As System.Text.StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    '   Cette API permet de lire des fichiers d'initialisations. La fonction retourne 0 si la lecture du fichier d'initialisation a échoué, sinon elle retourne 1. 
    'lpApplicationName définit le nom de la section, 
    'lpKeyName définit le nom de la clef, 
    'lpDefault retourne la valeur par défaut si la clef n'est pas définie, 
    'lpReturnedString contient la valeur de la clef si elle existe sinon elle contient la valeur lpDefault, 
    'nSize est la taille de la variable lpReturnedString en octet, 
    'lpFileName définit le nom du fichier d'initialisation. 
    Function LireINI(ByVal Entete As String, ByVal Variable As String) As String
        Dim defval As String = ""
        Try
            Dim StrBuild As New System.Text.StringBuilder(MAX_ENTRY)
            Dim Ret As Integer = GetPrivateProfileString(Entete, Variable, defval, StrBuild, MAX_ENTRY, Fichier)
            Return StrBuild.ToString
        Catch
            Return defval
        End Try
    End Function
#End Region

#Region "Ecrire INI"
    Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
    '   Cette API permet de créer ou de modifier vos propres fichiers d'initialisations sans se soucier des détails (par exemple... la gestion des fichiers), si le fichier n'existe pas il est créé, sinon il est modifié. La fonction retourne 0 si la création ou la modification du fichier d'initialisation a échoué, sinon elle retourne 1. 
    'lpApplicationName définit le nom de la section, 
    'lpKeyName définit le nom de la clef, 
    'lpString définit la valeur à ajouter, 
    'lpFileName définit le nom du fichier d'initialisation. 
    Function EcrireINI(ByVal Entete As String, ByVal Variable As String, ByVal Valeur As String)
        WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
    End Function
#End Region

#Region "Supprime INI"
    Function SupprimeINI(ByVal Entete As String, Optional ByVal Variable As String = Nothing)
        WritePrivateProfileString(Entete, Variable, vbNullString, Fichier)
    End Function
#End Region

#Region "Sections INI"
    Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer() As Byte, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    Function SectionsINI() As ArrayList
        SectionsINI = New ArrayList
        Dim Buffer(MAX_ENTRY) As Byte
        Dim BuffStr As String
        Dim PrevPos As Integer = 0
        Dim Length As Integer
        Try
            Length = GetPrivateProfileSectionNames(Buffer, MAX_ENTRY, Fichier)
        Catch
            Exit Function
        End Try
        Dim ASCII As New System.Text.ASCIIEncoding
        If Length > 0 Then
            BuffStr = ASCII.GetString(Buffer)
            Length = 0
            PrevPos = -1
            Do
                Length = BuffStr.IndexOf(ControlChars.NullChar, PrevPos + 1)
                If Length - PrevPos = 1 OrElse Length = -1 Then Exit Do
                Try
                    SectionsINI.Add(BuffStr.Substring(PrevPos + 1, Length - PrevPos))
                Catch
                End Try
                PrevPos = Length
            Loop
        End If
    End Function
#End Region
End Module

Conclusion :


Si quelqu'un laisse un commentaire, qu'il parle du code et NON de mon orthographe merci.
Pour ceux qui ne comprènent pas pourquoi je laisse ce message :
cf : Ma source précédente Backup CD's.
http://www.vbfrance.com/article.aspx?Val=9475

A voir également

Ajouter un commentaire

Commentaires

cs_666Ange
Messages postés
19
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
2 mars 2009
-
merci, j'en avais que pour vb6
Freeman88
Messages postés
1
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
3 octobre 2003
-
Merci pour ton code, qui m a bien aidé, seul code que j'ai reussi à faire fonctionner pour vb.net; seul bémol dans la fonction SectionsINI(), ArrayList est un type indéfini par .net, je suppose que ca correspond à un de tes types!! Cool en tout cas!!
SupraDolph
Messages postés
196
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
1 septembre 2008
1 -
Freeman88 arraylist fait partie de vb.net je ne comprend pas pourquoi sur ta version se serai différant.
Merci de ton commentaire sa fai toujours plaisir de savoir que ses sources sont utiles et faciles a utilisée.
cs_gaston19
Messages postés
1
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
23 octobre 2003
-
Merci pour ton code, je connaissais l'autre version et je trouve tes explications plus claires. Continue ... !
Dromax
Messages postés
40
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2005
-
merci je cherchais ça desesperemment pour .Net

SUPER !!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.