Combobox multi colonne HELP :( [Résolu/Fermé]

Signaler
Messages postés
283
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
2 juillet 2014
-
Messages postés
283
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
2 juillet 2014
-
J'aimerais faire un petit programme qui va servir de raccourci, grosso modo j'ai l'id/nbdejeux , le nom(nom) et le chemin de l'application(Path).
le chemin et le nom sont sur des textbox. et quand je clic sur mon bouton. il va prendre les données pour les stoker sur mon disque dur pour ensuite les reprendre et créer ma ComboBox. L'idée étant que quand je réouvre le programme. il ai mémorisé les ajouts à la ComboBox.

Le problème est que quand je lance le programme, il m'affiche les MessageBox "ok" que j'ai écrites pour vérifié où était le problème, il me les affiche toutes. vous me direz, mais ou est le problème alors ? Le problème c'est que ma CamboBox n'affiche rien... :/



Je suis vraiment désolé si j'ai mal présenté mon problème.. Je ne sais pas trop comment le présenter. Bref voici le code en VB.NET



Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click

'génère les variables
Dim path As String = TextBox1.Text
Dim name As String = TextBox2.Text
Dim nbJeu As String = 0
Dim id As String = 1
Dim x As String = 0
Dim pathlien As String = "C:\theboy2223xxlol\path"
Dim namelien As String = "C:\theboy2223xxlol\nom"
Dim nbjeulien As String = "C:\theboy2223xxlol\nbjeu"
MessageBox.Show("Ok 1")


'Ajoute la donnée
Dim swName As System.IO.StreamWriter
swName = IO.File.AppendText(namelien)
swName.WriteLine(name)
swName.Close()
Dim swPath As IO.StreamWriter
swPath = IO.File.AppendText(pathlien)
swPath.WriteLine(path)
swPath.Close()
MessageBox.Show("Ok 2")

'Ajoute +1 au jeux
'(si le fichier n'existe pas)
If IO.File.Exists(nbjeulien) = False Then
Dim swfc As New StreamWriter(nbjeulien)
swfc.WriteLine(nbJeu)
swfc.Close()
End If
'(suite)
Dim srnbjeufsr As New StreamReader(nbjeulien)
x = srnbjeufsr.ReadLine()
srnbjeufsr.Close()
x = x + 1
Dim srnbjeufadd As New StreamWriter(nbjeulien)
srnbjeufadd.WriteLine(x)
srnbjeufadd.Close()

MessageBox.Show("OK 3")





'lécture pour actualisation
x = 0
id = 1
path = ""
name = ""
Dim srnbjeu As New StreamReader(nbjeulien)
Dim srPath As New StreamReader(pathlien)
Dim srName As New StreamReader(namelien)
nbJeu = srnbjeu.ReadLine()
MessageBox.Show("oK 4")
Do While id > nbJeu
id = id + 1
path = srPath.ReadLine()
name = srName.ReadLine()

ComboBox1Path.Items.Add(path)
ComboBox1.Items.Add(id & "I " & name)
Loop
srName.Close()
srPath.Close()
srnbjeu.ReadLine()

MessageBox.Show("OK 5")

End Sub

1 réponse

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 147
BONJOUR

Tu n'as aucun message d'alerte ou d'erreur au build de ton programme ?

«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Messages postés
283
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
2 juillet 2014
30
si je fais X = 1*x + 1. ca peut me règler le problème ?
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 147
Non ça ne règle rien. Ce que j'essaie de te faire comprendre c'est que tu veux additionner des serviettes avec des casseroles ....

Tu déclares une variable x en type String. Si ton fichier contient 10, le resultat de x = srnbjeufsr.ReadLine() c'est x = "10". Si tu fais x = "10" + 1, ça ne donnera jamais 11 !!!
Messages postés
283
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
2 juillet 2014
30
Ah merde Je vais essayer autrement
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 147
Voilà un cours sur les variables en VB.Net mais c'est pratiquement les mêmes règles pour la plupart des langages.
https://plasserre.developpez.com/cours/vb-net/?page=langage-vb2
Messages postés
283
Date d'inscription
jeudi 18 novembre 2010
Statut
Membre
Dernière intervention
2 juillet 2014
30
Merci beaucoup, j'ai réussis à faire quelque chose. d'à peu près fonctionnel. et j'ai réussis à inscrire des valeur sur mon fichier. maintenant je dois revoir le StreamRead, je vois déjà ou ce trouve le problème. j'ai fais deux ReadLine.. je vais me documenter pour règler ce problème :)

Fichier text :

1
x1
y1
2
x11
y11
3
x111
y111
4
x1111
y1111
5
x11111
y11111
6
x111111
y111111
7
x1111111
y1111111
8
x11111111
y11111111
9
x111111111
y111111111
10
x1111111111
y1111111111
11
x11111111111
y11111111111





   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Dim id As Integer = 0
        Dim name As String = "x"
        Dim path As String = "y"
        Dim x As Integer = 0


        If IO.File.Exists("test") Then
            Dim c As New IO.StreamWriter("text")
            c.WriteLine(0)
        End If

        Dim sw As IO.StreamWriter
        sw = IO.File.AppendText("text")

        Do Until id > 10
            id = id + 1
            name = name & "1"
            path = path & "1"

            sw.WriteLine(id)
            sw.WriteLine(name)
            sw.WriteLine(path)
        Loop
        sw.Close()

        Dim sr As New IO.StreamReader("text")


        Do Until id > x
            id = id + 1
            name = sr.ReadLine()
            path = sr.ReadLine()

        Loop
        sr.Close()

    End Sub