Probleme avec Combobox & fichier ini, j'en ai marre

chalmi - 6 nov. 2001 à 19:43
 int19h - 6 nov. 2001 à 20:32
J'ai vraiment besoin d'aide, je m'explique:
j'ai 2 combobox et une textbox:
combo1 pour [section] du fichiers ini,combo2 pour clé du fichier, et text1 pour sa valeur.
Ce que je veux pouvoir faire c afficher la liste des sections dans combo1, puis la liste des clés de la section selectionnée dans combo2, et enfin la valeur de la clé dans
text1.
Voila ou j'en suis :(File etant le nom du fichier)

Open "" & File For Input As #1
Do Until EOF(1)
Line Input #1, a
If a = Mid(a, 1, InStr(a, "[")) Then
Combo1.AddItem Mid(a, 1, InStr(a, "["))
ElseIf a = Mid(a, 1, InStr(a, "=")) Then
Combo2.AddItem Mid(a, 1, InStr(a, "=") - 1)
ElseIf a = Mid(a, InStr(a, "=") + 1) Then
text1.text = Mid(a, InStr(a, "=") + 1)
End If

Private Sub Combo1_Change()
combo2.ListIndex = Combo1.ListIndex
End Sub

Private Sub CmbKey_Change()
text1.text = combo2.ListIndex
End Sub

Merci de m'aider, paske la j'en peux plus, j'en ai vraiment marre!!!

1 réponse

Salut

Si je me souvient bien, c'est un exemple de moi. Bon, le code n'est pas tout a fait bon. Donc, si je comprends bien, tu as un fichier comme ca :

[Section 1]
Key1=Valeur
Key2=Valeur
Key3=Valeur

[Section 2]
Key1=Valeur
Key2=Valeur

[Section 3]
Key1=Valeur
Key2=Valeur
Key3=Valeur
Key4=Valeur

Et tu veux :
1 combo avec :
[Section 1]
[Section 2]
[Section 3]

1 combo avec :
Key1
Key2
Key3

Key1
key2

Key1
Key2
Key3
Key4

Lorsque tu clicks sur le 1er combo, tu affiches dans le combo2 les keys qui y sont "liée" dans le fichier ini. Et si on click sur le 2eme combo, on affiche la valeur???

Je pense que ca doit etre un truc comme ca. Donc, voila un source :

Sur un projet place : 2 combo, 1 textBox et une listBox
La listbox doit avoir :
Name = Liste
Index = 0
Visible = False

Ensuite tu colles le code suivant :

Private Sub Combo1_Click()
Combo2.Clear
Combo2.Tag = Combo1.ListIndex
For a = 0 To Liste(Combo1.ListIndex).ListCount - 1
b$ = Liste(Combo1.ListIndex).List(a)
If b$ <> "" Then Combo2.AddItem Mid$(b$, 1, InStr(b$, "=") - 1)
Next
End Sub

Private Sub Combo2_Click()
a$ = Liste(Val(Combo2.Tag)).List(Combo2.ListIndex)
Text1 = Mid$(a$, InStr(a$, "=") + 1)
End Sub

Private Sub Form_Load()

Open "c:\essai.txt" For Input As #1

num = 0
Do Until EOF(1)
Line Input #1, a$
If a$ <> "" Then
If Mid$(a$, 1, 1) = "[" Then
Combo1.AddItem a$
If num <> 0 Then Load Liste(num)

Do Until a$ = ""
If EOF(1) Then Close: Exit Sub
Line Input #1, a$
Liste(num).AddItem a$
Loop

num = num + 1

End If
End If

Loop

Close

End Sub

Voila, en principe, ca devrait le faire...
Il faut crée un fichier essai.txt qui a la meme structure que ci-dessus.

Si t'as des questions, mail moi en direct.

a+

Int19h
0
Rejoignez-nous