Главная страница
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.47 MB
Время: 0.058 c
2-1154945565
malyar
2006-08-07 14:12
2006.08.27
мессага dblclik для listview


2-1155087755
vladimirg88
2006-08-09 05:42
2006.08.27
Форма


2-1154706686
Ivolg
2006-08-04 19:51
2006.08.27
Сокеты


9-1133991432
Quattro
2005-12-08 00:37
2006.08.27
Карточные игры


15-1153990849
Юрий Зотов
2006-07-27 13:00
2006.08.27
"Не связывайся с дураками".