Как это написать на Си? Hачинаются проблемы когда пытаюсь засунуть switch.
type
PPack = ^Pack;
Pack = packed record
cursor : word;
length : word;
case integer of
0: (DATA:array[0..PACKET_DATA_SIZE-1] of byte);
1: (FLAP : FLAP_HDR;
FLAP_BODY:array[0..PACKET_DATA_SIZE-1] of byte);
2: (Sign,ChID:byte; SEQ,Len:word);
3: (fix:FLAP_HDR;
SNAC:SNAC_HDR;
SNAC_BODY:array[0..PACKET_DATA_SIZE-1] of byte);
end;
До свидания, Evgeniy.
np: Amatory - Клетка[paused]
[Metal] [Death] [Doom] [Guitar] [Animate] [C++] [asm]
Попробуй засунуть не switch, а union.
04 июн 07 20:58, Soldatenkov Mitea -> Evgeniy Zhavoronkov:
EZ>> Как это написать на Си? Hачинаются проблемы когда пытаюсь
EZ>> засунуть switch.
SM> Поля надо объединять через union. Только, я так и не нашел, как его
SM> заставить работать с группами полей - придется группу в отдельную
SM> структуру закатывать.
можешь привести пример? :)
До свидания, Evgeniy.
np: Enigma - Sadeness (Meditation)
04 июн 07 20:18, Alexander Andrusenko -> Evgeniy Zhavoronkov:
>> Как это написать на Си? Hачинаются проблемы когда пытаюсь
>> засунуть switch.
>> type
>> Pack = packed record
>> case integer of
AA> [skip]
>> end;
AA> Попробуй засунуть не switch, а union.
А как? :)