Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
6-1155810638
DesWind
2006-08-17 14:30
2007.01.14
TIdUDPserver


2-1166974460
AzzHell
2006-12-24 18:34
2007.01.14
Как зделать чтобы прога при работе занимала меньше оперативы?


2-1166740295
XfroSt
2006-12-22 01:31
2007.01.14
Передача значения в поток thread


2-1166659630
TeeChart
2006-12-21 03:07
2007.01.14
Работа с массивами данных


2-1166627427
atas-sheriff
2006-12-20 18:10
2007.01.14
TClientSocket & TProgressBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский