Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Как правильно описать тип (запись) с "виртуальными" полями?   Найти похожие ветки 

 
SergP ©   (2006-01-12 22:16) [0]

Для начала приведу пример того что мне требуется:

var
 exp:int64;
 v1,v2:^cardinal;
begin
 v1:=pointer(integer(@exp)+4);
 v2:=@exp;

// После этого мы имеем переменную exp:int64 , к которой можно
// обращаться по частям (по 4 байта) с помощью v1^ и v2^


Вопрос в том как можно подобным образом описать тип (запись), в котором к тем же 8 байтам можно обращаться как к int64 и в то же время по частям как к двум cardinal"ам?

type myrecord=record
   ...
   exp:int64; // нужное мне поле int64
 // как добавить в эту запись еще 2 поля cardinal, которіе біли бы
 //не отдельными полями, а частями поля exp?

   ...
end;


 
Джо ©   (2006-01-12 22:24) [1]


type

 myrecord = record
   case Boolean of
     True: (exp: int64);
     False:
       (
         c1,
         c2: Cardinal;
       );
 end;


 
Джо ©   (2006-01-12 22:25) [2]

Читать: Variant records.


 
Anatoly Podgoretsky ©   (2006-01-12 22:36) [3]

Оно уже описано  Int64Rec type



Страницы: 1 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.091 c
3-1133251086
alex_1234
2005-11-29 10:58
2006.01.29
DBGrid - не отрисовывать запись по условию в вычисляемом поле


9-1124306435
Pinochet
2005-08-17 23:20
2006.01.29
DirectDraw. Поверхности большого размера.


2-1136806368
psa247
2006-01-09 14:32
2006.01.29
TListItem ?


3-1133512349
salexn
2005-12-02 11:32
2006.01.29
Ассинхронное получение данных в TClientDataSet


15-1136506903
ronyn
2006-01-06 03:21
2006.01.29
Windows XP SP2 & Bluetooth