Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Массивы


Автор: morontt 30.1.2005, 18:33
Существует куча (допустим N миллионов...) мелких одномерных массивов.
Есть ли готовая функция для их обнуления? Какой нибудь Clear(m)
Пусть не всех сразу,хотя бы по отдельности?
Что-то неохота циклами вручную.Да и времени,наверное,много уйдёт

Автор: ~FoX~ 30.1.2005, 20:06
SieeOf

Автор: boevik 30.1.2005, 20:50
Код

erase array_name

Автор: ~FoX~ 30.1.2005, 23:24
morontt
Конкретизируй задачу. тебе при инициализации массива надо что б он "" был.Или при работе, или еще полчему???

Автор: morontt 31.1.2005, 03:46
Мне надо убивать и создавать динамические массивы в процессе работы проги.
Кстати,нигде не нашёл про SieeOf smile
Что это такое и с чем его едят? smile

Автор: ~FoX~ 31.1.2005, 09:36
morontt
Я перепутал SizeOf это из делфи. smile
А разьве в бэйсике массив не пустой создается ?
Ну да ладно

Код

dim a() as integer
for i = LBound(a) to UBound(a)
 a(i) = 0
next i

Автор: Akina 31.1.2005, 10:08
Цитата(morontt @ 31.1.2005, 04:46)
Мне надо убивать и создавать динамические массивы в процессе работы проги.

Убивать - Erase
Создавать - Dim, Private, Public
Переопределять с обнулением значений - ReDim
Переопределять с сохранением значений - ReDim Preserved

Хотя проще переопределять, чем убивать-создавать... имхо.

Автор: cardinal 31.1.2005, 21:10
Цитата(Akina @ 31.1.2005, 08:08)
Хотя проще переопределять, чем убивать-создавать... имхо.

А если дело не в простоте, а в скорости, то morontt осталось только тест написать и проверить smile

Автор: Akina 1.2.2005, 10:03
cardinal
redim быстрее erase+dim, которые в свою очередь быстрее redim preserved.
во всяком случае иных результатов мне получить не удалось.
разница во времени много выше статистической погрешности...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)