Подскажите, пожалуйста, забыл как это делал. Создаю список объектов. Нужен доступ к свойствам объектов, чтобы можно было бы их редактировать. Как-то делал, но не могу найти прежний код. Вот код, который позволяет читать, но не позволяет редактировать - присваивать значение:
| Код |
TapSite=Record Empty:Boolean; BuildingID:Integer; End;
TSite=class Info: TapSite; end; TListSite=class private FItem:TList; FCount:Integer; public constructor Create; function AddSite:Integer; function Delete(ID:Integer):Boolean; function Items(ID:Integer):TapSite; procedure Clear; property Count:Integer read FCount; end; { TListSite } //--------------------------SITE LIST ADD------------------------------------------------------ function TListSite.AddSite: Integer; begin self.FItem.Add(TSite.Create); FCount:=FItem.Count; Result:= FItem.Count-1; end; //--------------------------SITE LIST CLEAR------------------------------------------------------ procedure TListSite.Clear; begin FItem.Clear; FCount:=FItem.Count; end; //--------------------------SITE LIST CREATE------------------------------------------------------ constructor TListSite.Create; begin inherited; FItem:=TList.Create; FCount:=FItem.Count; end; //--------------------------SITE LIST DELETE------------------------------------------------------ function TListSite.Delete(ID: Integer): Boolean; begin Result:=FALSE; if (FItem.Count=0) or (ID>FItem.Count) then exit else FItem.Delete(ID); FCount:=FItem.Count; Result:=TRUE; end; //--------------------------SITE LIST ITEMS------------------------------------------------------ function TListSite.Items(ID: Integer): TapSite; begin if (ID>0) and (ID<FItem.Count) then Result:=TSite(FItem.Items[ID]).Info; end;
|
Нужна такая реализация (чтобы скрыть типы классов): | Код | SitesList.Items(loop).Empty:=TRUE; //запись какого-то свойства объекта в списке
|
|