Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.038 c
2-1154794421
Yusuf
2006-08-05 20:13
2006.08.27
Большие текстовые файлы


15-1154418847
vidiv
2006-08-01 11:54
2006.08.27
Как восстановить администратора?


2-1154951397
ProgramMaker_
2006-08-07 15:49
2006.08.27
Почему не работает следующее...


15-1153983484
Иксик
2006-07-27 10:58
2006.08.27
Зотов


2-1154809655
fog
2006-08-06 00:27
2006.08.27
TScrollBox




   Наверх