Problème de retour de variable vide de mon .ini

cs_nais Messages postés 2 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 16 décembre 2003 - 16 déc. 2003 à 10:00
cs_nais Messages postés 2 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 16 décembre 2003 - 16 déc. 2003 à 15:38
Bonjour,
J'ai un problème avec le retour de ma variable sensée me donner le nom de mon .doc. Je ne vois pas l'erreur. Pourtant mon code marche sur une autre appli.

Voici mon code :
'Lecture d'un fichier d'initialisation
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 Function GetIni(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

--->> GetIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)

End Function

La variable GetIni retourne "".

Voici mon .ini

; Chemins
[PATH]
MONARCH=c:\progra~1\monarch\program
GIFEC=M:

; Documents utilisés
[LETTRETYPE]
CONVINDU=CONVENTIONINDU.doc
CONVRCT=CONVENTIONRCT.doc
CONVINDUAG=CONVENTIONINDUagcpt.doc

Merci de votre aide.

:blush)

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 déc. 2003 à 10:35
Chez moi ca fonctionne.....

j'appelle ta fonction comme cela...
Private Sub Form_Load()
    MsgBox GetIni(App.Path & "\monini.ini", "PATH", "MONARCH")
End Sub


Je vois pas pourquoi ca coince..... Ton fichier INI est il bien placé ?

Si tu veux, j'ai modifié un peu le code de GetIni, ca ne resoudra pas ton probleme, car ta fontion fonctionne...

Public Function GetIni(Fichier As String, Section As String, Cle As String, Optional ValeurParDefaut As String = "") As String
    Dim Buffer As String * 255
    GetPrivateProfileString Section, Cle, ValeurParDefaut, Buffer, 255, Fichier
    GetIni = Split(Buffer, vbNullChar)(0)
End Function


By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
16 déc. 2003 à 11:22
Ca te fait quoi exactement comme erreur ?

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_nais Messages postés 2 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 16 décembre 2003
16 déc. 2003 à 15:38
Pour répondre à vos questions :

Mon .ini est sous le meme repertoire que mon appli.

Le message d'erreur est celui-ci :

"erreur d'execution : impossible d'ouvrir le document . Essayez les opération suivantes :
Dans menu Fichier, cliquez sur ouvrir pour ouvrir le document.
Vérifiez que le document possède une extension.doc"

La variable qui est censée contenir le nom de mon .doc est vide...

Merci de votre aide.

:blush)
0
Rejoignez-nous