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()
Merci, je vais essayer de revoir ca pour le X = X +1 , je prend la valeur dans un fichier pour l'additionner à 1 donc ca n'a pas pour but d'être lié au reste
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 !!!
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 :)
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
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 !!!
https://plasserre.developpez.com/cours/vb-net/?page=langage-vb2
Fichier text :