Probleme de lecture avec un fichier .ini [Résolu]

Messages postés
85
Date d'inscription
dimanche 11 avril 2004
Statut
Membre
Dernière intervention
10 janvier 2010
- - Dernière réponse : comtention
Messages postés
85
Date d'inscription
dimanche 11 avril 2004
Statut
Membre
Dernière intervention
10 janvier 2010
- 15 juil. 2005 à 20:20
Bonjour, j'ai un probleme avec un fichier .ini pour la lecteur d'une valeur qui est "RGB (100, 150, 200), la lecture se passe tres bien si c'est pour metre cette valeur dans un textbox, mais pas quand que je le recupére et le met en valeur de "me.BackColor = " sa me met une erreur type mismatch. Voici le 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


Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Private Function EcritDansFichierIni(Section As String, Cle As String, Valeur As String, Fichier As String) As Long
EcritDansFichierIni = WritePrivateProfileString(Section, Cle, Valeur, Fichier)
End Function
Private 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
Private Sub Command2_Click()
leftParam = LitDansFichierIni("test", "cle1", "E:\Documents and Settings\Comtention\Bureau\test.ini", 100)
Text1.Text = leftParam ' Sa sa marche
Me.BackColor = leftParam 'Error type mismatch
End Sub

Mon .ini est
[Test]
cle1=RGB (100, 150, 200)

Merci d'avance pour votre aide
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
25
3
Merci
En faite tu essai d'attribué Me.BackColor = "RGB(100,150,200)"

Me.BackColor de type long et "RGB(100,150,200)" de type String

Il faut donc décomposer le "RGB(100,150,200)" pour obtenire les composantes Rouge,Vert et Bleu

Ensuite utilise la fonction RGB avec les composantes extraites précédament

Me.BackColor = RGB(ComposanteRouge,ComposanteVert,ComposanteBleu)

ChRb

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
dimanche 11 avril 2004
Statut
Membre
Dernière intervention
10 janvier 2010
0
Merci
A ok je vais essailier, mais tu vois si je fait

Dim couleur as string

Private Sub Form_Load()
couleur = "rgb(100,150,200)"
end sub

Private Sub Command1_Click()
me.backcolor=couleur
end sub

Et bien sa marche alors que c'est une string
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
25
0
Merci
C'est étrange j'ai esseyer ton code
précédent et ca marche pas chez moi il me retoure "Type incompatible"
ce qui me parait très normal.


ChRb
Messages postés
85
Date d'inscription
dimanche 11 avril 2004
Statut
Membre
Dernière intervention
10 janvier 2010
0
Merci
essai sans les ""
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
25
0
Merci
Sans les "" il est sûr que ça marchera. La fonction RGB fera la conversion
La fonction RGB retournera la valeur long de la couleur soit ici RBG(100,150,200) = 13145700
La variable couleur aura donc pour valeur "13145700" et non "RBG(100,150,200)"VB fera donc la conversion de strnig vers long.soit Me.backcolor 13145700 et non me.backColor "RBG(100,150,200)"

ChRb
Messages postés
85
Date d'inscription
dimanche 11 avril 2004
Statut
Membre
Dernière intervention
10 janvier 2010
0
Merci
aaaaa dacord, j'ai fait comme ta dit au dessus avec les composantes et sa marche bien alors je te remercie beaucoups a bientot.