Файл => Коллекция

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Файл => Коллекция

Сообщение Faust » 27.07.2004 (Вт) 19:29

Можно ли строку файла добавить в коллекцию, не используя дополнительных строковых переменных. Сейчас я считываю строку через LineInput в переменную, а потом добавляю значение этой самой переменной в коллекцию. А как обойтись без неё?
Листинги не горят!

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 28.07.2004 (Ср) 13:16

А что, жаба душит - строки жалко?
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 31.07.2004 (Сб) 9:58

Жаба душила разработчиков ВБ, когда они длину нефиксированной строки ограничили 64Кб.
Листинги не горят!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 31.07.2004 (Сб) 11:03

:shock:
Ты чё...
2 Гб в ней :shock:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 31.07.2004 (Сб) 12:45

Ты чё...
2 Гб в ней

Значит, у меня мануал корявый. Но там было написано, что 2Гб - это тоглько для строк фиксированной длины.
Листинги не горят!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 31.07.2004 (Сб) 13:46

Я фигею...
Фауст, всё с точностью до наоборот. Фиксированные 64К :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 04.08.2004 (Ср) 11:38

Хм... А ведь когда хоронишь строку в файл, то на описание её длины ыделяется только 2 байта... :?:
Листинги не горят!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.08.2004 (Ср) 15:55

Faust писал(а):Хм... А ведь когда хоронишь строку в файл, то на описание её длины ыделяется только 2 байта... :?:

Провёл эксперимент - если строка длиннее 64Кб, то в файл пишется 6 байт её длины: 65535 в "обычном" месте и 4 байта самой длины в "дополнительном".

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 04.08.2004 (Ср) 20:16

Tyomitch, спасибо за тест! Но все-таки, у кого-то есть соображения по, собственно, сабжу?
Листинги не горят!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.08.2004 (Ср) 20:31

Faust писал(а):Tyomitch, спасибо за тест! Но все-таки, у кого-то есть соображения по, собственно, сабжу?

Имхо всё уже сказали:
Vi писал(а):А что, жаба душит - строки жалко?

Серьёзно, зачем тебе это нужно?

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 04.08.2004 (Ср) 20:56

Читаю я, значит, файл через LineInput, строчку за строчкой в переменную временную записываю, а переменную оную - в коллекцию добавляю. Растет коллекция, пополняется... Да вот беда - при длине строчки боле, нежели 32Кб, выдает мне среда разработки сообщение об ошибке, что расточительным и просто неэкономным програмерам в снах страшных является: Overflow имя ей, 8 - число имени её.
Листинги не горят!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.08.2004 (Ср) 23:14

Faust писал(а):Читаю я, значит, файл через LineInput, строчку за строчкой в переменную временную записываю, а переменную оную - в коллекцию добавляю. Растет коллекция, пополняется... Да вот беда - при длине строчки боле, нежели 32Кб, выдает мне среда разработки сообщение об ошибке, что расточительным и просто неэкономным програмерам в снах страшных является: Overflow имя ей, 8 - число имени её.

Дело явно не в длине читаемой строки. Вот этот код:
Код: Выделить всё
Option Explicit

Sub Main()
Open "d:\debug.txt" For Output As 1
Print #1, Space(100000)
Close 1

Dim s As String
Open "d:\debug.txt" For Input As 1
Line Input #1, s
Close 1

End Sub

- прекрасно работает.

А ещё у Overflow номер 6, а не 8 :-)


Вернуться в Visual Basic 1–6

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

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

    TopList  
cron