![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обращение к полям рекорда [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]Полей в записи нет номеров.