荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: 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软件 网络书店