以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  服务端与客户端有什么区别?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88094)

--  作者:kaituozhe
--  发布时间:2016/7/27 7:52:00
--  服务端与客户端有什么区别?
服务端与客户端有什么区别?设计了一款软件,专门用于审计工作的,准备开始使用消息推送等功能,这个软件需要复制两份,一个作为服务端,一个作为客户端吗?
--  作者:Hyphen
--  发布时间:2016/7/27 8:43:00
--  
服务端如果只是做消息服务,没有必要复制之前的项目做。直接使用帮助的服务端例子,改改服务端的事件适合自己的用户登录就可以了

服务端相当于是消息中转站,类似邮局的作用,消息就是信封,客户端就是寄信和收信人

--  作者:kaituozhe
--  发布时间:2016/7/27 14:11:00
--  

我把自己做的软件作为客户端使用,再用帮助中的例子做为服务端就可以了吗?当然可以需要根据情况修改。

这里需要用的包括网络状态下编号。


--  作者:大红袍
--  发布时间:2016/7/27 15:20:00
--  
以下是引用kaituozhe在2016/7/27 14:11:00的发言:

我把自己做的软件作为客户端使用,再用帮助中的例子做为服务端就可以了吗?当然可以需要根据情况修改。

这里需要用的包括网络状态下编号。

 

可以。


--  作者:kaituozhe
--  发布时间:2016/7/27 16:42:00
--  

以下是帮助中的代码,直接把代码复制到相应事件中时提示错误,例子是编写时发生的了错误还是其他原因?错误发生的原因是标黄色的部分。

Public flbhs As New Dictionary(of String,Integer)

2、在服务端的AfterOpenProjet事件中编写代码:

Dim dt As DataTable
Dim cmd As New SQLCo mmand
cmd.Conne ction Name = "数据源名称"
cmd.Comm andText = "Select 类别, Max(编号) As 编号 Fr om {产品} Group By 类别"
dt = cmd.Execut eReader
gcbhs.Clear()
For Each dr As DataRow In dt.DataRows
    Dim qz As String = dr("类别") \'编号前缀
    Dim bh As String =  dr("编号")
    Dim id As Integer
    If bh.Length = 5 Then
        bh = bh.SubString(3)
        If Integer.TryParse(bh,id) Then
            gcbhs.Add(qz, id)
        End If
    End If
Next

上述代码在启动项目后,用SQL语句提取每个类别的最大编号,将其整数部分存储在字典flbhs中。

3、在服务端的OpenQQ服务端事件Receive dMessage中编写代码:

Dim msg As String = e.Message
If msg.StartsWith(":f") AndAlso msg.EndsWith("f:") Then
    msg = msg.SubString(2, msg.Length - 4)
    If pdbhs.Contain sKey(msg) Then \'如果存在这个类别的编号
        pdbhs(msg) = pdbhs(msg) + 1 \'将该类别最大编号加1
    Else
        pdbhs.Add(msg,1) \'如果是这个列表的首次编号,则编号等于1
    End If
    e.ReturnValue = pdbhs(msg) \'将编号返回给客户端
End If


--  作者:大红袍
--  发布时间:2016/7/27 16:58:00
--  

帮助文档编写错误的缘故。

 

统一为一个名字即可。全部改成 flbhs


--  作者:kaituozhe
--  发布时间:2016/7/27 17:13:00
--  
cmd.Comm andText = "Select 类别, Max(编号) As 编号 Fr om {产品} Group By 类别"   这句代码是否只针对多产品表呀,如果其他表也需要自动编号就需要把此表名换为相应的表名?

--  作者:大红袍
--  发布时间:2016/7/27 17:18:00
--  

 做一个编号表,一种编号类型,就添加一行数据,然后把这个表代替帮助文档里的产品表。


--  作者:kaituozhe
--  发布时间:2016/7/27 18:41:00
--  
如果有20张表或更多的表,是否5楼的代码就需要编20个,如果是更多的表就需要更多的代码?
--  作者:大红袍
--  发布时间:2016/7/27 19:26:00
--  
以下是引用kaituozhe在2016/7/27 18:41:00的发言:
如果有20张表或更多的表,是否5楼的代码就需要编20个,如果是更多的表就需要更多的代码?

 

不是叫你做一个编号表了吗?所有的的编号,都在这个表里面记录,一种编号,一行数据。

 

类似

 

http://www.foxtable.com/webhelp/scr/1994.htm