以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- QQClient.Send (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116621) |
-- 作者:zoyong -- 发布时间:2018/3/28 12:37:00 -- QQClient.Send Dim msg As String = p & "项目付款" & "|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "#" & sjtb("_Identify") 代码出错,也不会弹窗和留言,求大神帮忙 完整代码 Dim msg As String = p & "项目付款" & "|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "#" & sjtb("_Identify") For Each bd As QQBuddy In QQClient.Buddies If bd.Online Then QQClient.Send(bd.name, msg) End If Next \'-------------------------------给对方弹窗和留言--------------------------------------- QQClient.SendChatMessage("综合科.周泽顺","{!}项目付款|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "|领款人:" & sjtb("领款人")) |
-- 作者:有点甜 -- 发布时间:2018/3/28 12:55:00 -- 贴出你QQServer和QQClient的ReceivedMessage的代码。 |
-- 作者:zoyong -- 发布时间:2018/3/28 13:17:00 -- QQClient: Dim dr As DataRow = DataTables("QQ信息").AddNew dr("发送者") = iif(e.UserName > "",e.UserName,"服务器") dr("时间") = Date.Now() dr("信息") = e.Message \'-----------------------即时高效同步数据----------------------- Dim mssg As String = e.Message If mssg.StartsWith("U#") Then \'表示修改了某行 Dim pts() As String = mssg.Split("#") If pts.Length = 3 Then Dim ddr As DataRow = DataTables(pts(1)).Find("[_Identify] = " & pts(2)) If ddr IsNot Nothing Then ddr.Load() \'重新加载此行 End If End If ElseIf mssg.StartsWith("A#") Then \'表示增加了行 Dim pts() As String = mssg.Split("#") If pts.Length = 3 Then DataTables(pts(1)).AppendLoad("[_Identify] = " & pts(2)) \'追载新增加的行. End If ElseIf mssg.StartsWith("D#") Then \'表示删除了行 Dim pts() As String = mssg.Split("#") If pts.Length = 3 Then DataTables(pts(1)).RemoveFor("[_Identify] = " & pts(2)) \'移除行 End If End If QQSERVER: If e.Message = "GetDate" Then \'客户端需要获取QQ服务器信息 e.ReturnValue = Date.Now End If \'--------------------保存聊天信息--------------------- Dim dr As DataRow = DataTables("QQ信息").AddNew dr("发送者") = iif(e.UserName > "",e.UserName,"服务器") dr("时间") = Date.Now() dr("信息") = e.Message dr.save \'\'-------------------独占式编辑------------------------ Dim msg As String = e.Message If msg.StartsWith("%i") AndAlso msg.EndsWith("i%") Then \'收到申请信号 msg = msg.SubString(2, msg.Length - 4) Dim id As Integer If Integer.TryParse(msg,id) Then If pdids.ContainsKey(id) Then \'如果有人正在处理此行 e.ReturnValue = pdids(id) \'通知申请人是谁在处理此行 Else e.ReturnValue = "OK" \'通知申请人可以处理此行 pdids.Add(id, e.UserName) \'登记此行的处理者为申请者 End If End If ElseIf msg.StartsWith("@i") AndAlso msg.EndsWith("i@") Then \'收到处理完成信号 msg = msg.SubString(2, msg.Length - 4) Dim id As Integer If Integer.TryParse(msg,id) Then If pdids.ContainsKey(id) Then pdids.Remove(id) \'从字典中移除此行的编辑登记 End If End If End If [此贴子已经被作者于2018/3/28 13:17:56编辑过]
|
-- 作者:zoyong -- 发布时间:2018/3/28 13:20:00 -- 是不是 "#" 这个原因 ,加上主键 QQClient.SendChatMessage("综合科.周泽顺","{!}项目付款|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "|领款人:" & sjtb("领款人") & "#" & sjtb("_Identify")) 加上主键能通知了,但是上面的错误提示还在
[此贴子已经被作者于2018/3/28 13:38:06编辑过]
|
-- 作者:zoyong -- 发布时间:2018/3/28 13:57:00 -- Dim msg As String = p & "项目付款" & "|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "#" & sjtb("_Identify") 这一行改成这样就能用 Dim msg As String = p & "项目付款" & "#" & sjtb("_Identify") 我想记录详细信息 |
-- 作者:有点甜 -- 发布时间:2018/3/28 14:35:00 -- 你代码是不是要改成这样?
Dim msg As String = "项目付款" & "|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "#" & sjtb("_Identify") msgbox(msg) |
-- 作者:zoyong -- 发布时间:2018/3/28 14:59:00 -- 原代码: Dim p As String = IIF(sjtb.DataRow.RowState = DataRowState.Added, "A#", "U#") \'A#为新增,U#为修改 sjtb.Save() \'--------------一定要在保存后合成信息,因为新增行的主键在保存后才生成--------------------------------- If sjtb("工程部审核") IsNot Nothing Then \'判断工程部是否已审核 Dim msg As String = p & "项目付款" & "#" & sjtb("_Identify") ’这个代码可用 Dim msg As String = p & "项目付款" & "|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "#" & sjtb("_Identify") ‘这个代码会出错 For Each bd As QQBuddy In QQClient.Buddies If bd.Online Then QQClient.Send(bd.name, msg) End If Next \'-------------------------------给对方弹窗和留言--------------------------------------- QQClient.SendChatMessage("综合科.周泽顺","{!}项目付款|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "|领款人:" & sjtb("领款人") & "#" & sjtb("_Identify")) 红色代码不可用,绿色代码可用 能不能在这个QQClient.Send(bd.name, msg)在这个地方合成 比如:QQClient.Send(bd.name, msg & msg2)
|
-- 作者:有点甜 -- 发布时间:2018/3/28 15:23:00 -- 改成
Dim msg As String = "项目付款" & "|编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") & "#" & sjtb("_Identify") |
-- 作者:zoyong -- 发布时间:2018/3/28 15:45:00 -- 这样改是能用,但是不会标记前面的符号是修改还是增加 \'A#为新增,U#为修改 |
-- 作者:有点甜 -- 发布时间:2018/3/28 15:59:00 -- 那就改成
Dim msg As String = p & "项目付款#" & sjtb("_Identify") & "#编号:" & sjtb("编号") & "|项目名称:" & sjtb("项目名称") |