begin process at 2012 02 14 08:35:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > DLL LIREFICHIER INI

DLL LIREFICHIER INI


 Information sur la source

Note :
Aucune note
Catégorie :VB.NET Source .NET ( DotNet ) Classé sous :INI, Fichier INI, Lire INI, Ecrire INI, Supprimer INI Niveau :Débutant Date de création :05/01/2009 Vu / téléchargé :4 415 / 307

Auteur : dgreg60

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Bonjour à tous,

Ci-joint la source d'une DLL me permettant de lire , écrire et supprimer dans un fichier INI.

Le principale du code est issur de la source de SupraDolph (http://www.vbfrance.com/codes/INI-VB-NET_7709.asp x#addcomment) que j'ai adapter dans un DLL en rendant le chemin et le nom du fichier INI paraméttrable.

Source

  • Public Class FichierIni
  • #Region "Variable"
  • 'Nom du fichier INI
  • Dim FichierINI As String
  • 'Constante
  • Const MAX_ENTRY As Integer = 32768
  • #End Region
  • #Region "Définition du chemin et du nom du fichier INI"
  • 'Déclaration de la propriété du chemin du fichier
  • 'Renseignement de la propriété "CheminFichier"
  • Public Property CheminFichier()
  • 'Récupère la propriété "CheminFichier"
  • Get
  • CheminFichier = FichierINI
  • End Get
  • 'Renseigne la propriété "CheminFichier"
  • Set(ByVal Value)
  • FichierINI = Value
  • End Set
  • End Property
  • #End Region
  • #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, FichierINI)
  • 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, FichierINI)
  • End Function
  • #End Region
  • #Region "Supprime INI"
  • Function SupprimeINI(ByVal Entete As String, Optional ByVal Variable As String = Nothing)
  • WritePrivateProfileString(Entete, Variable, vbNullString, FichierINI)
  • 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, FichierINI)
  • 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 Class
Public Class FichierIni

#Region "Variable"

    'Nom du fichier INI
    Dim FichierINI As String
    'Constante
    Const MAX_ENTRY As Integer = 32768

#End Region
   
#Region "Définition du chemin et du nom du fichier INI"

    'Déclaration de la propriété du chemin du fichier
    'Renseignement de la propriété "CheminFichier"

    Public Property CheminFichier()

        'Récupère la propriété "CheminFichier"
        Get
            CheminFichier = FichierINI
        End Get

        'Renseigne la propriété "CheminFichier"
        Set(ByVal Value)
            FichierINI = Value
        End Set

    End Property

#End Region

#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, FichierINI)
            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, FichierINI)
    End Function

#End Region

#Region "Supprime INI"

    Function SupprimeINI(ByVal Entete As String, Optional ByVal Variable As String = Nothing)
        WritePrivateProfileString(Entete, Variable, vbNullString, FichierINI)
    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, FichierINI)
        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 Class


 Conclusion

Super simple et pratique à utiliser.

Soyer indulgent je débute.

Encore merci à SupraDolph pour l'origine



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

 Sources en rapport avec celle ci

Source avec Zip [VBS] MODIFICATION D'UN FICHIER INI par VBsearch
Source avec Zip Source avec une capture Source .NET (Dotnet) BASE ACCESS VERS COURBES ZEDGRAPH par errun54
Source avec Zip Source avec une capture Source .NET (Dotnet) LECTEUR DE CSV GRACE À ZEDGRAPH par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) MON YAHTZEE par jodu35
Source avec Zip CHANGEMENT DE RÉSOLUTION AU LANCEMENT D'UNE APPLI par glad

Commentaires et avis

Commentaire de Tenetubbies le 08/07/2009 15:24:40

Function SupprimeINI et Function SectionsINI() ne retournent pas de valeur.
Pourquoi ne pas utiliser une procédure classique ?

Commentaire de attaque le 26/11/2010 04:49:13

Un petit exemple n'aurais pas été de refus. Car, je n'y arrive pas ><' Merci d'avance.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

fichier *.ini [ par Nic ] comment faire pour lire un fichiers inia la ligne que l'on veut Supprimer des lignes dans les fichiers *.ini [ par Camille ] Je parviens sans problème à lire et écrire ds les fichiers *.ini mais je n'arrive pas à les supprimmer je ne sais quelle API utiliser ni quelle foncti Win.ini [ par Vincentsoft ] SalutJe voudrai savoir comment on peut aller lire des infos dans Win.ini.Etant donné qu'il y a plusieur rubrique ds ce fichier, je n'arrive pas à dir LIEN ENTRE VB6 ET WIN.INI [ par Funcman ] SALUT A TOUS!!!!!!!J'ai un prob!Voila: je suis en train de faire un petit tableur en vb6 et je voudrais savoir comment on fait pour ecrire dans le fic comment enregistrer plusieurs textbox dans un même fichier "ini" ou "txt" ???? [ par Cutkill ] omment enregistrer plusieurs textbox dans un même fichier "ini" ou "txt" de facon a obtenir ceci (exemple tiré d'un ini d'un programme):fichier ini : API pour fichier INI [ par thierry ] hello a toutes et a tousil est possible d'ecrire et de lire les fichiers ini grace au 2 api bien connue que sont respectivement writeprivateprofilestr Fichier ini [ par Tarkhun ] Salut à tous,Voici mon probléme:dans code j'utilise des fichiers ini pour stocker les chemins d'accés aux bases de données et aux fichiers wordPour ce


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,448 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales