![]() |
|
|
|
|
#1
|
|||
|
|||
|
У меня есть несколько типов записей, можно ли их записать в какой-нибудь тип данных, чтобы потом можно было обратиться к ним по индексу?
|
|
#2
|
|||
|
|||
|
массив, не? Имеется ввиду массив какого-нибудь базового типа
Последний раз редактировалось ChinYan, 23.03.2012 в 19:46. |
|
#3
|
|||
|
|||
|
нужен такой массив, чтобы в него разные записи можно было вносить!
Последний раз редактировалось Пионер, 23.03.2012 в 19:52. |
|
#4
|
||||
|
||||
|
Как тебе и сказали:
Цитата:
|
|
#5
|
|||
|
|||
|
Цитата:
Правда, при этом придется записи "преобразовать" в классы: Код:
вместо: TRec = record ... end; сделать: TRec = class ... end; |
|
#6
|
||||
|
||||
|
Если записи большие и имеют совершенно разные размеры, можно сделать массив указателей на эти записи.
|
|
#7
|
|||
|
|||
|
TObjectList - это и есть массив указателей на "записи", которые должны быть объявлены как классы.
|
|
#8
|
||||
|
||||
|
TObjectList - потомок TList, и практически повторяет все его свойства, и много еще чего лишнего... А по сути - это тот же массив, просто "удобнее" для новичков в использовании. А если обьекты нужно добавлять динамически, то еще мороки...
|
|
#9
|
||||
|
||||
|
case Integer of и в массив
пример: Код:
PMessage = ^TMessage;
TMessage = packed record
Msg: Cardinal;
case Integer of
0: (
WParam: Longint;
LParam: Longint;
Result: Longint);
1: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end; |
|
#10
|
|||
|
|||
|
а можно будет потом этот класс в файл filestream записать
|