Lire des info dans un fichier

Résolu
vincentteam Messages postés 3 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 mars 2006 - 24 mars 2006 à 15:22
vincentteam Messages postés 3 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 mars 2006 - 27 mars 2006 à 10:33
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

vincentteam Messages postés 3 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 mars 2006
27 mars 2006 à 10:33
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
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 mars 2006 à 16:13
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
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
24 mars 2006 à 20:32
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
0
vincentteam Messages postés 3 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 27 mars 2006
24 mars 2006 à 22:14
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
0

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

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
25 mars 2006 à 09:22
Ben quelquepart tu dois marquer : Dim LireString as String

Redman
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 mars 2006 à 08:47
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
0
Rejoignez-nous