Вставить содержимое ListBox в txt-файл

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Novichok$
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 04.11.2005 (Пт) 16:53

Вставить содержимое ListBox в txt-файл

Сообщение Novichok$ » 07.11.2005 (Пн) 15:55

Пишу так, работает:

Код: Выделить всё
FileOpen(1, "C:\Protokoll.txt", OpenMode.Output)
        Write(1, "Hallo!")
        FileClose(1)


А вот так не хочет:

Код: Выделить всё
FileOpen(1, "C:\Protokoll.txt", OpenMode.Output) ' Open file for output.
        Write(1, ListBox1.Text)
        FileClose(1)


В txt-файле только
«»,

Подскажите чайнику

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 07.11.2005 (Пн) 16:45

Код: Выделить всё

Dim obj As ListBox.ObjectCollection = ListBox1.Items
for i as integer=0 to ListBox1.Items.count-1
    write(1, obj(i).Item(i) )
next i



Попробуй так.

PS: при открытии файла используй FreeFile, а то может быть плохо.

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 07.11.2005 (Пн) 16:47

FileOpen(1, "C:\Protokoll.txt", OpenMode.Output) ' Open file for output.
For i as Integer = 0 To ListBox1.items.Count - 1
Write(1, ListBox1.items.item(i))
Next i

FileClose(1)

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 07.11.2005 (Пн) 17:05

temur писал(а):FileOpen(1, "C:\Protokoll.txt", OpenMode.Output) ' Open file for output.
For i as Integer = 0 To ListBox1.items.Count - 1
Write(1, ListBox1.items.item(i))
Next i

FileClose(1)


Точно! Используй модификаторы Input, Random или Append.

Пропустил я... :wink:

Novichok$
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 04.11.2005 (Пт) 16:53

Сообщение Novichok$ » 07.11.2005 (Пн) 17:26

Спасибо, получплось
Только есть 2 меленькие (или большие) проблемки.

первая – он все лепит в одну строчку, т.е. в ListBox так:
07.11.2005 15:16:11 connect
07.11.2005 15:16:12 download
07.11.2005 15:16:13 close

а в протоколе :
07.11.2005 15:16:11 connect, 07.11.2005 15:16:12 download, 07.11.2005 15:16:13 close

вторая – переписываеися старый файл, при повторе задания – предидущей записи нет, есть только новая

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 07.11.2005 (Пн) 17:35

Novichok$ писал(а):Спасибо, получплось
Только есть 2 меленькие (или большие) проблемки.

первая – он все лепит в одну строчку, т.е. в ListBox так:

вторая – переписываеися старый файл, при повторе задания – предидущей записи нет, есть только новая


1. Добавь ENTER - chr(13)
2. используй модификатор Append - FileOpen(1, "C:\Protokoll.txt", OpenMode.Append)

Novichok$
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 04.11.2005 (Пт) 16:53

Сообщение Novichok$ » 07.11.2005 (Пн) 18:07

с .Append получилось

а с chr(13) что то никак

Уж и спрашивать неудобно ...

Можно поточнее, куда его ?

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 07.11.2005 (Пн) 18:59

так сорри, если через блокнот будешь просматривать инфу, то увидешь все в одну строчку (с квадратами).

Тогда там где должна начинаться новая строка пиши
Код: Выделить всё
Write(1, ControlChars.NewLine)


Тогда все впорядке будет (даже в блокноте).

Novichok$
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 04.11.2005 (Пт) 16:53

Сообщение Novichok$ » 07.11.2005 (Пн) 19:13

ok
все нормально
только запятые и ковычки в техте убрать осталось

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 08.11.2005 (Вт) 9:29

Dim sWriter As IO.StreamWriter
sWriter = New IO.StreamWriter("C:\Protokoll.txt")
For i as Integer = 0 To ListBox1.items.Count - 1
sWriter.WriteLine( ListBox1.items.item(i))
Next i
sWriter.Close()


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49

    TopList  
cron