Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
ВнизПомогите, пожалуйста, со списками. Найти похожие ветки
← →
raqy.style © (2006-12-21 17:59) [0]Вопрос, собственно, вот в чем. Есть у меня ListBox & ComboBox. В ListBox много всяких строк, в том числе и повторяющиеся. мне нужно что бы в comboBox-е появились строки из ListBox-а только в единственном экземпляре.
Заранее спасибо!
← →
PZ (2006-12-21 18:44) [1]B ComboBox надо установить Sorted = True и Duplicates = dupIgnore, после чего скопировать солержимое ListBox в ComboBox. Должно получиться желаемое.
← →
PZ (2006-12-21 18:55) [2]К сожалению так не получится. Прошу извинить, ввел в заблуждение
← →
Anatoly Podgoretsky © (2006-12-21 19:05) [3]> PZ (21.12.2006 18:55:02) [2]
ListBox -> StringList -> ComboBox
← →
raqy.style © (2006-12-21 19:07) [4]Спасибо!!!!
← →
Anatoly Podgoretsky © (2006-12-21 19:09) [5]> raqy.style (21.12.2006 19:07:04) [4]
Второй вариант - ручками с проверкой на IndexOf
Что будет быстрее зависит от размера ListBox
← →
raqy.style © (2006-12-21 19:46) [6]
> Anatoly Podgoretsky © (21.12.06 19:09) [5]
Анатолий, если Вас не затруднит, приведите, пожалуйста, пример. Или хотя бы алгоритм опишите подробнее.
Я пробовал 2 цикла for. каждый элемент Комбо сверял с каждым из Лист. но желаемое не получалось.
← →
Anatoly Podgoretsky © (2006-12-21 19:52) [7]> raqy.style (21.12.2006 19:46:06) [6]
Цикл один по ListBox, перед добавлением проверяешь на дубль с помощью ComboBox.Items.IndexOf
← →
raqy.style © (2006-12-21 19:58) [8]пробую.
var i: integer;
begin
comboBox1.Items.Add(listBox1.Items[0]) ;
for i := 0 to listbox1.Items.Count -1 do
begin
if comboBox1.Items.IndexOf(listBox1.Items[i]) = 0 then
comboBox1.Items.Add(listBox1.Items[i]);
end;
end;
но увы.
← →
PZ (2006-12-21 19:58) [9]> [3] Anatoly Podgoretsky © (21.12.06 19:05)
Да, конечно, как-то я не сообразил.
← →
Anatoly Podgoretsky © (2006-12-21 20:08) [10]> raqy.style (21.12.2006 19:58:08) [8]
Первую строчку comboBox1.Items.Add убрать.
Сравнение = 0 заменить на = -1
Чувствуется, что справку ты не читал.
← →
Anatoly Podgoretsky © (2006-12-21 20:10) [11]
> PZ (21.12.06 19:58) [9]
Ты про какой вариант?
В общем они оба правильные, отличаться будут только скорость и потребностью в ресурсах, вариант с IndexOf требует меньше ресурсов, но возможно будет работать медленнее, при небольших объемах это не важно.
← →
PZ (2006-12-21 20:27) [12]> [11] Anatoly Podgoretsky © (21.12.06 20:10)
Я имел в виду использование ListBox -> StringList -> ComboBox
← →
Anatoly Podgoretsky © (2006-12-21 20:32) [13]> PZ (21.12.2006 20:27:12) [12]
Понял, да немного необычно.
← →
Loginov Dmitry © (2006-12-21 21:38) [14]Все-же с дополнительным списком должно быть быстрее, имхо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c