Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Delphi: Общие вопросы > Как узнать все выделенные элементы в ListBox |
Автор: koder 27.03.07, 16:02 |
Если использовать св-во ListBox'a MultiSelect := true, то как узнать какие элементы списка выделенны? |
Автор: Profi 27.03.07, 16:55 |
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> for i:=0 to ListBox1.Items.Count-1 do If ListBox1.Selected[i] then ListBox2.Items.Add(ListBox1.Items[i]); |
Автор: Gaws 27.03.07, 17:20 |
Немого оптимизации в код.... <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> x:=ListBox1.Items.Count-1; for i:=0 to x do If ListBox1.Selected[i] then ListBox2.Items.Add(ListBox1.Items[i]); и Больше дополнить нечем. |
Автор: P.O.D 27.03.07, 17:28 |
Gaws Компилятор сам так сделает. |
Автор: koder 27.03.07, 17:42 |
Спасибо ребята! |
Автор: koder 28.03.07, 04:58 |
А как потом удалить выделенные элементы, а также <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> for i:=0 to SendToBox.Items.Count-1 do If SendToBox.Selected[i] then begin tmpClient := TCPServer1.Connections[I]; TCPServer1.Send(tmpClient, PChar(Code), Length(Code)); end; а также соединения TCPServer1.Connections[I] есть ли другой способ отличный от записывание номеров в массив в список? |
Автор: Testudo 28.03.07, 05:16 |
koder, проходись по списку и делай, что тебе нужно с TCPServer1.Connections[I]. Если не получилось, скажем, удалить соединение, то делай Selected:=false. А после цикла вызови ListBox1.DeleteSelected; Вот и все. |
Автор: koder 28.03.07, 05:33 |
ПРи удалении Connections[i] например удаляя 1 элемент, второй элемент не станет первым? |
Автор: Testudo 28.03.07, 05:34 |
Цитата koder @ Станет. При удалении элементов из списков пользуются обратным ходом: for i:=max downto 0 do ПРи удалении Connections[i] например удаляя 1 элемент, второй элемент не станет первым? |
Автор: DMX_XC 28.03.07, 06:58 |
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> for i:=ListBox1.Count-1 DownTo 0 do if ListBox1.Selected[i] then ListBox1.Items.Delete(i); |
Автор: koder 29.03.07, 05:40 |
Как узнать, что ни один элемент Listbox'a не выделен? |
Автор: Stratocoder 29.03.07, 05:46 |
Количество выделеных елементов можно прочитать из проперти SelCount. |