Lire le contenu d'un fichier .ini

thierry jupiter -  
wida Messages postés 170 Statut Membre -
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

  1. xthorx_be Messages postés 149 Statut Membre 131
     
    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
  2. anasweb
     
    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
  3. jamil1976
     
    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
    1. tirakawa
       
      excellent
      merci jamil
      0
  4. wida Messages postés 170 Statut Membre 17
     
    joli travail,
    Merci bc
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question