以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]利用代码向选择的接收人发送信息  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107914)

--  作者:天一生水
--  发布时间:2017/10/12 13:51:00
--  [求助]利用代码向选择的接收人发送信息

第一种方式不知道对不对;第二种方式只写了复选列表框的部分代码。请老师指教:

 

1、按照窗口表的列值发送信息:


Dim Arys As List(Of String()) = DataTables("计划安排").GetValues("工作组|作者", Tables("计划安排").filter)    \'获取不重复列值
For Each Ary As String() In Arys
QQClient.Send(Ary(0) & "." & Ary(1),e.Form.Controls("TextBox1").text,True)   \'可离线发送
Next

 

2、按照复选列表框勾选的值发送信息:
复选列表框AfterLoad----取所有用户组.用户名,Message显示正确,但列表框显示不对,按钮代码不会写
For Each us As UserInfo In Users
    \'MessageBox.Show(us.Group &"."& us.Name)
    Dim cmb As WinForm.CheckedComboBox
    cmb = Forms("窗口1").Controls("CheckedComboBox1")
    cmb.ComboList = us.Group &"."& us.Name
  
Next

  


图片点击可在新窗口打开查看此主题相关图片如下:image 1.jpg
图片点击可在新窗口打开查看

附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:选择发送.table


--  作者:有点甜
--  发布时间:2017/10/12 14:10:00
--  

1、正确

 

2、

 

dim ary() As String = e.Form.Controls("CheckedComboBox1").text.split(",")
For Each s As String In Ary
    msgbox(s)
    QQClient.Send(s,e.Form.Controls("TextBox1").text,True)   \'可离线发送
Next

 

------------------

 

For Each us As UserInfo In Users
    \'MessageBox.Show(us.Group &"."& us.Name)
    Dim cmb As WinForm.CheckedComboBox
    cmb = Forms("窗口1").Controls("CheckedComboBox1")
    cmb.items.add(us.Group &"."& us.Name)
Next


--  作者:天一生水
--  发布时间:2017/10/15 12:17:00
--  

因为获取的us.Group &"."& us.Name字数太多,不容易查找勾选,所以,假如我在列表框获取的值“s”是UserName,怎样把string格式转变为UserInfo?

 

Dim ary() As String = e.Form.Controls("CheckedListBox1").Value.split(",")   \'复选列表框
For Each s As String In Ary
    msgbox(s)
    \'For Each  s As UserInfo In Users    


        QQClient.Send(s.Group &"."& s.Name,e.Form.Controls("TextBox1").text,True)   \'可离线发送

Next

[此贴子已经被作者于2017/10/15 12:17:54编辑过]

--  作者:有点甜
--  发布时间:2017/10/15 14:23:00
--  

1、你要防止不同group下有同名username。

 

2、你要根据username在users里面查找对应的值,如

 

Dim ary() As String = e.Form.Controls("CheckedListBox1").Value.split(",")   \'复选列表框
For Each s As String In Ary
    msgbox(s)
    For Each u As UserInfo In Users
        If s = u.Name Then
            QQClient.Send(u.Group & "." & u.Name,e.Form.Controls("TextBox1").text,True)   \'可离线发送
        End If
    Next
Next