Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Трехмерный динамически массив / 15 сообщений из 15, страница 1 из 1
02.05.2012, 11:15
    #37778730
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Есть листбокс в котором перечислены файлы, нужно содержимое всех файлов занести в 3-мерный массив.
Объявил динамический 3-мерный массив в котором:
на 1-месте должно содержаться номер файла в литбоксе,
2-ом количество строк в файле,
3-м кол-во элементов в строке (оно постоянное и равно 15)

В цикле перебираются файлы,
Redim Preserve massiv (0 to list1.listcount-1, 0 to stroka, 0 to stolbec)

При первом цикле получаю значение:
12, 7, 15
Смотрим следующий файл, там строк больше,
должно получится
12, 27, 15, но выдает ошибку.

Run-time error '9'
Subscript out of range.

Помогите разобраться?
...
Рейтинг: 0 / 0
02.05.2012, 11:22
    #37778744
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
ошибка в 24-й строке 2-й процедуры
...
Рейтинг: 0 / 0
02.05.2012, 11:29
    #37778760
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Shocker.Proошибка в 24-й строке 2-й процедуры

Спасибо, есть еще варианты?
...
Рейтинг: 0 / 0
02.05.2012, 11:38
    #37778772
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Bobax012есть еще варианты?а есть ещё код кроме Redim Preserve massiv (0 to list1.listcount-1, 0 to stroka, 0 to stolbec)?
...
Рейтинг: 0 / 0
02.05.2012, 11:48
    #37778791
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Shocker.Pro,
Тут вроде и без кода понятно.
Redim Preserve massiv (const, const, можно изменять)
...
Рейтинг: 0 / 0
02.05.2012, 11:51
    #37778799
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
ДмитТут вроде и без кода понятно.Ну тогда тут без кода и причина ошибки понятна: Subscript out of range. - индекс вышел за пределы допустимого диапазона.
...
Рейтинг: 0 / 0
02.05.2012, 11:52
    #37778803
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
И не понял зачем там Preserve, вроде по описанию, массив очищается в следующем обращении.
...
Рейтинг: 0 / 0
02.05.2012, 11:53
    #37778805
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Shocker.Pro,

Нет, кода пока нет, самой программа не на руках.
Словесно объяснил, вечером могу скинуть код.

Если, что не понятно сейчас могу объяснить подробнее.
...
Рейтинг: 0 / 0
02.05.2012, 11:55
    #37778810
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Shocker.Pro, мгновенная реакция :)) Не часто увидишь на форумах ( за что мне нравиться sql.ru).
...
Рейтинг: 0 / 0
02.05.2012, 11:56
    #37778814
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Зачем на словах объяснять код, когда надо просто его показать.
Будет код - будут ответы.
Чего сейчас зря воду толочь.
...
Рейтинг: 0 / 0
02.05.2012, 11:58
    #37778822
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
ДмитИ не понял зачем там Preserve, вроде по описанию, массив очищается в следующем обращении.

нет не очищается, я же написал, что массив содержит содержимое всех файлов, т.е. с каждым циклов в массив дописываются значения.

Например:

1-ый файл, 3 строки, 15 символов.
2-ой файл, 5 строк, 15 символов.

Получится массив:
1,1,15
1,2,15
1,3,15
2,1,15
2,2,15
2,3,15
2,4,15
2,5,15
...
Рейтинг: 0 / 0
02.05.2012, 12:18
    #37778858
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
Bobax012,

Ещё раз повторюсь, так нельзя изменять массив в VB6.
Можно изменить только третий (последний) размер массива.
...
Рейтинг: 0 / 0
02.05.2012, 12:26
    #37778872
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
ДмитМожно изменить только третий (последний) размер массива.кстати да, об этом я, виноват, не подумал
...
Рейтинг: 0 / 0
02.05.2012, 12:27
    #37778875
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
ДмитBobax012,

Ещё раз повторюсь, так нельзя изменять массив в VB6.
Можно изменить только третий (последний) размер массива.

Вот спасибо, теперь понятно.
Просто иногда некоторые пишут с сарказмом и не можешь разобраться, где правда,
а, где остроумие свое показывают.
Ну, чтож подумаю как бы переделать програмулю, но это уже вечером.
Спасибо.
...
Рейтинг: 0 / 0
02.05.2012, 16:22
    #37779285
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Трехмерный динамически массив
1) Если "кол-во элементов в строке" - константа - то зачем её забивать в массив? Или вы проверяете всё же, вдруг будет не 15?
2) У вас сущности - это "файлы", а "кол-во строк", "кол-во элементов" - это свойства. Они однозначно привязаны к некоему файлу, так что нет смысла создавать трехмерный массив... Линейный он будет.
3) Далее, что, у нас уже запрещено создавать массивы пользовательских типов? Опишите структуру (файл; строк; элементов) и сделайте массив структур. Или у вас проблема в том, что вы еще хотите привязать этот массив к листбоксу напрямую?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Трехмерный динамически массив / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]