Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизLIST of TMyType Найти похожие ветки
← →
RealRascal © (2004-04-11 09:24) [0]Порождаю новый класс от TLIST.
TMyList=class(TList)
Переписываю его метод Add.
MyList.Add(NewItem:TMyType);
Как мне потом обратиться к определенной переменной в этом списке, именно как к TMyType?
Ну вот, например, в TStringList можно писать
stringvariable:=Stringlist1[23];
Как мне реализовать подобное через TList?
Я конечно понимаю, в альтернативу можно использовать динамеческие массивы, но... я хочу именно так. Мне так удобнее.
← →
Cobalt © (2004-04-11 09:56) [1]Посмтори компонент TComponentList как образец.
function TComponentList.Add(AComponent: TComponent): Integer;
← →
Думкин © (2004-04-11 10:08) [2]
property Items[i : integer] : TDemoAction read GetItems; default;
← →
RealRascal © (2004-04-11 12:50) [3]О, Сила Витаминов! *торжественно, радостно*
Спасибо, оно у меня заработало!
Сделал так:
type TNodes = class(TList)
private
function get(Index:Integer):TNode;
protected
public
procedure Add(const ANode: TNode);
function AddNext(const x, y: double): word;
property Items[Index: Integer]: TNode read Get; default;
end;
где
function TNodes.get(Index:Integer):TNode;
begin
Result:= TNode(inherited get(index));
end;
← →
Игорь Шевченко © (2004-04-11 13:41) [4]
> Result:= TNode(inherited get(index));
Result := TNode(inherited Items[index]);
← →
RealRascal © (2004-04-11 14:50) [5]>[4]
И так, как Вы предложили, тоже работает. Только я не пойму, в чем, собсно, разница.
Result:= TNode(inherited get(index)); - тут мы обращаемся к предку за функцией, так?
а в [4]?
К свойству, получается, чтоли...а свойство потом все равно оттуда этой функцией это заберет...
А зачем? Так быстрее работать будет? Или безопаснее? Или "так уж на Руси повелось"?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c