Probleme api ini

nitroptik Messages postés 50 Date d'inscription samedi 5 octobre 2002 Statut Membre Dernière intervention 13 mai 2007 - 13 mai 2007 à 07:26
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 13 mai 2007 à 08:55
Allo !

J'ai de la difficulté à comprendre l'api pour lire un fichier .ini

Comment je fais pour lire toto=123 dans le fichier test.ini avec ceci

Je dois modifier quoi ?

<li>PrivateDeclareFunction GetPrivateProfileString Lib "kernel32" Alias _
</li><li> "GetPrivateProfileStringA" (ByVal lpApplicationName AsString, ByVal _
</li><li> lpKeyName As Any, ByVal lpDefault AsString, ByVal lpReturnedString _
</li><li>AsString, ByVal nSize AsLong, ByVal lpFileName AsString) AsLong

</li>
<li>Function INIRead(Entete AsString, Variable AsString, Optional Fichier AsString) AsString</li><li> Fichier IIf(Fichier "", App.Path & "" & App.EXEName & ".ini", Fichier)
</li><li> INIRead = String(255, Chr(0))
</li><li> INIRead = Left$(INIRead, GetPrivateProfileString(Entete, ByVal Variable, "", INIRead, Len(INIRead), Fichier))
</li><li>EndFunction</li>

3 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
13 mai 2007 à 07:53
salut,

umm........
console.write iniread("MonEntete","toto")

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
13 mai 2007 à 08:28
Salut,
Si tu es réellement en VB2005 comme l'indique la section dans laquelle tu postes, alors ta déclaration est incorrecte. Essaie plutot ceci :

<li>Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
</li><li> "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
</li><li> lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString _
</li><li> As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer</li>

Tout les long -> Integer
Plus de Any, tu dois connaitre le type, au pire mettre Object à la place.

<hr size="2" width="100%" />Julien.
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
13 mai 2007 à 08:55
Au pire mettre Object...pour ma part il est préférable de mettre un pointeur IntPtr et faire du marshalling ensuite pour récupérer ce qu'il contient à l'adresse qu'il renvoit.

Pour Info, pour tout ce qui est déclaration API en .net http://www.pinvoke.net

++
0
Rejoignez-nous