Lecture d'un fichier .INI + Utilisation des valeurs
thenonos
Messages postés6Date d'inscriptionmercredi 30 novembre 2005StatutMembreDernière intervention15 décembre 2005
-
13 déc. 2005 à 23:22
thenonos
Messages postés6Date d'inscriptionmercredi 30 novembre 2005StatutMembreDernière intervention15 décembre 2005
-
15 déc. 2005 à 17:06
Bonsoir, j'ai déjà fait plusieurs recherche sur la lecture de fichier .INI sur le site. J'ai trouvé bcp de choses mais je ne comprend pas. Je sui ultra-débutant et je besoin de ceci mon programme à faire pour l'école.
Je dois lire un fichier ini dans lequel se trouveront trois valeurs (un chemin de destination (ex: c:\toto), un nom générique (ex : *.bmp), et un délai (ex : 30 jours)). je dois pouvoir par la suite récupérer ses valeurs pour les utiliser et les comparer pour la suite du programme.
Comment faut-il écrire les valeurs dans le fichiers INI?
Que veut dire ce code qui permet justement de lire les fichiers INI :
Private Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, _
Optional ValeurParDefaut As String = "") As String
Sniper_Vgaerr
Messages postés113Date d'inscriptionjeudi 2 décembre 2004StatutMembreDernière intervention14 août 2006 14 déc. 2005 à 11:52
Salut,
Un fichier Ini se compose comme la dit darunia comme ceci (je l'ai modifié selon mes variables à moi) :
[Category]
SubCategory=Value
Pour lire et écrire dans un fichier Ini, j'utilise ca :
'Les API qui permettent de lire et d'écrire dans un fichier Ini
Public 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
Public 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(Category As String, SubCategory As String) As String 'Fonction pour lire un fichier Ini
Dim lpReturnString$, Size%, Valid%, Path$ 'Déclaration des variables
lpReturnString$ = Space$(255) 'Alloue un espace dans le buffer de 255 espaces
Size% = Len(lpReturnString$) 'Stocke la taille du buffer
Valid% = GetPrivateProfileString(Category, SubCategory, "", lpReturnString$, Size%, App.Path & "\Config.ini") 'Récupère les valeurs du fichier Ini
Path$ = Left$(lpReturnString$, Valid%) 'Résultat de la recherche se trouve dans Path$
If Path$ = "" Then Exit Function 'Si la variable est vide on sort de la fonction
LireIni = Path$ 'Ensuite on stocke le resultat dans la variable de la fonction
End Function
Public Function EcrireIni(Category As String, SubCategory As String, Value As String) 'Fonction pour écrire un fichier Ini
lRetVal = WritePrivateProfileString(Category, SubCategory, Value, App.Path & "\Config.ini") 'Ecrit dans le fichier Ini
End Function
thenonos
Messages postés6Date d'inscriptionmercredi 30 novembre 2005StatutMembreDernière intervention15 décembre 2005 15 déc. 2005 à 13:42
Ok, merci pour ces précisions. Mais si mon fichier ini comporte plusieurs Sections donc plusieurs clés et plusieurs valeurs, mais comment vais-je faire une fois que j'aurais lu mon fichier ini pour les garder, ce qui me permettra par la suite de les comparer à d'autres valeurs (affectectations à des variables ??????)