Lecture de fichier INI avec GetPrivateProfileString

Résolu
cs_M51 Messages postés 63 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 10 août 2007 - 18 avril 2006 à 23:06
cs_M51 Messages postés 63 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 10 août 2007 - 19 avril 2006 à 08:38
Salut,

J'ai le code suivant pour lire un fichier INI

'API qui permet de récupérer les infos dans un fichier suivant un champ et une clé dans ce champ
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


'Récupère les informations dans un fichier avec le champ [] et une clef XXXX=
Public Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, _
Optional ValeurParDefaut As String = "") As String

Dim strReturn As String
strReturn = String(255, 0)
GetPrivateProfileString Section, Cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)
End Function


'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
Mon problème est que lorsque le contenu commence ou se termine par des espaces ce code ne me retourne pas les espaces.
ex: code entrée dans un fichier ini: " code blblblblablaalbalab "
il me retourne "code blblblblablaalbalab"

J'ai essayé de trouver d'autre code ils ont le même type de problème.

Une idée. merci d'avance
A voir également:

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 avril 2006 à 05:02
salut,
les espaces ne sont pas enregistrés.
s'ils te sont utiles, à toi de commencer et terminer ta chaîne pas un autre caractère.

exemple :


Public Function LireIni(Fichier As String, Section As String, Libelle As String) As String
Dim Retour As String: Retour = String (512, Chr$(0))
LireIni = Left$(Retour, GetPrivateProfileString(Section, ByVal Libelle, "", Retour, Len(Retour), Fichier) - 1)
LireIni = Right$(LireIni, Len (LireIni) - 1)
End Function
'
'
Public Sub EcrireIni(Fichier As String, Section As String, Libelle As String, ByVal Valeur As String)
Valeur = Chr$(30) & Valeur & Chr$(30)
Call WritePrivateProfileString(Section, Libelle, Valeur, Fichier)
End Sub


<small> Coloration
syntaxique automatique [AFCK]</small>


++
PCPT [AFCK]
0
Rejoignez-nous