荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: tianck (等待的心,你懂吗?), 信区: NetResource
标  题: [Newsoft]STerm 2509.............[转载]
发信站: 荔园晨风BBS站 (Thu May 15 19:49:04 2003), 转信

【 以下文字转载自 Newsoftware 讨论区 】
【 原文由 tianck 所发表 】

呵呵~贴个地址:P

ftp://192.168.11.3/software/网络工具/BBS/STerm/STerm2509.rar


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

FAQ:

Q: 消息来了没反应?图标不闪烁,笑脸不闪烁?

A: 确认:

   1、BBS上的个人设置打开了收到消息发声

   2、当前Session连接设置为BBS

   如果不行

   3、在系统设置中选择系统控制脚本,就用STerm带的control.vbs

   如果还不行

   4、就找一个别人改好的control.vbs

   找不到?动手改改control.vbs吧,见最下面的说明





Q: BBS无法支持鼠标?

A: 修改设置中的终端类型为BBS。



Q: 无法通过拖动屏幕改变字体大小?

A: 更改字体,改为宋体等就可以了。



其他可以参考S-Term内的英文帮助。









消息判断:

关于消息的判断,首先判断连接类型是不是BBS

然后判断这次主机送来的发声的次数,

如果大于3,应该是聊天请求,设置STerm的消息状态为STERM_STATE_TALK

如果为0,没有任何请求

否则,如果能在屏幕顶端检测出消息,那么就是STERM_STATE_MSG,如果不能,就是
STERM_STATE_UNKNOWN

这里检测消息用control.vbs最后的Function RegExpMatch(patrn, strng),检测第一行中
有没有

如(Apr 4 2002 19:20:00):或者(19:20):的字符串,用正则表达式\(([A|Z]|[a-z]|[0-9]|
|:)*\)定义,如果在你的bbs上检测不到消息,看看这里是不是有问题?

如果检测到表达式,RegExpMatch(patrn, strng)的返回值高字节为检测到的第一个位置,
低字节为匹配长度

如果检测不到,返回0



Sub STerm_OnDataCome(ByVal ID)
    Dim obj
    Dim strLine
    Dim nType
    Dim r
    Dim regEx, Match, Matches
    Dim nIdLength, nTimeLength
    Dim strID, strTime, strMsg
    Dim i, nScreenHeight

    Set obj = STermControlScript.GetWindowObj(ID)

    If (obj.nConnectionType = STERM_CONNECTION_BBS) Then
        If obj.nMaxBeepCount > 3 Then
            obj.nMsgState = STERM_STATE_TALK
            ElseIf obj.nMaxBeepCount > 0 Then

                    strLine = obj.GetBuffer(0)
                    r = RegExpMatch("\(([A|Z]|[a-z]|[0-9]| |:)*\)", strLine)
'检测消息特征

                    If r = 0 Then
                    obj.nMsgState = STERM_STATE_UNKNOW
                Else
                    nIdLength = Int(r / 256)
                    nTimeLength = r Mod 256

                    If nIdLength = 0 Then
                        obj.nMsgState = STERM_STATE_UNKNOW
                    Else

                    If nTimeLength < 2 Then
                        obj.nMsgState = STERM_STATE_UNKNOW
                    Else
                        obj.nMsgState = STERM_STATE_MSG
                        strID = Left(strLine, nIdLength)
                        strTime = Mid(strLine, nIdLength + 2, nTimeLength - 2)
                        strMsg = Mid(strLine, nIdLength + nTimeLength + 1 + 1)

                        If (RegExpMatch("\(\^", strMsg) > 0) Then 'Normal BBS
Msg?

                        Else
                        ' Smth BBS MSG?
                            strMsg = ""
                            nScreenHeight = obj.GetScreenHeight()
                            For i = 1 To nScreenHeight - 1
                                strLine = obj.GetBuffer(i)
                                If (InStr(strLine, " 第") = 1) Then
                                    Exit For
                                End If
                                strMsg = strMsg + strLine + vbCRLF
                            Next

                        End If
                        obj.AddMsgToLst strID, strTime, strMsg, False
                    End If
                End If
            End If
        End If
    End If

End Sub




【 在 MarchRain (〓33係我ou像〓我係33番薯〓) 的大作中提到: 】
:   .................................


--

   “我要这天,再遮不住我眼,
     要这地,再埋不了我心,
     要这众生,都明白我意,
     要那诸佛,都烟消云散!”

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.55.117]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.55.117]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店