Главная страница
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.47 MB
Время: 0.044 c
1-1081949165
alsov
2004-04-14 17:26
2004.05.02
програмный скролинг в гриде


1-1081749006
cvg
2004-04-12 09:50
2004.05.02
Help me! Почему Undeclared identifier?


1-1082289800
Роман К.
2004-04-18 16:03
2004.05.02
Как сохранить выделенный текст из TRichEdit в файл?


3-1080789254
User_OKA
2004-04-01 07:14
2004.05.02
Проблема с Interbase


1-1082122909
oleg_v
2004-04-16 17:41
2004.05.02
Форма и компоненты