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

看板Visual_Basic作者 (街角的子供達 )時間17年前 (2008/04/23 23:54), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串2/2 (看更多)
小弟修改程式碼 將做法改為使用Mid(string,x,y) x是第幾位元 y是取幾位 可以達到當初要求 但...還是想知道是否有辦法使用遮罩的方式完成比對工作 以下為修改後可執行之程式碼 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 For i = 1 To 8 Step If (Mid(txtResponse.Text,i,1) = 1) Then Shape1(i-1).FillStyle = 1 Else Shape1(i-1).FillStyle = 0 End If Next i Timer1.Enabled = False End Sub 懇請大家賜教 或者有其他更好的方式可以比對這字串 請指導我 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.161.212

04/24 02:06, , 1F
mscomm.input讀出來是1101 而不是13這樣的十進位數字?
04/24 02:06, 1F

04/24 10:39, , 2F
對 他送出來的是00000000這樣子
04/24 10:39, 2F

04/24 17:57, , 3F
那我看別忙了 XD 這樣字串比對絕對比bitmask更簡單
04/24 17:57, 3F

04/24 17:58, , 4F
因為你若想用bitmask,就要先把字串拆開,然後把各個位
04/24 17:58, 4F

04/24 17:58, , 5F
數乘上權數再加起來,最後再mask,都是要拆字串
04/24 17:58, 5F
文章代碼(AID): #183rlDAq (Visual_Basic)
文章代碼(AID): #183rlDAq (Visual_Basic)