Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

Помогите, пожалуйста, со списками.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1166952419
Zver1992
2006-12-24 12:26
2007.01.14
Отключение контроля ошибок


2-1167132325
LPal7
2006-12-26 14:25
2007.01.14
прооблемы с blob полем


10-1128336974
Квэнди
2005-10-03 14:56
2007.01.14
Фиксирование строк в Excel


2-1166707776
ЗЗ
2006-12-21 16:29
2007.01.14
Получение данных из blob


2-1166594381
EgorovAlex
2006-12-20 08:59
2007.01.14
Не свитывается из файла JobInfo2W: Сначала я его записываю в файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский