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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1082204005
Anatoli
2004-04-17 16:13
2004.05.02
При создании Node в TreeView загонять соответствующие картинки


3-1080873973
Angel_Forever
2004-04-02 06:46
2004.05.02
Преполнение стека


1-1081761868
ГАГН
2004-04-12 13:24
2004.05.02
Как проверить Edit ы?


14-1081301245
Skleroz
2004-04-07 05:27
2004.05.02
Все Хабаровчане (или не..), кому время девать некуда - тестируем!


3-1081150365
alexey
2004-04-05 11:32
2004.05.02
IBTable и IBQuery