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

Вниз

Не могу понять суть такого рода объявлений   Найти похожие ветки 

 
novill ©   (2006-08-09 15:51) [0]

var
Sz: record
  case Boolean of
    True: (L,H: DWord);
    False: (Value: Int64);
end;


или вот, например

 TVarRec = record
   case Byte of
     vtInteger:    (VInteger: Integer; VType: Byte);
     vtBoolean:    (VBoolean: Boolean);
     vtChar:       (VChar: Char);
     vtExtended:   (VExtended: PExtended);
     vtString:     (VString: PShortString);
     vtPointer:    (VPointer: Pointer);
     vtPChar:      (VPChar: PChar);
     vtObject:     (VObject: TObject);
     vtClass:      (VClass: TClass);
     vtWideChar:   (VWideChar: WideChar);
     vtPWideChar:  (VPWideChar: PWideChar);
     vtAnsiString: (VAnsiString: Pointer);
     vtCurrency:   (VCurrency: PCurrency);
     vtVariant:    (VVariant: PVariant);
     vtInterface:  (VInterface: Pointer);
     vtWideString: (VWideString: Pointer);
     vtInt64:      (VInt64: PInt64);
 end;


 
clickmaker ©   (2006-08-09 16:06) [1]

упакованная структура. Места для нее выделяется по максимальному полю, а доступ для удобства по любому из полей


 
Германн ©   (2006-08-09 16:09) [2]


> clickmaker ©   (09.08.06 16:06) [1]
>
> упакованная структура.

Пока ещё не упакованная. :-)


 
clickmaker ©   (2006-08-09 16:18) [3]

ну аналог union в Си, короче.
Можно и целый инт64 прочитать, а можно младшее/старшее дв. слово. А размером она один инт64 и будет


 
novill ©   (2006-08-09 16:30) [4]

То есть  case  тут имеет число формальное значение и просто оформляет  перчисление возможных вариантов обращения

Записи

var
Sz: record
  case byte of
   0: (L,H: DWord);
   1: (Value: Int64);
end;


,


var
Sz: record
  case byte of
    1: (L,H: DWord);
    0: (Value: Int64);
end;


Будут иметь одинаковый смысл. Я правильно понял?


 
DiamondShark ©   (2006-08-09 16:33) [5]

правильно



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

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

Наверх




Память: 0.48 MB
Время: 0.052 c
2-1155146075
merri
2006-08-09 21:54
2006.08.27
VarArrayCreate


1-1152251750
just
2006-07-07 09:55
2006.08.27
Delphi пропускает строки кода при компиляции


2-1155146708
Hgr
2006-08-09 22:05
2006.08.27
Текст письма


2-1154705644
Mr tray
2006-08-04 19:34
2006.08.27
cos(1/2*pi)=-4.3711388287e-08


15-1154351795
Сатир
2006-07-31 17:16
2006.08.27
mp3 to midi converter