Limiter dans le nombre de caractère dans un fichier ini

Signaler
Messages postés
33
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
18 juillet 2005
-
Messages postés
33
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
18 juillet 2005
-
bonjour

je suis limiter a 36 caractère quand je vais cherché des information dans un fichier ini.
Comment avoir plus de caractère.

Voici mon code

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

ini=c:\vb6\transfert.ini

ret = String(255, 0)
nc = GetPrivateProfileString("chemin", "source", "default", ret, 255, ini)
If nc <> 0 Then ret = Left$(ret, nc)
orig = ret

6 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Je ne comprend pas ton pb de limitation à 36 caractères !!
D'après ton code tu es effectivement limité, mais à 255 caractères !!!

Christophe R.
Messages postés
33
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
18 juillet 2005

Voici le reste du code qui lit le fichier ini
Celon l'ordre des variable j'ai des problèmes pour avoir la totalité de la chaine de caractère.

les variables sont déclaré en string

ret = String(255, 0)
nc = GetPrivateProfileString("chemin", "destination", "default", ret, 255, ini)
If nc <> 0 Then ret = Left$(ret, nc)
dest = ret

nc = GetPrivateProfileString("chemin", "source", "default", ret, 255, ini)
If nc <> 0 Then ret = Left$(ret, nc)
orig = ret

nc = GetPrivateProfileString("fichier", "chemin", "default", ret, 255, ini)
If nc <> 0 Then ret = Left$(ret, nc)
fichier = ret

nc = GetPrivateProfileString("fichier", "nom", "default", ret, 255, ini)
If nc <> 0 Then ret = Left$(ret, nc)
nomfichier = ret

voici la structure du fichier ini

[chemin]
source=\\structure\users\_xchange\_FicPayedestination=\users\_xchange\DOSSIERS.ISA\_IsaPaye
[fichier]
nom=transfert.txt
chemin=\\structure\users\_xchange\_FicPaye\
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Je te conseille de refaire un "ret = String(255, 0)" juste avant chaque appel à l'API GetPrivateProfileString(...)

Christophe R.
Messages postés
33
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
18 juillet 2005

ok sa marche

le 0 dans la ligne "ret = String(255,0)" signifie quoi?
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
C'est le caractrère nul ! a ne pas confondre avec "", qui est une chaine vide ! A ne pas confondre !!
Pour un code plus parlant, tu peux rempalcer ce zéro par la constante vbNullChar

Christophe R.
Messages postés
33
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
18 juillet 2005

merci