ビットパターン

<戻る

ここに載せてあるソースコードは、参考のために載せてあります

サンプルコードは、一番下にLZHとしてあります

Lukia.dllが必要です
2001/8/5 - DLLを新しく作りなおし(MFC共有にして軽くなり)ました。
DLLは、LZHファイルに同梱しています。




Option Explicit

'ビットシフトAPIです
Private Declare Function BitShift Lib "lukia.dll" (ByVal lSrc As Long, ByVal lShiftCount As Long, ByVal nOrient As Long) As Long
Private Const BS_LEFT = 0   '左にシフト
Private Const BS_RIGHT = 1  '右にシフト

'ビットシフトの動作確認の
'演算ボタンをクリックしました
Private Sub Command1_Click()
    Dim lSrc        As Long
    Dim lShiftCount As Long
    Dim nOrient     As Long
    Dim lngRlt      As Long
    
    On Error GoTo FAILED
    
    'フォームで入力した値を変数に代入します
    lSrc = CLng(Text1.Text)
    lShiftCount = CLng(Text2.Text)
    
    'オプションの選択により
    'シフトの方向を切り替えます
    If Option1(0).Value = True Then
        nOrient = BS_LEFT
    Else
        nOrient = BS_RIGHT
    End If
    
    'APIを使用して結果を変数に代入します
    lngRlt = BitShift(lSrc, lShiftCount, nOrient)
    
    'テキストボックスに結果を表示します
    Text3.Text = lngRlt
    
    Exit Sub
    
FAILED:
    '入力が正しくないことを伝えます
    MsgBox "整数の数字を入力して下さい。", vbExclamation
    
End Sub

'ビットパターンの
'演算ボタンをクリックしました
Private Sub Command2_Click()
    Dim lSrc    As Long
    
    On Error GoTo FAILED
    
    lSrc = CLng(Text4.Text)
    
    Text5.Text = BitPattern(lSrc)
    
    Exit Sub
    
FAILED:
    MsgBox "整数の数字を入力して下さい。", vbExclamation
    
End Sub

'指定した値のビットパターンを文字列として返します
Function BitPattern(ByVal lSrc As Long) As String
    Dim j       As Long
    Dim strBit  As String
    
    For j = 15 To 0 Step -1
        strBit = BitShift(lSrc, j, BS_RIGHT) And &H1
        BitPattern = BitPattern & strBit
    Next
    
End Function



<戻る

Sample49.lzh


http://www.vector.co.jp/authors/VA015521/