Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с загрузкой плейлиста

76K
12 февраля 2012 года
dizet
7 / / 12.02.2012
Здравствуйте, я недавно решил создать свой плеер на visual basic 2010 и у меня возникла проблемка с загрузкой плейлиста.Он сохраняєтся в текстовом файле каждая песня в отдельной строке. Вот код:
Цитата:
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


а ето код загрузки:

Цитата:
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


но грузится только первая строка
делал еще таким вариантом:

Цитата:
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


но все песни в плейлисте записывались в одной строке под одним индексом
прошу помощи

297
12 февраля 2012 года
koodeer
1.2K / / 02.05.2009
Во-первых, заключайте код в тэги [noparse]
 
Код:
 
[/noparse].

 
Код:
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

Ужас! На каждой итерации цикла файл открывается и закрывается!
Нужно открыть файл один раз перед циклом, и закрыть после цикла.

Цитата: dizet
но грузится только первая строка


Естественно. В коде указана загрузка только одной строки.
Если нужно считать все строки, это нужно делать в цикле.

Цитата: dizet
делал еще таким вариантом:
но все песни в плейлисте записывались в одной строке под одним индексом


Могу предложить использовать System.IO.File.ReadAllLines и ListBox.Items.AddRange.

76K
18 февраля 2012 года
dizet
7 / / 12.02.2012
Цитата:


Во-первых, заключайте код в тэги [noparse]
Код:

[/noparse].


Ок)

Цитата:
Ужас! На каждой итерации цикла файл открывается и закрывается!
Нужно открыть файл один раз перед циклом, и закрыть после цикла.


Согласен к идеалу мне далеко, но я учусь.

Цитата:
Могу предложить использовать System.IO.File.ReadAllLines и ListBox.Items.AddRange.


Спасибо за совет.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог