Главная страница
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.026 c
4-1078415133
GrayFace
2004-03-04 18:45
2004.05.02
Как сделать приложение, изменяющее разрешение?


1-1081499286
fatal
2004-04-09 12:28
2004.05.02
Полупрозрачные окна


14-1081374394
Феликс
2004-04-08 01:46
2004.05.02
Анимация для игр


4-1078684563
Volunteer
2004-03-07 21:36
2004.05.02
Как отслеживать нажатие клавиш из Win (XP) ?


11-1061807748
electric
2003-08-25 14:35
2004.05.02
Как в KOL отправить письмо?