Тема: ListBox
Показать сообщение отдельно
  #4  
Старый 29.04.2008, 07:45
Lazy_Alex Lazy_Alex вне форума
Прохожий
 
Регистрация: 29.04.2008
Сообщения: 1
Репутация: 10
По умолчанию

Вот, только вчера програмил :

Для перемещения вверх:

Код:
  if (ListBox2.ItemIndex>0) then
    ListBox2.Items.Exchange(ListBox2.ItemIndex, ListBox2.ItemIndex-1);

Для перемещения вниз соответственнно:
Код:
  if (ListBox2.ItemIndex<(ListBox2.Items.Count-1)) and (ListBox2.ItemIndex>=0) then

// если не проверять на >=0, то при ItemIndex = -1 получится фигня. :) 

    ListBox2.Items.Exchange(ListBox2.ItemIndex, ListBox2.ItemIndex+1);

Items.Count - количество строк в листбоксе.
ItemIndex возвращает номер выделенной строчки в листбоксе. Номер первой строчки = 0. номер последней строчки = Items.Count-1. Если ни одна строчка не выделена, то = -1.

if - здесь это проверка на крайние значения, без этого при слишком большом или слишком маленьком ItemIndex и нажатой кнопке выскочит ошибка index out of bound(). Одновременно проверяется, выделена ли вообще строчка.

А вообще, чаще читай встроенный хелп Дельфей. Там нет именно этого кода, но догадаться, как это сделать, можно. Да и быстрее самому разобраться, чем ждать ответа от доброго дяди.
Ответить с цитированием