<Not演算子で細工する、プログラムはパズルのように...>
こんにちは、三流プログラマーKen3です。 今回は、 Not演算子を使って細工する方法を書きます。 少し本題へ行く前置きが長いけど、 最後まで読んでもらえるとなんとなく、書きたかったことがわかると思います。/* * 1.今回のキッカケ */
ASP系のメルマガで、StrConvが使えなかったので、 文字数のカウント処理を自作で作って遊んでました。 そのコードに対して、下記のメールをもらいました。 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 |
Private Sub ページヘッダー_Format(Cancel As Integer, FormatCount As Integer) pFLG = False '印刷してないに設定する End Sub |
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If (Me![cntA] Mod 3) = 1 Then '左端なら If pFLG = False Then 'まだラベルエリアを印刷してなかったら Me.NextRecord = False 'レコードの移動をまず止める pFLG = True '印刷フラグを立てる 'ここにラベルのOn/Off処理を入れる Me![lab01].Visible = True Me![lab02].Visible = True '実データをOff Me![ID].Visible = False Me![WrietTime].Visible = False Me![F_TITLE].Visible = False Me![F_MEMO].Visible = False Else 'ここにラベルのOn/Off処理を入れる Me![lab01].Visible = False Me![lab02].Visible = False '実データをOff Me![ID].Visible = True Me![WrietTime].Visible = True Me![F_TITLE].Visible = True Me![F_MEMO].Visible = True End If Else pFLG = False 'その他の時 End If End Sub |
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If (Me![cntA] Mod 3) = 1 Then '左端なら 'フラグを使用して可視/不可視をセットする Me![lab01].Visible = Not pFLG 'ラベルはフラグの逆をセット Me![lab02].Visible = Not pFLG '実データ Me![ID].Visible = pFLG '実データにはフラグそのままセット Me![WrietTime].Visible = pFLG Me![F_TITLE].Visible = pFLG Me![F_MEMO].Visible = pFLG If pFLG = False Then 'まだラベルエリアを印刷してなかったら Me.NextRecord = False 'レコードの移動をまず止める pFLG = True '印刷フラグを立てる End If Else pFLG = False 'その他の時 End If End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]