![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListBox.Item и Объект [D7, WinXP]
tytus © (2005-01-27 10:54:00)Добрый день господа. Подскажите как правильно отыскать итемы листбокса по объекту и удалить их (итемы и объекты).
type
PAtsObj=^TAtsObj;
TAtsObj=record
AN:string;
end;
далее в обработчике клика по чекбоксу пишу:
var
AtsObj:PAtsObj;
begin
if CB1.Checked then
begin
New(AtsObj);
AtsObj^.AN:='746';
...
for i:=0 to TGLst.Count-1 do
LB1.AddItem(TGLst.Strings[i],TObject(AtsObj));
все нормально работает.//LB1-ListBox;CB1-CheckBox;
А теперь когда чекбокс не отмечен нужно найти все итемы в листбоксе по объекту и удалить их.
end else
begin
n:=LB1.Items.IndexOfObject(TObkect(AtsObj));
LB1.Items.Delete(n);//???
end;
MetalFan (2005-01-27 11:17:00) [1]может в данном случае
> PAtsObj=^TAtsObj;
> TAtsObj=record
> AN:string;
> end;
PChar прокатит?
ЮЮ (2005-01-27 11:11:00) [2]
idx := LB1.Items.IndexOfObject(TObject(AtsObj));
if (idx > - 1) then begin
Dispose( PAtsObj(LB1.Items.Objects[idx]))
LB1.Items.Delete(idx); end;
end;
KSergey (2005-01-27 11:09:00) [3]> найти все итемы в листбоксе по объекту и удалить их.
Что в вашем понимании "по объекту"?
> [1] TUser © (27.01.05 11:04)
> type
> TAtsObj=class
А это не черезчур?
TUser (2005-01-27 11:04:00) [4]type
TAtsObj=class