Lire des info dans un fichier

[Résolu]
Signaler
Messages postés
3
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006
-
Messages postés
3
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006
-
Bonjour à tous
De quelle manière simple pourais-je lire les info contenues dans un fichier de type INI ,qui n'est pas un fichier INI mais sous la même forme avec des [SECTION] et des CLE = VALEUR .
je voudrais utiliser les valeurs de clés et de section connues
merci pour vas réponses

6 réponses

Messages postés
3
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006

Salut Julien , et encore merci pour ton aide :

d'après tes infos je me suis interressé à la fonction "GetPrivateProfileString" , une API si j'ai bien compris...(il y a pas mal d'info à ce sujet sur CS).
Et en effet j'ai fait qq petites modif pour VB2005 mais en gros le principal y est , pour mon Appli ça donne :

Dim Fichier As String = "C:WINDOWS" & FichierINI.Text
Const MAX_ENTRY As Integer = 32768

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

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, Fichier)
Return StrBuild.ToString
Catch
Return defval
End Try
End Function

J'espere que ceci aidera d'autres personnes , comme on l'a fait pour moi...
@+ sur CS, vincentteam
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut.

Dans un module:

Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpAppliName As String, ByVal lpKeyName As String, ByVal lpDefaut As String, ByVal lpRet As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer

Ensuite utilise cette fonction.

Function GetKeyValue(StrFichierIni As String, Section As String, Key As String) As String
Dim ParamValue As String
Dim retour As Long

ParamValue= Space$(150)
retour = GetPrivateProfileString(Section, Key, "?", ParamValue, 150, StrFichierIni)
ParamValue= Left$(ParamValue, retour)
If ParamValue= "?" Then
LireString = vbNullString
Else
LireString = Trim$(ParamValue)
End If
End Function

Ensuite tu l appelle de la facon suivante pour recupere par exemple la valeur de CLE du groupe Section.

Dim MaValeur as string
MaValeur = GetKeyValue("C:\MonFichier.ini", "SECTION", "CLE")

Et voila normalement c est bon

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Il n'y a pas besoin de la DLL j'ai fais une sorte de fichier INI en .txt, avec des choses du genre :

[Extensions valables]
.exe
.bat
[Sites de la RedTeam]
www.nsa-gov.mkdir.biz/redman

etc ...

Redman
Messages postés
3
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006

Merci pour les info , je suis débutant ça m'aide bcp
question : j'ai inséré le code dans un module et VB2005 me dit : "le nom LireString n'est pas déclaré " , doit-je déclarer cette variable ou bien j'ai oublier autre chose?
merci d'avance
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Ben quelquepart tu dois marquer : Dim LireString as String

Redman
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

> Vincentteam: Excuse j'avais mal recopier, il faut remplacer LireString par GetKeyValue

Mais un probleme se pose, je ne sais pas si ce code fonctionne pour VB2005, car je l'ai fait en VB6.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée