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

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

Как получить размер property ? [D7]


AIms ©   (2005-08-01 01:28:00) 

Создаю : property AIms[Index: Integer]: TAIms read GetObject write SetObject;

Как мне узнать размер AIms ? Так, не работает : Lenght(AIms).


Юрий Зотов   (2005-08-01 04:59:00) [1]

> AIms   (01.08.05 04:49) [7]

>  какое "поле-массив"

Сам динамический массив.

Видимо, если в классе есть свойство - элемент массива, то в нем же должно быть и поле - массив? Откуда-то же эти элементы должны браться, ведь так?

Или у Вас сделано как-то иначе? Если да - приводите объявление класса.


AIms   (2005-08-01 04:49:00) [2]


> Юрий Зотов ©   (01.08.05 04:37) [6]
> function TMyClass.GetCount: integer;
> begin
>  Result := Length(поле-массив)
> end;


А какое "поле-массив" в данном случае ?


Юрий Зотов   (2005-08-01 04:37:00) [3]

AIms   (01.08.05 04:23) [5]

Само свойство ведь имеет тип записи , а не массива записей. Поэтому вполне естественно, что Length(запись) - не работает.

Введите еще одно свойство - Count:

property Count: integer read GetCount;

function TMyClass.GetCount: integer;
begin
 Result := Length(поле-массив)
end;


AIms   (2005-08-01 04:23:00) [4]


> Юрий Зотов ©   (01.08.05 03:54) [4]
> > AIms   (01.08.05 03:50) [3]
>
> Может, и есть. Но Вы неточно оговорили вопрос.
>
> 1. Как организовано физическое хранение индексированного
> свойства? Массив? Список? Еще что-то?


массив рекордов у меня. Надо перехватывать доступ к его элементам, поэтому и использую property AIms[Index: Integer]: TAIms, а не AIms : array of TAIms


> 2. Что Вы хотите получить - количество элементов или размер
> элемента?

Размер массива. Массив динамически, и его размер может меняться.


Юрий Зотов   (2005-08-01 03:54:00) [5]

> AIms   (01.08.05 03:50) [3]

Может, и есть. Но Вы неточно оговорили вопрос.

1. Как организовано физическое хранение индексированного свойства? Массив? Список? Еще что-то?

2. Что Вы хотите получить - количество элементов или размер элемента?


AIms   (2005-08-01 03:50:00) [6]


> Eraser ©   (01.08.05 01:46) [1]
> AIms   (01.08.05 01:28)
>
> Что такое TAIms?


record


> GuAV ©   (01.08.05 03:04) [2]
> Нет там размера. А если он нужен то его делают отдельным
> св-вом. Пример: Components и ComponentCount .


Точно нету ? Как всё запущенно то, однако ...
И что мне каждый раз удаляя или добавляя надо в ручную изменять это свойство ? Может всё же есть какой способ ?


GuAV   (2005-08-01 03:04:00) [7]

Нет там размера. А если он нужен то его делают отдельным св-вом. Пример: Components и ComponentCount .


Eraser   (2005-08-01 01:46:00) [8]

AIms   (01.08.05 01:28)

Что такое TAIms?


Наверх

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