Страницы: 1
RSS
Добавить строку массива в ListBox, Возможно ли без перебора сразу добавить строку массива в ListBox?
 
Добрый день,
Есть массив iArr (1 to 100, 1 to 10) и ListBox (10 столбцов).
If iArr (i, 1)=1 Then ...  Возможно ли без перебора сразу добавить строку массива в ListBox?
Спасибо.
 
Что Вы понимаете под ПЕРЕБОРОМ?
 
В цикле: ListBox.list(i-1, j-1)=iArr(i, j)
 
Строку сразу добавить можно только в одном случае - весь массив одна строка.
В остальных случаях каждый элемент массива вставляется на свое место.
А уж перебором, или нет, дело вкуса.
 
Можно и без цикла - перечислить 10 столбцов. А чем цикл не угодил? :-)
 
Вопрос чисто из любопытства.
Смотрю свой код - одни циклы: цикл в цикле, циклом погоняет! Думал, может есть что поудобнее.

Спасибо.
 
Ещё вариант: про условию перекладываем во второй массив, а потом этот массив сразу в ListBox.
 
Юрий М, этот способ значительно быстрее (потестил на обработке массива 11000 х 6 по условию Like).
Оставляет только пустые строки во втором массиве (размерность задаю изначально как у первого). Думаю как избавиться от пустых строк в конце второго массива)?
Воспользовался советом Hugo: "запомнить в словаре номера нужных строк, затем в финале переложить в новый массив только нужные строки" - замечательно работает.
Получился такой алгоритм: сравниваю - заполняю словарь с номерами нужных строк - прохожу по словарю и заполняю новый массив - выгружаю в листбокс.  
Изменено: PavelKs - 22.07.2014 18:27:02
 
Используем Resize и выгружаем только "верхушку". Пример можно посмотреть ЗДЕСЬ
 
Мне наверное не подойдет - я Listbox заполняю (хотя не знаю как применить - попробую)
Исправил пост №8 - вроде хорошо получилось.
Страницы: 1
Наверх