- PR -

16進数のAND値の取得について

投稿者投稿内容
takuman
常連さん
会議室デビュー日: 2006/03/03
投稿数: 33
お住まい・勤務地: 神戸
投稿日時: 2007-07-30 19:15
今後は、Database Expert 会議室に
同様の質問を投げさせていただきます。
TAD
ベテラン
会議室デビュー日: 2007/03/20
投稿数: 52
お住まい・勤務地: 海のそば
投稿日時: 2007-07-30 23:16
引用:
それいつの時代のVBの話だよw

まぁ確かにいまだにVB6使ってるけど(^^;

どの辺が化石?
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-07-31 01:42
引用:

TADさんの書き込み (2007-07-30 23:16) より:
まぁ確かにいまだにVB6使ってるけど(^^;

どの辺が化石?


ああ通じてなかったんだ。
いや質問者がさ。

引用:

takumanさんの書き込み (2007-07-30 16:16) より:
こんにちは

16進数のAND値を取得する方法をvb.netで実現するには
どうすればいいのでしょうか?

すごく初歩的なご質問かもしれませんが
よろしくお願いします。


>vb.netで実現するには
>vb.netで実現するには
>vb.netで実現するには

ってかいてあったから気になったんだよねぇ。
TAD
ベテラン
会議室デビュー日: 2007/03/20
投稿数: 52
お住まい・勤務地: 海のそば
投稿日時: 2007-07-31 06:58
ぶさいくろうさん
引用:
ああ通じてなかったんだ。

私のを全文引用してひとこと突っ込みが入っているだけじゃ、それがスレ主への
コメントだと理解するのはかなり難易度高いと思う。

それはそれとして。
引用:
>vb.netで実現するには
>vb.netで実現するには
>vb.netで実現するには

ってかいてあったから気になったんだよねぇ。

他人の台所事情に鼻を突っ込むのも野暮な気もするけど、過去にできた物を改造しなきゃ
ならない時とかもあるから、某COBOLとかならともかくも数年前の環境なら十分アリじゃない?
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2007-07-31 09:33
引用:

TADさんの書き込み (2007-07-31 06:58) より:
ぶさいくろうさん
引用:
ああ通じてなかったんだ。

私のを全文引用してひとこと突っ込みが入っているだけじゃ、それがスレ主への
コメントだと理解するのはかなり難易度高いと思う。



スレ主へのコメントではなく、TADさんへのコメントでは?

スレ主がVB.NETについての質問をされていますが、それに対して
"VB6では"と断りを入れずに、

> IF文の条件式は数値型を与えると0はfalse, 0以外はtrueとして評価しますから
> コード:
> ----------------------------------------------------------------------------
>
> If &hFF And &h40 Then

と書かれていることへの指摘だと思います。
VB.NETでOption Strict On指定の環境ではこのレガシーなやり方はコンパイルエラーになります。
その点も踏まえた上で、
・VB6以前ではこういう書き方もできるよ
ということを
・でも、VB.NETではあまり推奨されない
・C#やJavaではこういう書き方は禁止されている
(明示的にbool型へのキャストが必要)
などの周辺知識を含めて配慮いただくとよりよいかと思います。

#ただ、VB6以前でも「If &hFF And &h40 Then」という書き方は
#保守性を考えるとお勧めできない書き方ですね。
#もう一つ条件を加えようとするとこの書き方はできません。
#無用なバグを生みます。

#例) If (&hFF And &h40) And (A And &h20) Then ' Aは変数。VB6でのコードです。
#同じ発想で保守担当者がAndでさらに条件を追加した場合、
#変数Aの値により予期しない結果になります。A=&H20だと・・・


[ メッセージ編集済み 編集者: よねKEN 編集日時 2007-07-31 09:45 ]
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-07-31 09:49
引用:

TADさんの書き込み (2007-07-31 06:58) より:
私のを全文引用してひとこと突っ込みが入っているだけじゃ、それがスレ主への
コメントだと理解するのはかなり難易度高いと思う。


いや君への突っ込みだよ。
はっきり書いたつもりだったのでここまであさっての返信がくるとは思わなかった。
よもや俺へ勘違い指摘とはね・・・

引用:

他人の台所事情に鼻を突っ込むのも野暮な気もするけど、過去にできた物を改造しなきゃ
ならない時とかもあるから、某COBOLとかならともかくも数年前の環境なら十分アリじゃない?


だからこの突っ込みは「おかど違い」だからね。
よねKEN氏の投稿とも合わせてみればもうそろそろわかるかなー???^^

[ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2007-07-31 09:56 ]
TAD
ベテラン
会議室デビュー日: 2007/03/20
投稿数: 52
お住まい・勤務地: 海のそば
投稿日時: 2007-07-31 10:11
引用:
よねKEN氏の投稿とも合わせてみれば


あ、それでよ〜くわかりましたです。はい。

#ぶさいくろうさんの投稿スタイルについてくにはまだまだ諸々レベルが足らんな>ヲレ
takuman
常連さん
会議室デビュー日: 2006/03/03
投稿数: 33
お住まい・勤務地: 神戸
投稿日時: 2007-07-31 11:37
スレッドの主です。

SQLで対応と前に書きましたがVB.netでの対応も必要な
箇所が出てきました。

dim astatus as string
このうち3バイト目から2バイトに
'FF'とかといった値が入っており、
この値と&h40とのAND値を比較しないとならないのです。

この場合、下記の表現はどう変わりますか?
16進数表記の2バイト文字列を本来の1バイトの値に変換しないと
いけないと思いますが・・・

If &hFF And &h40 Then
'成功
Else
'失敗
End If

スキルアップ/キャリアアップ(JOB@IT)