Em xin nói tổng quan về cái code VB này:
Thứ I: Cập nhật giá trị từ internet xuống và hiện thị ra text box em đã làm xong
Thứ II: Mong anh chị giúp em send số liệu xuống PIC.
Từ đầu cho đến phần Private Sub Form_Load() là phần tách số liệu trên text box và gửi từng ký tự xuống PIC nhưng không gửi xuống được mong anh chị xem và sửa giúp em
Dim V_SJC_M As String
Dim V_SJC_B As String
Dim M_SJC(1 To 4) As String
Dim B_SJC(1 To 4) As String
Dim V_SBC_M As String
Dim V_SBJ_B As String
Dim M_SBJ(1 To 4) As String
Dim B_SBJ(1 To 4) As String
Private Sub SEND_Click()
Timer2.Enabled = True
End Sub
Private Sub Timer1_Timer()
V_SJC_M = txtMua(0)
M_SJC(1) = Mid(V_SJC_M, 1, 1)
M_SJC(2) = Mid(V_SJC_M, 3, 1)
M_SJC(3) = Mid(V_SJC_M, 4, 1)
M_SJC(4) = Mid(V_SJC_M, 5, 1)
V_SJC_B = txtBan(0)
B_SJC(1) = Mid(V_SJC_B, 1, 1)
B_SJC(2) = Mid(V_SJC_B, 3, 1)
B_SJC(3) = Mid(V_SJC_B, 4, 1)
B_SJC(4) = Mid(V_SJC_B, 5, 1)
V_SBJ_M = txtMua(1)
M_SBJ(1) = Mid(V_SBJ_M, 1, 1)
M_SBJ(2) = Mid(V_SBJ_M, 3, 1)
M_SBJ(3) = Mid(V_SBJ_M, 4, 1)
M_SBJ(4) = Mid(V_SBJ_M, 5, 1)
V_SBJ_B = txtBan(1)
B_SBJ(1) = Mid(V_SBJ_B, 1, 1)
B_SBJ(2) = Mid(V_SBJ_B, 3, 1)
B_SBJ(3) = Mid(V_SBJ_B, 4, 1)
B_SBJ(4) = Mid(V_SBJ_B, 5, 1)
Timer1.Enabled = False
End Sub
Private Sub Timer2_Timer()
Timer1.Enabled = True
MSComm1.Output = M_SJC(1)
MSComm1.Output = M_SJC(2)
MSComm1.Output = M_SJC(3)
MSComm1.Output = M_SJC(4)
MSComm1.Output = B_SJC(1)
MSComm1.Output = B_SJC(2)
MSComm1.Output = B_SJC(3)
MSComm1.Output = B_SJC(4)
MSComm1.Output = M_SBJ(1)
MSComm1.Output = M_SBJ(2)
MSComm1.Output = M_SBJ(3)
MSComm1.Output = M_SBJ(4)
MSComm1.Output = B_SBJ(1)
MSComm1.Output = B_SBJ(2)
MSComm1.Output = B_SBJ(3)
MSComm1.Output = B_SBJ(4)
Timer2.Enabled = False
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.sacombank.com.vn/Pages/default.aspx"
WebBrowser2.Navigate "about
:blank"
With MSComm1
.CommPort = 5 'CONG SO 5
.Settings = "9600,N,8,1" ' KHAI BAO TUONG THICH VOI KHAI BAO CUA PIC
.InBufferSize = 1024 ' BO DEM THU CUA MAY TINH 1024
.InputLen = 0 ' 0 -> DOC HET BO DEM THU, 1 -> DOC TUNG KYTU
.OutBufferSize = 512 ' BO DEM PHAT CUA MAYTINH LA 512
.InputMode = comInputModeText
'.PortOpen = True
End With
End Sub
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
Label1.BackColor = &HC0C0&
Label1.Caption = "LOADING
www.sacombank.com.vn ..."
WebBrowser2.Visible = False
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
UPDATEAU
Label1.BackColor = &H8000&
Label1.Caption = "COMPLETED"
WebBrowser2.Visible = True
End Sub
Private Sub UPDATEAU()
Dim s As String: s = WebBrowser1.Document.body.innerhtml
Dim s1 As String: s1 = "DIV id=ctl00_g_a0798536_2182_4f37_be2f_391a4307bc4b_ct l00_UpdatePanel2"
'<div id=ctl00_g_a0798536_2182_4f37_be2f_391a4307bc4b_ct l00_UpdatePanel2"
'<div id=ctl00_g_a0798536_2182_4f37_be2f_391a4307bc4b_ct l00_UpdatePanel1"
If InStr(s, s1) > 0 Then
s = LCase(Right(s, Len(s) - InStr(s, s1) + 1))
Dim s2 As String: s2 = "</table>"
s = Left$(s, InStr(s, s2) + Len(s2))
s = LCase(Right(s, Len(s) - InStr(s, "<div class=capnhatluc>") + 1))
s = Replace(s, "<table>", "<table border=""1"">")
s = s & "</div><br><hr><strong>Application: nguyenminh</strong>"
SplitContents s ', " ", "")
WebBrowser2.Document.Write "<HTML>" & s & "</HTML>"
End If
End Sub
Public Function SplitContents(ByVal s As String)
s = Right(s, Len(s) - InStr(s, "<td class=""current-item text"">") + 1)
txtType(0).Text = SplitString(s, "<td class=""current-item text"">", "</td>")
s = Right(s, Len(s) - InStr(s, vbNewLine) + 1)
s = Right(s, Len(s) - InStr(s, "<td class=""current-item number"">") + 1)
txtMua(0).Text = SplitString(s, "<td class=""current-item number"">", "</td>")
s = Right(s, Len(s) - InStr(s, vbNewLine) + 1)
s = Right(s, Len(s) - InStr(s, "<td class=""current-item number"">") + 1)
txtBan(0).Text = SplitString(s, "<td class=""current-item number"">", "</td>")
's = Right(s, Len(s) - InStr(s, vbNewLine) + 1)
s = Right(s, Len(s) - InStr(s, "<td class=""current-item text"">") + 1)
txtType(1).Text = SplitString(s, "<td class=""current-item text"">", "</td>")
s = Right(s, Len(s) - InStr(s, vbNewLine) + 1)
s = Right(s, Len(s) - InStr(s, "<td class=""current-item number"">") + 1)
txtMua(1).Text = SplitString(s, "<td class=""current-item number"">", "</td>")
s = Right(s, Len(s) - InStr(s, vbNewLine) + 1)
s = Right(s, Len(s) - InStr(s, "<td class=""current-item number"">") + 1)
txtBan(1).Text = SplitString(s, "<td class=""current-item number"">", "</td>")
's = Right(s, Len(s) - InStr(s, vbNewLine) + 1)
End Function
Public Function SplitString(ByVal mainString As String, ByVal BeginString As String, ByVal EndString As String) As String
Dim i_s As Integer: i_s = InStr(mainString, BeginString)
Dim i_e As Integer: i_e = InStr(mainString, EndString)
If i_s <> -1 And i_e <> -1 Then
Dim s As String
s = Mid(mainString, i_s + Len(BeginString), i_e - i_s - Len(BeginString))
SplitString = s
Else SplitString = ""
End If
End Function