掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DelphiでC言語のビットフィールド (ID:48908)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
もうひとつ質問させてください。 以下のような構造体(共用体?)をDelphiで定義するとどのようになるのでしょうか? ビットフィールドという使い方のようですがDelphiでも使えるのでしょうか? 仮にDelphiで定義できないとしても、これはある関数を実行するとセットされる構造体の一部なのですが、ここにセットされる値は使用しません。 できれば「領域だけ確保しておく」みたいな定義の仕方ができればよいのですが... どうかご助言をよろしくお願い致します。 ///////////////////////////////////////////////////////////////////////////// typedef union{ struct{ unsigned char bit0 :1; unsigned char bit12:2; unsigned char bit3 :1; unsigned char bit4 :1; unsigned char bit5 :1; unsigned char bit6 :1; unsigned char bit7 :1; }bitHS1; BYTE byHS1; }CUST_UNION_HS1; #define CUST_HS1_ORDER uHS1.bitHS1.bit0 // オーダー種別(0:新規、1:追加) #define CUST_HS1_DENSO uHS1.bitHS1.bit12 // 伝送種別(00:通常伝送、01:仮伝送、11:本伝送) #define CUST_HS1_KAIKEI uHS1.bitHS1.bit6 // 会計フラグ(0:未会計、1:会計済) #define CUST_HS1_MAEBARAI uHS1.bitHS1.bit7 // 前払いオーダー(0:無効、1:有効) #define CUST_HS1_MSK_ORDER 0x01 // オーダー種別 (ビットマスク用) #define CUST_HS1_MSK_DENSO 0x06 // 伝送種別 (ビットマスク用) #define CUST_HS1_MSK_KAIKEI 0x40 // 会計フラグ (ビットマスク用) #define CUST_HS1_MSK_MAEBARAI 0x80 // 前払いオーダー(ビットマスク用) /////////////////////////////////////////////////////////////////////////////
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.