Проблема с загрузкой плейлиста
Цитата:
Dim it As Object
Dim z As System.IO.StreamWriter
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If My.Computer.FileSystem.FileExists("list.txt") = True Then
My.Computer.FileSystem.DeleteFile("list.txt")
End If
Dim i As Integer
For i = 0 To Form2.ListBox1.Items.Count - 1
it = Form2.ListBox1.Items.Item(i)
z = My.Computer.FileSystem.OpenTextFileWriter("list.txt", True)
z.WriteLine(it)
z.Close()
Next
End Sub
Dim z As System.IO.StreamWriter
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If My.Computer.FileSystem.FileExists("list.txt") = True Then
My.Computer.FileSystem.DeleteFile("list.txt")
End If
Dim i As Integer
For i = 0 To Form2.ListBox1.Items.Count - 1
it = Form2.ListBox1.Items.Item(i)
z = My.Computer.FileSystem.OpenTextFileWriter("list.txt", True)
z.WriteLine(it)
z.Close()
Next
End Sub
а ето код загрузки:
Цитата:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If My.Computer.FileSystem.FileExists("list.txt") = True Then
Dim lis As New IO.StreamReader("list.txt")
it = lis.ReadLine()
Form2.ListBox1.Items.Add(it)
lis.Close()
End If
End Sub
If My.Computer.FileSystem.FileExists("list.txt") = True Then
Dim lis As New IO.StreamReader("list.txt")
it = lis.ReadLine()
Form2.ListBox1.Items.Add(it)
lis.Close()
End If
End Sub
но грузится только первая строка
делал еще таким вариантом:
Цитата:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If My.Computer.FileSystem.FileExists("list.txt") = True Then
it = My.Computer.FileSystem.ReadAllText("list.txt",true)
Form2.ListBox1.Items.Add(it)
End If
End Sub
If My.Computer.FileSystem.FileExists("list.txt") = True Then
it = My.Computer.FileSystem.ReadAllText("list.txt",true)
Form2.ListBox1.Items.Add(it)
End If
End Sub
но все песни в плейлисте записывались в одной строке под одним индексом
прошу помощи
Код:
Код:
If My.Computer.FileSystem.FileExists("list.txt") = True Then
My.Computer.FileSystem.DeleteFile("list.txt")
End If
My.Computer.FileSystem.DeleteFile("list.txt")
End If
Вовсе не обязательно удалять файл.
Код:
Dim i As Integer
For i = 0 To Form2.ListBox1.Items.Count - 1
it = Form2.ListBox1.Items.Item(i)
z = My.Computer.FileSystem.OpenTextFileWriter("list.txt", True)
z.WriteLine(it)
z.Close()
Next
For i = 0 To Form2.ListBox1.Items.Count - 1
it = Form2.ListBox1.Items.Item(i)
z = My.Computer.FileSystem.OpenTextFileWriter("list.txt", True)
z.WriteLine(it)
z.Close()
Next
Ужас! На каждой итерации цикла файл открывается и закрывается!
Нужно открыть файл один раз перед циклом, и закрыть после цикла.
Цитата: dizet
но грузится только первая строка
Естественно. В коде указана загрузка только одной строки.
Если нужно считать все строки, это нужно делать в цикле.
Цитата: dizet
делал еще таким вариантом:
но все песни в плейлисте записывались в одной строке под одним индексом
но все песни в плейлисте записывались в одной строке под одним индексом
Могу предложить использовать System.IO.File.ReadAllLines и ListBox.Items.AddRange.
Цитата:
Во-первых, заключайте код в тэги [noparse]
Код:
[/noparse].
Ок)
Цитата:
Ужас! На каждой итерации цикла файл открывается и закрывается!
Нужно открыть файл один раз перед циклом, и закрыть после цикла.
Нужно открыть файл один раз перед циклом, и закрыть после цикла.
Согласен к идеалу мне далеко, но я учусь.
Цитата:
Могу предложить использовать System.IO.File.ReadAllLines и ListBox.Items.AddRange.
Спасибо за совет.