Foxtable(狐表)用户栏目专家坐堂 → 请教串口问题


  共有4752人关注过本帖树形打印复制链接

主题:请教串口问题

帅哥哟,离线,有人找我吗?
chenjiu6202
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
请教串口问题  发帖心情 Post By:2013/11/26 23:48:00 [显示全部帖子]

下面这段代码的功能是电话号码1占线,自动拨打电话2,请大家帮忙看一下错在那里了

Dim kj As String = e.sender.name
Dim dr As DataRow
dr = DataTables("人员表").Find("控件名称 = '"& kj &"'")
If dr IsNot Nothing Then
Dim dh1 As String = dr("电话号码1")
Dim dh2 As String = dr("电话号码2")

Ports("COM1").Open()
Ports("COM1").Write("ATD+'"& dh1 &"'" & vbCrLf)
If instr(1,buffer , "BUSY", vbTextCompare) Then
Buffer = ""
Ports("COM1").Write("ATD+'"& dh2 &"'" & vbCrLf)
End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 9:21:00 [显示全部帖子]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 9:22:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:`25blpycb3{z7(qsnj`ggp.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 9:23:00 [显示全部帖子]

请帮我改改代码


 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 10:05:00 [显示全部帖子]

dim buffer as string

Dim kj As String = e.sender.name
Dim dr As DataRow
dr = DataTables("人员表").Find("控件名称 = '"& kj &"'")
If dr IsNot Nothing Then
Dim dh1 As String = dr("电话号码1")
Dim dh2 As String = dr("电话号码2")

Ports("COM1").Open()
Ports("COM1").Write("ATD+'"& dh1 &"'" & vbCrLf)
If instr(1,buffer , "BUSY", vbTextCompare) Then
Buffer = ""
Ports("COM1").Write("ATD+'"& dh2 &"'" & vbCrLf)
End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 10:06:00 [显示全部帖子]

这样改了之后,虽然不报错,但他只能拨通第一个电话,无法跳转来拨通第二个电话


 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 10:31:00 [显示全部帖子]

Dim kj As String = e.sender.name
Dim dr As DataRow
Static Buff As String = "busy"
dr = DataTables("人员表").Find("控件名称 = '"& kj &"'")
If dr IsNot Nothing Then
    Dim dh1 As String = dr("电话号码1")
    Dim dh2 As String = dr("电话号码2")
   
    Ports("COM1").Open()
    Ports("COM1").Write("ATD+'"& dh1 &"'" & vbCrLf)
    If instr(buff , "BUSY") = 1 Then

        Buff = ""
        Ports("COM1").Write("ATD+'"& dh2 &"'" & vbCrLf)
    End If
End If

代码改成这个也不管用啊


 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/27 14:00:00 [显示全部帖子]

Dim Buff As String = "OK"
Dim s As String
dr = DataTables("人员表").Find("控件名称 = '"& kj &"'")
If dr IsNot Nothing Then
    Dim dh1 As String = dr("电话号码1")
    Dim dh2 As String = dr("电话号码2")
   
    Ports("COM1").Open()
    Ports("COM1").Write("ATD+'"& dh1 &"'" & vbCrLf)
s = Ports("COM1").ReadExisting()
Forms("准东线").Controls("Label3").Text = s

 

    If s="ok" Then
Ports("COM1").Write("ATH0" & vbCrLf)

        Buff = ""
        Ports("COM1").Write("ATD+'"& dh2 &"'" & vbCrLf)
    End If

电话号码1正常能拨通,S也显示等于“ok”,但是还是不能拨通电话号码2,真搞糊涂哦

 回到顶部
帅哥哟,离线,有人找我吗?
chenjiu6202
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/11/28 10:05:00 [显示全部帖子]

1   Dim kj As String = e.sender.name
2   Dim dr As DataRow
3   Dim s As String
4   dr = DataTables("人员表").Find("控件名称 = '"& kj &"'")
5   If dr IsNot Nothing Then
6   Dim dh1 As String = dr("电话号码1")
7   Dim dh2 As String = dr("电话号码2")
   
8    Ports("COM1").Open()
9    Ports("COM1").Write("ATD+'"& dh1 &"'" & vbCrLf)
10    s = Ports("COM1").ReadExisting()
11    Forms("准东线").Controls("Label3").Text = s
12   MessageBox.Show(s)
13    Ports("COM1").Write("ATH0" & vbCrLf)
14    MessageBox.Show(s)
    If s="ok" Then 

MessageBox.Show(s="ok")

        Ports("COM1").Write("ATD+'"& dh2 &"'" & vbCrLf)
    End If
End If

 

只能执行到第14句,前面全部正确,s="ok",从第15句开始不执行


 回到顶部