作者medoc (街角的子供达 )
看板Visual_Basic
标题[VB6 ] 比对字串中0与1的位置
时间Wed Apr 23 01:34:53 2008
小弟现在做了一个VB6的程式
利用遮罩的方式
要去比对一个由8051传回来的字串(00000000 这样子的格式)
然後相对应的位置假使是1 就亮灯(00010000 那就是第四颗灯亮 其他不亮)
阵列问题已经解决的
但现在问题出在我在比对的时候
他跟我说型态不符
以下为程式码
Option Explicit
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.RTSEnable = True
End Sub
Private Sub cndSend_Click()
If Not MSComm1.PortOpen = True Then MSComm1.PortOpen = True
MSComm1.Output = "b"
Timer1.Interval = 500
Timer1.Enabled = True
End Sub
Private Sub cmdClose_Click()
MSComm1.PortOpen = False
End Sub
Private Sub Timer1_Timer()
txtResponse.Text = MSComm1.Input
Dim i As Integer
Dim j As Integer
Dim mask(0 To 7)
mask(i) = Array(&H1, &H2, &H4, &H8, &H10, &H20, &H40, &H80)
For i = 0 To 7 Step 1
If ((MSComm1.Input And mask(i)) = 0) Then // 程式说此行型态不符
Shape1(i-1).FillStyle = 1
Else
Shape1(i-1).FillStyle = 0
End If
Next j
Next i
Timer1.Enabled = False
End Sub
恳请大家赐教
或者有其他更好的方式可以比对这字串
请指导我
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.167.171.177
1F:→ MOONRAKER:试试看val(mscomm1.input)怎麽样? 04/23 02:29
2F:→ medoc:似乎是不行.....(泪) 04/23 09:06
3F:推 ClubT:MSComm1.Input=0 and mask(i)=0 是这样吗? 04/23 12:42
※ 编辑: medoc 来自: 218.167.161.212 (04/23 23:49)