作者medoc (街角的子供達 )
看板Visual_Basic
標題Re: [VB6 ] 比對字串中0與1的位置
時間Wed Apr 23 23:54:52 2008
小弟修改程式碼
將做法改為使用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
→ MOONRAKER:mscomm.input讀出來是1101 而不是13這樣的十進位數字? 04/24 02:06
→ medoc:對 他送出來的是00000000這樣子 04/24 10:39
→ MOONRAKER:那我看別忙了 XD 這樣字串比對絕對比bitmask更簡單 04/24 17:57
→ MOONRAKER:因為你若想用bitmask,就要先把字串拆開,然後把各個位 04/24 17:58
→ MOONRAKER:數乘上權數再加起來,最後再mask,都是要拆字串 04/24 17:58