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

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

Обращение к полям рекорда [D7, XP]


Creative ©   (2007-04-19 13:22:00) 

Допустим:

ABC = record
 A: byte;
 B:word;
 C: integer;
end;

К его полю можно обратиться ABC.B. Это ясно. А можно ли обратиться ABC.Field2 или как то так? Иными словами можно ли обращаться к полю рекорда не по имени, а по его "порядковому" номеру в рекорде?


{RASkov}   (2007-04-19 17:48:00) [1]

>Но массив по сравнению с рекордом тормознее

> ... и медленнее обрабатывается...

Угу... :)


{RASkov}   (2007-04-19 17:47:00) [2]

> [9] ANB ©   (19.04.07 17:36)
> Массив вариантов и рекорд имеют несколько разные назначения.

Если чесно, то они вообще разные...

> Массив вариантных значений... почти твой рекорд

Это было сказано только потому, что автор хотел это услышать...
Так-же для автора
> Но массив по сравнению с рекордом тормознее и жрет больше
> памяти.

... и медленнее обрабатывается...


ANB   (2007-04-19 17:36:00) [3]


> {RASkov}   (19.04.07 15:06) [8]

Массив вариантов и рекорд имеют несколько разные назначения. Хрен знает - что именно автору нужно. Но массив по сравнению с рекордом тормознее и жрет больше памяти.


{RASkov}   (2007-04-19 15:06:00) [4]

> [7] Creative   (19.04.07 14:11)
> а можно чуть конкретнее?

А что конкретней? Массив вариантных значений... почти твой рекорд, только теперь обращаться по индексу а не по имени параметра :)
Пример из F1
var
 A: Variant;
begin
 A := VarArrayCreate([0, 4], varVariant);
 A[0] := 1;
 A[1] := 1234.5678;
 A[2] := 'Hello world';
 A[3] := True;
 A[4] := VarArrayOf([1, 10, 100, 1000]);
 WriteLn(A[2]); { Hello world }
 WriteLn(A[4][2]); { 100 }
end;


Creative   (2007-04-19 14:11:00) [5]


> Ega23 ©   (19.04.07 13:34) [4]
> Объявляй как VarArray


а можно чуть конкретнее?


Amoeba   (2007-04-19 13:45:00) [6]


> можно ли обращаться к полю рекорда не по имени, а по его
> "порядковому" номеру в рекорде?

А нафига?


clickmaker   (2007-04-19 13:35:00) [7]


> можно ли обращаться к полю рекорда не по имени, а по его
> "порядковому" номеру в рекорде?

а это разве не массивом зовется?


Ega23   (2007-04-19 13:34:00) [8]

Объявляй как VarArray


McSimm_   (2007-04-19 13:32:00) [9]

По смещению в памяти иногда можно.


ANB   (2007-04-19 13:26:00) [10]


> а по его "порядковому" номеру в рекорде

Зачем ?
А вообще - посмотри модуль TypInfo. Если что то можно сделать в RTTI, то это там и живет.


Плохиш   (2007-04-19 13:25:00) [11]

Полей в записи нет номеров.


Наверх

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