Accueil > > > MANIPULEZ LES FICHIERS INI AVEC UN MODULE DE CLASS
MANIPULEZ LES FICHIERS INI AVEC UN MODULE DE CLASS
Information sur la source
Description
Après m'être inspiré de beaucoup de sources ici même pour lire,ecrire et supprimer dans les fichiers ini, j'ai fini par faire un module de class permettant une bonne souplesse pour l'utilisation des fichiers ini. Il comprend les principales fonctions: lire - ecrire - supprimer des valeurs ou des sections. Pré-requis: ajouter à votre projet le module de class DLLfichierini.cls, son utilisation est simple dans un sub ou une fonction: 'declarer la variable qui fera appel au module de class, c est obligatoire, vous pouvez en appelez autant que vous le desirez avec des noms différents dim nom_de_votre_variable as new DLLfichierini 'il faut maintenant lui designer le fichier ini nom_de_votre_variable.Set_fichier c:/chemin_de_votre_fichier 'vous pouvez recupérer dans une variable le nom du fichier ini variable_bis= nom_de_votre_variable.Get_fichier 'pour enregistrer une donnée beta dans une section alpha de valeur x on aura nom_de_votre_variable.WriteIni "alpha", "beta", "x" 'pour lire cette donnée dans une variable bis, la variable recupérée est formatée en string ne l'oublié pas, des changements seront à effectuer selon vos besoins(CINT, CBOOL,etc......) variable_bis= nom_de_votre_variable.GetIni("alpha", "beta") 'pour supprimer cette valeur nom_de_votre_variable.SupIni "alpha", "beta" 'pour supprimer la section nom_de_votre_variable.SupsectionIni "alpha"
Source
- Option Explicit
- 'declaration du fichier string
- Private fichier_ini As String
-
- 'ici les fonctions appi utilisée
- Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
- Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
- Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
-
- 'fonction appi pour lire et ecrire un fichier ini
- 'api recupere une valeur
- Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
- "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
- ByVal lpKeyName As Any, _
- ByVal lpDefault As String, _
- ByVal lpReturnedString As String, _
- ByVal nSize As Long, _
- ByVal lpFileName As String) As Long
- 'api ecrit une valeur
- Private Declare Function WritePrivateProfileString Lib "kernel32" Alias _
- "WritePrivateProfileStringA" (ByVal lpApplicationName$, _
- ByVal lpKeyName As Any, _
- ByVal lpString As Any, _
- ByVal lpFileName$) As Long
- 'api ecrit une section
- Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias _
- "WritePrivateProfileSectionA" ( _
- ByVal lpAppName As String, _
- ByVal lpString As Any, _
- ByVal lpFileName As String) As Long
- 'fonction pour initialiser le fichier
- '
- Public Function Set_fichier(ByVal nom_fichier As String)
- If nom_fichier <> "" Then
- fichier_ini = nom_fichier
- Else
- MsgBox "Problème sur le nom de fichier ini", vbCritical + vbOKOnly, "Erreur"
- End If
- End Function
- 'fonction pour retourner le nom de fichier
- '
- Public Function Get_fichier() As String
- If fichier_ini <> "" Then
- Get_fichier = fichier_ini
- End If
- End Function
-
- 'fonction de lecture dans les fichiers init
- '
- Public Function GetIni(ByVal section As String, ByVal Variable As String) As Variant
- Dim strRetour As String
- Dim SectionArr() As String, m As Integer
- Dim longueur As Integer
- If fichier_ini <> "" And Dir(fichier_ini) <> "" Then
- strRetour = String(65000, Chr(0))
- longueur = GetPrivateProfileString(section, Variable, "", strRetour, Len(strRetour), fichier_ini)
- GetIni = Left$(strRetour, longueur)
- SectionArr = Split(GetIni, vbNullChar)
- For m = 0 To UBound(SectionArr)
- GetIni = SectionArr(m)
- Next m
- End If
- End Function
-
-
- 'fonction d ecriture dans les fichiers init
- '
- Public Function WriteIni(ByVal section As String, ByVal Variable As String, ByVal valeur As String) As Integer
- If fichier_ini <> "" Then
- WriteIni = WritePrivateProfileString(section, Variable, valeur, fichier_ini)
- End If
- End Function
-
- 'fonction de suppression une valeur dans les fichiers init
- '
- Function SupIni(ByVal section As String, ByVal Variable As String) As String
- If fichier_ini <> "" And Dir(fichier_ini) <> "" Then
- SupIni = WritePrivateProfileString(section, Variable, 0&, fichier_ini)
- End If
- End Function
-
- 'fonction de suppression une section dans les fichiers init
- '
- Function SupsectionIni(ByVal section As String) As String
- If fichier_ini <> "" And Dir(fichier_ini) <> "" Then
- SupsectionIni = WritePrivateProfileSection(section, 0&, fichier_ini)
- End If
- End Function
-
Option Explicit
'declaration du fichier string
Private fichier_ini As String
'ici les fonctions appi utilisée
Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
'fonction appi pour lire et ecrire un fichier ini
'api recupere une valeur
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
'api ecrit une valeur
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias _
"WritePrivateProfileStringA" (ByVal lpApplicationName$, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName$) As Long
'api ecrit une section
Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias _
"WritePrivateProfileSectionA" ( _
ByVal lpAppName As String, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
'fonction pour initialiser le fichier
'
Public Function Set_fichier(ByVal nom_fichier As String)
If nom_fichier <> "" Then
fichier_ini = nom_fichier
Else
MsgBox "Problème sur le nom de fichier ini", vbCritical + vbOKOnly, "Erreur"
End If
End Function
'fonction pour retourner le nom de fichier
'
Public Function Get_fichier() As String
If fichier_ini <> "" Then
Get_fichier = fichier_ini
End If
End Function
'fonction de lecture dans les fichiers init
'
Public Function GetIni(ByVal section As String, ByVal Variable As String) As Variant
Dim strRetour As String
Dim SectionArr() As String, m As Integer
Dim longueur As Integer
If fichier_ini <> "" And Dir(fichier_ini) <> "" Then
strRetour = String(65000, Chr(0))
longueur = GetPrivateProfileString(section, Variable, "", strRetour, Len(strRetour), fichier_ini)
GetIni = Left$(strRetour, longueur)
SectionArr = Split(GetIni, vbNullChar)
For m = 0 To UBound(SectionArr)
GetIni = SectionArr(m)
Next m
End If
End Function
'fonction d ecriture dans les fichiers init
'
Public Function WriteIni(ByVal section As String, ByVal Variable As String, ByVal valeur As String) As Integer
If fichier_ini <> "" Then
WriteIni = WritePrivateProfileString(section, Variable, valeur, fichier_ini)
End If
End Function
'fonction de suppression une valeur dans les fichiers init
'
Function SupIni(ByVal section As String, ByVal Variable As String) As String
If fichier_ini <> "" And Dir(fichier_ini) <> "" Then
SupIni = WritePrivateProfileString(section, Variable, 0&, fichier_ini)
End If
End Function
'fonction de suppression une section dans les fichiers init
'
Function SupsectionIni(ByVal section As String) As String
If fichier_ini <> "" And Dir(fichier_ini) <> "" Then
SupsectionIni = WritePrivateProfileSection(section, 0&, fichier_ini)
End If
End Function
Conclusion
Un grand merci à tous ceux qui partagent leurs sources, c'est vraiment très pratique et très instructif. Cette source est un compilé de différentes sources sur le sujet, donc pas la peine de me fustiger avec des "ça existe déjà" ou "encore une" :o))))). Source tester à l'origine sur vb6 (peut etre compatible avec vb5 à voir). Merci de m'avoir lu....
Sources de la même categorie
Commentaires et avis
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
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
rechercher un texte dans un fichier INI et le remplacer [ par flatmax ]
salut, j'ai besoin d'aidej'aimerais savoir comment faire pour trouver dans un fichier INI la valeur d'un texte.Par exemple :color=#000000En faite c'es
Enregistrer / charger un fichier .ini dans un programme [ par Mick ]
Salut ! Je débute en VB et j'aimerai savoir comment faire pour tout d'abord enregistrer le contenu des textbox de mon form dans un fichier .ini (txt q
lire fichier .ini [ par slo ]
Existe-t-il une API windows ou un composant VB pour lire facilement les propriétés des fichiers .INI
Combobox & Fichier ini [ par chalmi ]
Voila mon probleme, je ne suis pas encore un grand developpeur VB, mais je voudrais afficher dans une premiere combobox les valeurs des sections de mo
Comment récupérer une entrée dans un fichier .ini ? [ par Sakalan ]
Comment récupérer une entrée dans un fichier .ini ?Contenu du fichier.ini :[ModelePDF]RepertoirePDF="C:\PDF_IPC\"Merci d'avance !
Exécution d'un fichier INI et d'un raccouci windows [ par ckoo ]
Je voudrais savoir comment exécuter un fichier INI depuis un prog VB et comment exécuter un raccouci merci !
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|