[VB6 ] 比對字串中0與1的位置

看板Visual_Basic作者 (街角的子供達 )時間16年前 (2008/04/23 01:34), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/2 (看更多)
小弟現在做了一個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

04/23 02:29, , 1F
試試看val(mscomm1.input)怎麼樣?
04/23 02:29, 1F

04/23 09:06, , 2F
似乎是不行.....(淚)
04/23 09:06, 2F

04/23 12:42, , 3F
MSComm1.Input=0 and mask(i)=0 是這樣嗎?
04/23 12:42, 3F
※ 編輯: medoc 來自: 218.167.161.212 (04/23 23:49)
文章代碼(AID): #183Y6-jV (Visual_Basic)
文章代碼(AID): #183Y6-jV (Visual_Basic)