VB6イルミネーションプログラムその3
いつもお世話になっています。
テキストボックスに1~255までの数字を入力し、コマンドボタンをクリックしたら、入力した数字を2進数に変換してランプを点灯するというプログラムを考えています。
例えば、テキストボックスに170と入力し、コマンドボタンをクリックしたら以下の様にランプが点灯するプログラムです。
●○●○●○●○
10101010 170の2進数
色々と調べ目的とする動きはするのですが、別の方法として値を引数にして2進数に変換した値でランプを点灯する処理を手続き(サブルーチン)として分離するという処理はどのようにすればよいのでしょうか?
現コードは以下です。(未熟ですので、コメントが見苦しくすみません…)
Private Sub cmd1_Click()
'変数の宣言
Dim Kazu As String
Dim Binary(7) As Integer
Dim Nishin As Integer
Dim Value As String
Dim Index As Integer
'テキストボックスへ入力した文字列を数値型に変換し、格納
Nishin = Val(txtKazu.Text)
'2進数への変換処理
For Index = 0 To 7 Step 1
'Nishinに入力された数値を2で除算し、8ビット分の余りを繰返し求め格納
Binary(Index) = Nishin Mod 2
'Nishinの除算の商を求め、格納
Nishin = Nishin \ 2
Next Index
'各余りを下から順に並べる処理
For Index = 7 To 0 Step -1
'変数Binaryを変数Kazuの型である文字列型へ変換し、連結して格納
Kazu = Kazu & CStr(Binary(Index))
Next Index
'2進数の結果をランプコントロールへ反映
CWBtn(0).Value = Mid(Kazu, 8, 1)
CWBtn(1).Value = Mid(Kazu, 7, 1)
CWBtn(2).Value = Mid(Kazu, 6, 1)
CWBtn(3).Value = Mid(Kazu, 5, 1)
CWBtn(4).Value = Mid(Kazu, 4, 1)
CWBtn(5).Value = Mid(Kazu, 3, 1)
CWBtn(6).Value = Mid(Kazu, 2, 1)
CWBtn(7).Value = Mid(Kazu, 1, 1)
End Sub
サブルーチンって??と思い、サイトや参考書を色々と見たのですが、サンプルコードなどを見ても理解出来ませんでした。
未熟で理解が浅いのですが、役割として「離れた箇所の文の並びを実行し、元の場所に制御を戻す」という様な感じですよね…元の場所で実行せず、わざわざ離れた箇所で実行するメリットもピンときません…
宜しくお願いします。