Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.18;
Скачать: CL | DM;

Вниз

удаление ячейки у listbox`а и у valuelisteditor`а   Найти похожие ветки 

 
exkalement ©   (2009-08-19 01:59) [0]

Подскажите пожалуйста:
Как можно узнать какой номер строки выделенный в listbox`е и как удалить из valuelisteditor`а строку с этим же номером?
Поясню:
Я пишу проигрователь и не могу сделать удаления трэка из списка. Путь к трэку, имя и расширение нах-ся в компоненте valuelisteditor а название в listbox`е. valuelisteditor конечно не виден. Поэтому мне надо узнать какая стока выделенна и удалить эту строку.
Если есть другой вариант(работы с listbox и valuelisteditor) я попробую.
Помогите пожалуйста я так еще лет 40 буду думать.


 
TIF ©   (2009-08-19 04:15) [1]

> Помогите пожалуйста я так еще лет 40 буду думать.

Не надо думать, надо нажимать волшебную кнопку F1 и листать справку :)

Сейчас будет маленькая познавательная "экскурсия"; преподнести сразу готовый ответ на блюдечке = навредить автору темы. Поехали

> Как можно узнать какой номер строки выделенный в listbox`е

TListBox - наследник от своего предка TCustomListBox:
http://InfoDelphi.ru/Help/RADStudio/en/StdCtrls.TListBox.html

TCustomListBox  - наследник TCustomMultiSelectListControl, у которого предок TCustomListControl. Он - предок TWinControl, поэтому мы останавливаемся и изучаем его свойства (properties):
http://InfoDelphi.ru/Help/RADStudio/en/Controls.TCustomListControl_Properties.html

Как ни странно, но оно всего одно - ItemIndex, и как раз то, которое нам нужно :)
http://InfoDelphi.ru/Help/RADStudio/en/Controls.TCustomListControl.ItemIndex.html

В описании (description) разжёваны подробности о возможных значениях


 
TIF ©   (2009-08-19 04:15) [2]

> и удалить эту строку.

Удалить - delete, строка - row
Смотрим методы (methods) TValueListEditor
http://InfoDelphi.ru/Help/RADStudio/en/ValEdit.TValueListEditor_Methods.html

В глаза бросается DeleteRow:
http://InfoDelphi.ru/Help/RADStudio/en/ValEdit.TValueListEditor.DeleteRow.html

Можно удалить и по-другому:
ValueListEditor.Strings.Delete(i);
Ибо строки Strings - типа TStrings, а у него есть Delete:
http://InfoDelphi.ru/Help/RADStudio/en/Classes.TStrings.Delete.html

PS:
> valuelisteditor конечно не виден

Тогда он конечно же используется не по назначению, ибо это визуальный компонент. Значения можно без проблем хранить и в динамическом массиве. Ещё вариант: использовать ОДИН другой компонент (благо таковые имеются), где можно будет в первом столбце хранить "название", а в остальных "путь/имя/расширение". Само собой видимым сделать только первый столбец. Очевидный плюс - не надо носиться между ДВУМЯ компонентами и синхронно удалять во втором ту строчку, которую удалили в первом.

В общем, есть над чем подумать ;-)



Страницы: 1 вся ветка

Текущий архив: 2009.10.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
3-1228301781
tipman
2008-12-03 13:56
2009.10.18
Транзакция в dbase


2-1250067700
AndrewG
2009-08-12 13:01
2009.10.18
TRichViewEdit & addict


2-1250249797
JS2
2009-08-14 15:36
2009.10.18
asm


2-1249906240
abun
2009-08-10 16:10
2009.10.18
Фильтрация массива чисел от шума


15-1248678356
NailMan
2009-07-27 11:05
2009.10.18
Можт кому интересно будет