Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Покажите пример работы с array property


volph ©   (2002-06-30 17:14:00) 

Покажите пример работы с array property


Anatoly Podgoretsky   (2002-06-30 20:19:00) [1]

Так и осталось непонятным, то ли ты хочешь использовать, то ли хочешь создать компонент с индексными саойствами?


Юрий Зотов   (2002-06-30 20:06:00) [2]

См., например, в исходниках модуля Classes свойство Values у объекта TStrings (TStringList).


volph   (2002-06-30 19:37:00) [3]

А если индекс не целое число а строка?


Бурундук   (2002-06-30 19:23:00) [4]

Простейший пример

TTest = class
private
FData: array of Integer;
public
function GetData(Index: Integer): Integer;
procedure SetData(Index: Integer; Value: Integer);
property Data[Index: Integer]: Integer read GetData write SetData; // default;
end;

function GetData(Index: Integer): Integer;
begin
if (Index > 0) and (Index < Length(FData)) then
Result := FData[Index]
else
Result := 0; // raise ...;
end;

procedure SetData(Index: Integer; Value: Integer);
begin
if (Index > 0) and (Index < Length(FData)) then
FData[Index] := Value
else
; // raise ...;
end;

И работаешь с Test.Data как с массивом

default означает, что ты можешь написать как
Test.Data[i], так и просто Test[i]

Index не обязательно должен быть целым, это может быть что угодно, хоть строка или объект.

Индексов может быть несколько:
property Data[Name: string; Index: Integer{...}]...


Anatoly Podgoretsky   (2002-06-30 18:30:00) [5]

Да требуются подробности непонимания, что именно, а так работа не отличается от работы с обычным массивов, например Pixels[x,y] наглядный пример свойства с друхмерным массивом, Mermo.Lines[N] одномерный


Юрий Зотов   (2002-06-30 18:24:00) [6]

Повторять хелп смысла, конечно, нет. В чем конкретно проблема? Что именно не работает?


volph   (2002-06-30 18:20:00) [7]

не работает пример и не пойму его логику :(


Anatoly Podgoretsky   (2002-06-30 17:33:00) [8]

Тема в хелпе Array properties как раз с примерами


Наверх

Титульная страница Поиск, карта сайта Написать письмо