[三流君] −−> [ASPで遊ぶ、失敗する] −−> [バックナンバー一覧]
−−> No.055 And演算子を使う

And演算子を使う



本文(発行内容)


<And演算子を使う>

こんにちは、三流プログラマーのKen3です。 今回は、 読者から軽くメールもらったので、 ネタにしてみます。 拾い読みして、何かの参考となれば幸いです。

/* * 1.今回のキッカケ */

In message "re:[ASPで遊ぶ No.052] - キャラクタコード....", > 二年目プログラマーの西 ***です。 >> nCODE = Asc(Mid(strMOJI, n, 1)) 'n番目の文字コードを求める >> If nCODE >= 0 And nCODE <= 255 Then 'コードが1バイト文字内か? > > 三流だとAnd演算子も知らない?ありえねぇ〜 --- なんて、いつものクレーム?メールをいただきました。 本名でクレーム書いて来るって、潔いよね。 (実は本名じゃなかったりして、、、  西多摩雄とかニシタマオだったら相手にしないんだけど) そんな関係ない話は置いといて、

/* * 2.問題のコードとAnd演算子の使い方 */

'文字列を受け取り、バイト数を返す
Function Byte_Count(strMOJI)
  bcnt = 0
  '文字数分ループして、コードを表示
  For n = 1 To Len(strMOJI)
    nCODE = Asc(Mid(strMOJI, n, 1))  'n番目の文字コードを求める
    If nCODE >= 0 And nCODE <= 255 Then  'コードが1バイト文字内か?
      bcnt = bcnt + 1
    Else
      bcnt = bcnt + 2
    End If
  Next
  'リターン値をセットする
  Byte_Count = bcnt
End Function
指摘場所は、バイト数を計算している関数内の nCODE = Asc(Mid(strMOJI, n, 1)) 'n番目の文字コードを求める If nCODE >= 0 And nCODE <= 255 Then 'コードが1バイト文字内か? bcnt = bcnt + 1 Else bcnt = bcnt + 2 End If の場所ですね。 まぁ、 If nCODE >= 0 And nCODE <= 255 Then 'コードが1バイト文字内か? でも、動いているのですが、たぶん美的意識、美観的に良くない、 nCODE And &HFF00 とAnd演算子を使用してマスクしろって感じなんだろうなぁ。 えっ、Andって演算子だったの? そうですよ?知らなかった? nCODE >= 0 And nCODE <= 255 をわかり易くするために、まず()を付けます、 (nCODE >= 0) And (nCODE <= 255) (True) And (True) みたいに、演算してるんですね(論理演算だけど) And &hFF00とすることで、 上のビットを残し、下のビットを消すなんてことが出来るんですね。 If nCODE >= 0 And nCODE <= 255 Then 'コードが1バイト文字内か? を If (nCODE And &HFF00) = 0 Then 'コードは1バイトか? *asp055 みたいに書くことができます。 0以上で255(含む)より下か?とIf文を作成して、 1バイトか?判断するのもありだし、 FF00でAndして、判断するのもひとつの手なんですよ。 今回は、好みの問題ってことであまり実害は無いけど、 And演算子、頭のスミに入れて置いてください。 http://www.ken3.org/cgi-bin/test/test055-1.asp?DATA=Ken3%82%CD%8EO%97%AC で、And &HFF00バージョンの確認ができます。 ※同じく動作することを確認してみてください。

/* * 3.終わりの挨拶 </HTML> */

今回は、 And演算子の簡単な説明でした。 最近、ビット演算、、する機会、、、無いなぁとフト思いました。 ASP、VBScript勉強中の三流プログラマーのKen3でした。


ページフッター

ここまで、読んでいただきどうもです。目的の情報が見つかったか?少々心配しつつ、、、

三流君へ メッセージを送る

感想や質問・要望・苦情など 三流君へメッセージを送る。
返信例 XXXXさんへ
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)

種類別のリンク や 広告など

[三流君(TOP ken3.org へ戻る)] / [ASPで遊ぶ、失敗する] / [ASP記事 バックナンバー目次]


Blogとリンク:[三流君のMemo別館]/ [ASP 三流君のソースコード置き場]/ [Ken3Video YouTubeで動画解説]
広告:

気になった ジャンル ↓を選択してください。

まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。

次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません

広告:



DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く

VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。



[三流君(TOP ken3.org へ戻る)] / [ASPで遊ぶ、失敗する] / [ASP記事 バックナンバー目次]


広告: