Lecture d'un ini file en vb.net

Soyez le premier à donner votre avis sur cette source.

Vue 21 302 fois - Téléchargée 2 546 fois

Description

Cette classe permet de lire et d'écrire dans des fichier INI pratique pour la configuration d'une application. Ci dessous un exemple d'utilisation de la classe.

Source / Exemple :


Dim INI As New INIReader(CurrentDir + "\IPForward.ini")
    Dim FTPHostAdr As String = INI.ReadString("GENERAL", "FTPHostAdr", "")
    Dim FTPHostUser As String = INI.ReadString("GENERAL", "FTPHostUser", "")
    Dim FTPHostPass As String = INI.ReadString("GENERAL", "FTPHostPass", "")
    Dim FTPHostOnlineTemplate As String = INI.ReadString("GENERAL", "FTPHostOnLineTemplate", "")
    Dim FTPHostOffLineTemplate As String = INI.ReadString("GENERAL", "FTPHostOffLineTemplate", "")
    Dim FTPHostTarget As String = INI.ReadString("GENERAL", "FTPHostTarget", "")
    Dim FTPHostReplaceString As String = INI.ReadString("GENERAL", "FTPHostReplaceString", "")
    Dim RefreshInterval As Integer = INI.ReadInteger("GENERAL", "RefreshInterval", 60 * 10)

Conclusion :


Tous les commentaires sont les bien venu.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
33
fichier zip parfaitement valide pour moi
cs_janhsh
Messages postés
32
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
24 janvier 2015

Le fichier ZIP est invalide
ronanry
Messages postés
190
Date d'inscription
lundi 25 novembre 2002
Statut
Membre
Dernière intervention
22 décembre 2009

Petite erreur detectée :
Public Function ReadByteArray(ByVal Section As String, ByVal Key As String, ByVal Length As Integer) As Byte()
If Length > 0 Then
Try
Dim Buffer(Length - 1) As Byte
If GetPrivateProfileStruct(Section, Key, Buffer, Buffer.Length, Filename) = 0 Then
Return Nothing
Else
Return Buffer
End If
Catch
Return Nothing
End Try Else '<cette partie n'existait pas et donc rien n'etait retourné si length0
Return Nothing
End If
End Function
circular
Messages postés
17
Date d'inscription
vendredi 22 juin 2007
Statut
Membre
Dernière intervention
27 mars 2010

J'ai trouvé un bug dans la fonction GetSectionNames, et j'ai recopié ce bug dans la fonction GetSection. Il faut remplacer

BuffStr.Substring(PrevPos + 1, Length - PrevPos)

par

BuffStr.Substring(PrevPos + 1, Length - PrevPos - 1)

dans les deux fonctions, sinon il y a un caractère zéro inclus à la fin de la chaine de caractère.
circular
Messages postés
17
Date d'inscription
vendredi 22 juin 2007
Statut
Membre
Dernière intervention
27 mars 2010

Il faut aussi rajouter la référence à la fonction GetPrivateProfileSection, comme ceci :

<DllImport("KERNEL32.DLL", EntryPoint:="GetPrivateProfileSectionA", SetLastError:=False, CharSet:=CharSet.Ansi, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Private Shared Function GetPrivateProfileSection(ByVal lpAppName As String, ByVal lpReturnedString As Byte(), ByVal nSize As Integer, ByVal lpFileName As String) As Integer
End Function

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.