看板 Visual_Basic 關於我們 聯絡資訊
小弟現在做了一個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
MOONRAKER:試試看val(mscomm1.input)怎麼樣? 04/23 02:29
medoc:似乎是不行.....(淚) 04/23 09:06
ClubT:MSComm1.Input=0 and mask(i)=0 是這樣嗎? 04/23 12:42
※ 編輯: medoc 來自: 218.167.161.212 (04/23 23:49)