Nespejau atsakyti :) mintis ta pati, cia ne C# o elementaraus C strukturu principai; On 08/31/10 12:33, saimhe wrote: >> typedef struct { //32 bitu bool struktura >> BOOL bReady; >> BOOL bAuto; >> ... >> ... >> } TankStatus ; >> >> TankStatus Tank; >> >> long StatusDWORD; >> >> StatusDWORD=0xFD89; > > Štai tas pats klasikinėmis priemonėmis be jokių # : > > typedef union { > struct { > int bReady:1; > int bAuto:1; > . > : > } flags; > int raw; > } TankStatus; > . > : > Tank.raw=StatusDWORD; > if (Tank.flags.bReady) > . > : > > Užtat bus non-portable tarp "big endian" ir "little endian" > architektūrų ir > panašiaias atvejais. Jei kartais reikėtų tvarkyti, su #ifdef pakanka > aprašyti > kitą TankStatus.flags versiją, kur bitai pateikti reikiama tvarka. > -- GP