Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.189.180.244] |
|
Сообщ.
#1
,
|
|
|
Если использовать св-во ListBox'a MultiSelect := true, то как узнать какие элементы списка выделенны?
|
Сообщ.
#2
,
|
|
|
for i:=0 to ListBox1.Items.Count-1 do If ListBox1.Selected[i] then ListBox2.Items.Add(ListBox1.Items[i]); |
Сообщ.
#3
,
|
|
|
Немого оптимизации в код....
x:=ListBox1.Items.Count-1; for i:=0 to x do If ListBox1.Selected[i] then ListBox2.Items.Add(ListBox1.Items[i]); и Больше дополнить нечем. |
Сообщ.
#4
,
|
|
|
Gaws Компилятор сам так сделает.
|
Сообщ.
#5
,
|
|
|
Спасибо ребята!
|
Сообщ.
#6
,
|
|
|
А как потом удалить выделенные элементы, а также
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] есть ли другой способ отличный от записывание номеров в массив в список? |
Сообщ.
#7
,
|
|
|
koder, проходись по списку и делай, что тебе нужно с TCPServer1.Connections[I]. Если не получилось, скажем, удалить соединение, то делай Selected:=false. А после цикла вызови ListBox1.DeleteSelected;
Вот и все. |
Сообщ.
#8
,
|
|
|
ПРи удалении Connections[i] например удаляя 1 элемент, второй элемент не станет первым?
|
Сообщ.
#9
,
|
|
|
Цитата koder @ Станет. При удалении элементов из списков пользуются обратным ходом: for i:=max downto 0 do ПРи удалении Connections[i] например удаляя 1 элемент, второй элемент не станет первым? |
Сообщ.
#10
,
|
|
|
for i:=ListBox1.Count-1 DownTo 0 do if ListBox1.Selected[i] then ListBox1.Items.Delete(i); |
Сообщ.
#11
,
|
|
|
Как узнать, что ни один элемент Listbox'a не выделен?
|
Сообщ.
#12
,
|
|
|
Количество выделеных елементов можно прочитать из проперти SelCount.
|