
誰能幫我解答下,把600 這個 1001011000 置放到下面的D9-D0十位里面聯系。
checkbox3 D 9 true 為1, false 為 0
‘......................’’
希望大家賜教思路
uj5u.com熱心網友回復:
Private Sub Command1_Click()
test 600
End Sub
Public Sub test(ByVal a As Integer)
Dim iC As Integer, iD As Integer
Dim i As Integer
Do
iC = Int(a / 2)
iD = a - iC * 2
Debug.Print i, iD
'到了這里,已經把bit位和值分離出來了,接下來就是填chechkbox
'如果你用vb控制元件陣列,那么就是
CheckBox(i).Value = iD
'如果你用的是vb.net,可以把控制元件塞到集合里,然后利用集合的index把相應的控制元件取出來賦值。
'當然,你要用case或者一堆if 填進去也是可以的,反正數量不多,拷貝拷貝即可。
i = i + 1
a = iC
Loop While iC > 0
End Sub
uj5u.com熱心網友回復:
Dim iC As Integer, iD As Integer
Dim i As Integer
X = 600
Do
iC = Int(X / 2)
iD = X - iC * 2
Debug.Print(i, iD)
CheckBox3.Checked = iD
CheckBox4.Checked = iD
CheckBox5.Checked = iD
CheckBox6.Checked = iD
CheckBox7.Checked = iD
CheckBox8.Checked = iD
CheckBox9.Checked = iD
CheckBox10.Checked = iD
CheckBox11.Checked = iD
CheckBox12.Checked = iD
i = i + 1
X = iC
Loop While iC > 0
看看,我這樣寫,好像不行
uj5u.com熱心網友回復:
我用的是VB.netuj5u.com熱心網友回復:
每次回圈取一位,你一次性全賦值當然錯啦。根據i的值確定哪個checkbox,然后再根據iD賦值uj5u.com熱心網友回復:
On Error GoTo Err
Dim iC As Integer, iD As Integer
Dim i As Integer = 0
X = Val(TextBox4.Text)
If X > 1023 Then
Err: MessageBox.Show("超出范圍,請重新輸入!", "串口通信錯誤", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
Do
iC = Int(X / 2) '2整數倍 IC 為0
iD = X - iC * 2 '
'Debug.Print(i, iD)
'Next
i = i + 1
If i = 1 Then CheckBox12.Checked = iD
If i = 2 Then CheckBox11.Checked = iD
If i = 3 Then CheckBox10.Checked = iD
If i = 4 Then CheckBox9.Checked = iD
If i = 5 Then CheckBox8.Checked = iD
If i = 6 Then CheckBox7.Checked = iD
If i = 7 Then CheckBox6.Checked = iD
If i = 8 Then CheckBox5.Checked = iD
If i = 9 Then CheckBox4.Checked = iD
If i = 10 Then CheckBox3.Checked = iD
'i = i + 1
X = iC
Loop While iC > 0
我已經成功了。

在文本框,輸入數字,每次我輸入一個數字,游標就跑到左邊了。我希望游標以后在右邊,如圖。我還會繼續寫537
uj5u.com熱心網友回復:
感覺效果不太好,我會在textbox4.text 里面輸入的是一個變數。 輸入什么值,下面的D9-D0 就會對應二進制。
感覺這個回圈跑的不太好,我要是輸入一個新的值呢
uj5u.com熱心網友回復:
每次輸入一個新值不就是出來新的結果,回圈跑是CPU在跑又不是你跑,你心疼CPU干啥uj5u.com熱心網友回復:
我輸入12 , 還沒輸入完,游標就跑到左邊去了。我想讓游標在后面等我,我也可能輸入的是123 呢uj5u.com熱心網友回復:
是你自己在文本框的change事件里面干了什么吧,猜過去你也是想輸入數字啥都不干自動立即馬上出結果,這種操作一般是在輸入位數固定的情況下,比如檢測到輸入兩位了就開始操作輸入一位就不做任何處理。
像你這樣輸入位數不確定的需求,就應該等輸入完成以后再由操作者給出一個輸入完成的標志,比如點擊一個按鈕,猛擊了一下回車,或者按tab啥的使文本框失去焦點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/57443.html
標籤:VB基礎類
上一篇:VB液位流動的控制元件
下一篇:主機端輸入到客戶端的問題
