Как получить выделенную строку ЛистБокса для записи её в переменную типа стринг...
Не свойство Каптион ни свойство Текст не помогают.
Как достать данные из ListBox'а?
Модератор: Модераторы
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
Эм... Вроде обычный способ работает:
Код: Выделить всё
if ListBox1.Selected[i] then str:=ListBox.Items[i]
Nik спасибо.
Я ещё читаю мол основной клас итемс и всё черз него, а лазарус выдаёт ошибки на него (я про подстановку индекса не догадался), я уж попробовал и через каптион и через текст... вобщем спас.
Я ещё читаю мол основной клас итемс и всё черз него, а лазарус выдаёт ошибки на него (я про подстановку индекса не догадался), я уж попробовал и через каптион и через текст... вобщем спас.
-
eastorwest
- новенький
- Сообщения: 57
- Зарегистрирован: 23.07.2009 20:21:46
- Откуда: Н-ск
"Правильнее" использовать свойство ItemIndex класса TCustomListBox:
Тогда поиск с циклом не потребуется:
Код: Выделить всё
property ItemIndex: Integer; [rw] // ItemIndex: Integer to indicate the currently selected item (zero origin)Тогда поиск с циклом не потребуется:
Код: Выделить всё
ListBox1.Items[ListBox1.ItemIndex]- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
eastorwest писал(а):"Правильнее" использовать свойство ItemIndex класса TCustomListBox:Код: Выделить всё
ListBox1.Items[ListBox1.ItemIndex]
Этот вариант подходит только если выделен 1 пункт. Если задействован MultiSelect, так получить выделенные пункты не получится.
PS. Вообще неплохо было добавить в дополнение к Items (TStrings) ещё и что-то типа SelectedItems (TStrings). C учётом обычного использования ListBox такая возможность была логичной.
