以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自定义信息提示窗口 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85479) |
-- 作者:elfing -- 发布时间:2016/5/26 16:35:00 -- [求助]自定义信息提示窗口 qq发送消息正常,使用qqclient发生弹窗也没有问题,全程按照帮助设置代码,但是审核者无法弹出提示窗口,不知道问题出在哪里,请指教 1.全局代码 Public fhs As New List(of String) 2.窗口保存按钮 Dim r As Row = Tables("生产计划").Current Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#") r.Save() Dim msg As String = p & "生产计划" & "#" & r("_Identify") For Each bd As QQBuddy In QQClient.Buddies If bd.Online Then QQClient.Send(bd.name, msg) End If Next QQClient.Send("管理员","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name) 3.表格审核列 Dim r As Row = Tables("生产计划").Current r.Save() QQClient.Send("开发者","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name) 4.OpenQQ客户端的MessageReceived事件 Dim ptls() As String = e.Message.Split("|") If ptls.Length = 4 AndAlso ptls(0) = "+@" \'如果是申请审核消息 fhs.Add(ptls(1) & "|" & ptls(2) & "|" & ptls(3)) \'将主健?单号和制单人合成为一个字符串存储在集合中 ElseIf ptls.Length = 3 AndAlso ptls(0) = "-@" \'如果是审核通过消息 PopMessage("生产订单" & ptls(1) & "已由" & ptls(2) & "审核通过!") Dim dr As DataRow = DataTables("生产计划").Find("单号 = \'" & ptls(1) & "\'") If dr IsNot Nothing Then dr.Load End If End If 5.新建窗口“审核申请”,查看按钮设置为 DataTables("生产计划").Save() \'接下来要根据主键查找,必须先保存,因为只有保存后新增行的主键才是有效值. Dim id As String = e.Form.Controls("Label2").Text Dim dr As DataRow = DataTables("生产计划").Find("[_Identify] = " & id) If dr Is Nothing Then DataTables("生产计划").AppendLoad("[_Identify] = " & id) dr = DataTables("生产计划").Find("[_Identify] = " & id) Else dr.Load() End If If dr IsNot Nothing Then Dim wz As Integer = Tables("生产计划").FindRow(dr) If wz < 0 Then \'如果因为筛选导致此送货单不可见 Tables("生产计划").Filter = "" wz =Tables("生产计划").FindRow(dr) End If If wz >= 0 Then Tables("生产计划").Position = wz Forms("生产计划").Open() End If End If e.Form.Close() 6.SystemIdle If fhs.Count > 0 AndAlso Forms("审核申请").Opened = False Then Dim ptls() As String = fhs(0).Split("|") fhs.RemoveAt(0) With Forms("审核申请") .Open() .Controls("Label1").Text = ptls(2) & "新增生产订单" & ptls(1) & ",请审核!" .Controls("Label2").Text = ptls(0) \'将发货单主健设置为Label2的标题 End With End If |
-- 作者:大红袍 -- 发布时间:2016/5/26 16:52:00 -- ReceivedMessage 加入msgbox,看是否触发事件代码。
其余各个事件,也加入msgbox弹出值看看是否正确。 |
-- 作者:elfing -- 发布时间:2016/5/26 18:27:00 -- systemIdle和receivemessage均无法触发 |
-- 作者:大红袍 -- 发布时间:2016/5/26 20:09:00 -- 要理解这句代码
QQClient.Send("管理员","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name)
红色那里,必须是你的好友,才能给他发信息,而且一般是 生产部.张三 这样的。 |
-- 作者:elfing -- 发布时间:2016/5/26 20:26:00 -- 默认所有员工互为好友,尝试过使用上述的XXX.管理员的名字没有反应,编辑保存按钮为以下三行,只有测试1的信息被收到并弹出窗口 QQClient.Send("管理员","+@|" & r("_Identify") & "|" & r("单号") & "|" & User.Name,True) QQClient.SendChatMessage("管理员","{!}测试1") QQClient.Send("管理员","{!}测试2")
|
-- 作者:大红袍 -- 发布时间:2016/5/26 20:39:00 -- 换一个好友发送测试。 |
-- 作者:大红袍 -- 发布时间:2016/5/26 20:40:00 -- 发送不成功,肯定是用户名没有设置对,或者是之间不是好友。 |