Lire le contenu d'un fichier .ini

Fermé
thierry jupiter - 2 févr. 2005 à 10:58
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
- 23 juin 2009 à 11:56
bonjour,
j'aimerais lire avec VB le contenu d'un fichier .ini
lire ligne en un bloc
lire la ligne mot aprés mot
aurriez vous un code à me proposer
merci!

5 réponses

xthorx_be
Messages postés
149
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
18 mai 2005
131
2 févr. 2005 à 15:40
lire un fichier ini:

dim lgn as string
dim Vect

open "fichier.ini" for input as #1 'Ouverture du fichier en lecture
line input #1,lgn 'lgn contient toute une ligne jusqu'au caractère vbcrlf
...
'si tu veux découper mots après mots tu fais
vect=split(replace(lgn,"="," "), " ")
...
reset 'Ferme tous les fichiers ouverts

lgn te donne une ligne clé=valeur
vect te donnera un tableau contenant tous les mots de la ligne.
1
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

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Function LireINI(Entete As String, Variable As String) As String
Dim Retour As String
Fichier = Path & "\" & FileName& ".ini"
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
End Function

Function EcrireINI(Entete As String, Variable As String, Valeur As String) As String
Fichier = Path & "\" & FileName& ".ini"
WriteINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function

' Pour l'executer ex :
EcrireINI("MonEntete", "MaVariable", "MaValeur")
LireINI("MonEntete", "MaVariable")
1
Jamil BETTAIEB :


Bonjour,
je l'ai appliqué a un workbook excel et ca marche trés bien
ci_dessous le code modifié :




-----------------------------------------------------------
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
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long




Public Function LireINI(Entete As String, Variable As String, Path As String, Filename As String) As String
Dim Retour As String
Fichier = Path & "\" & Filename & ".ini"
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
End Function

Public Function EcrireINI(Entete As String, Variable As String, Valeur As String, Path As String, Filename As String) As String
Fichier = Path & "\" & Filename & ".ini"
WriteINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function





utilisation :
-----------------------


Private Sub CommandButton1_Click()
Dim Temp As String
Dim MonEntete As String
Dim Var1 As String
Dim Valeur1 As String


MonEntete = "Parametres Fichiers Distant a Traiter"
Var1 = "Nom Fichier"


'---Ecrire les valeurs a mettre dans le fichier INI---
'Valeur1 = "CA_QUOTIDIEN_07_0074.xls"
'Temp = EcrireINI(MonEntete, Var1, Valeur1, ActiveWorkbook.Path, "AppConf1")

'---Ecrire les valeurs a mettre dans le fichier INI---
Valeur1 = ""
Valeur1 = LireINI(MonEntete, Var1, ActiveWorkbook.Path, "AppConf1")
MsgBox Valeur1


End Sub
0
excellent
merci jamil
0
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
23 juin 2009 à 11:56
joli travail,
Merci bc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question