📄 ba59.htm
字号:
Form1.timer1.Enabled = True<br>
Exit Function<br>
End If<br>
Next i<br>
LogOn = 0<br>
End Function<br>
<br>
( 提 供 刷 新 用 户 是 否 在 线 标 志 的 功 能。 使 系 统 能 够 <br>
判 断 你 是 否 在 线 上, 如 果 在6 秒 内 没 有 调 用 此 功 能, 系 <br>
统 将 会 把 您 自 动 删 除。) <br>
<br>
Public Sub Refresh(ID As Integer)<br>
If ID < = 0 Or ID > MaxUser Then Exit Sub<br>
Online(ID) = True<br>
End Sub<br>
<br>
( 提 供 发 送 用 户 私 有 信 息 的 功 能。 用 来 和 其 它 用 户<br>
传 递 信 息。) <br>
<br>
Public Function SendUserMessage(Message As <br>
String, ToID As Integer) As Boolean<br>
If ToID < = 0 Or ToID > MaxUser Then<br>
SendUserMessage = False<br>
Exit Function<br>
End If<br>
Inbox(ToID) = Message<br>
SendUserMessage = True<br>
End Function<br>
<br>
在Form1 的Code 中 输 入 剩 下 的 代 码。 <br>
<br>
(初始化Form1)<br>
Private Sub Form_Load()<br>
Label1.Caption = "DisConnected"<br>
Form1.Caption = "NetWork Connected Server"<br>
Form1.Show<br>
For i = 1 To MaxUser<br>
Users(i).Username = ""<br>
Next i<br>
End Sub<br>
<br>
( 通 过 判 断Online 的 值 定 时 检 查 用 户 是 否 在 线) <br>
<br>
Private Sub timer1_Timer()<br>
For i = 1 To MaxUser<br>
If Users(i).Username < > "" Then<br>
If Online(i) = False Then<br>
For s = 0 To List1.ListCount - 1<br>
If List1.List(s) = Users(i).Alias Then<br>
List1.RemoveItem s<br>
Users(i).Username = ""<br>
UserSystemInbox = Msg_User_LogOff<br>
` 发 送" 用 户 注 销" 信 息<br>
End If<br>
Next s<br>
End If<br>
Online(i) = False<br>
End If<br>
Next i<br>
If List1.ListCount = 0 Then<br>
` 如 果 没 有 用 户<br>
Label1.Caption = "DisConnected"<br>
timer1.Enabled = False<br>
End If<br>
End Sub<br>
<br>
运 行 此 程 序。 在 启 动 另 一 个VB, 开 始 编 写 用 户 部 分。 <br>
在 默 认 窗 体 中 按 下 图 排 好 这 些 控 件。 <br>
<br>
填 入 下 列 代 码 <br>
<br>
Public ID As Integer<br>
Public Connected As Object<br>
Private Sub Command1_Click() `登录<br>
Dim username As String<br>
Dim alias As String<br>
Set Connected = CreateObject<br>
("NetWorkConnection.Common") 启 动NetWorkConnection<br>
username = Text1.Text<br>
alias = Text2.Text<br>
ID = Connected.logon(username, alias) `登录并返回ID值<br>
Timer1.Enabled = True<br>
Command4_Click<br>
End Sub<br>
<br>
<br>
Private Sub Command2_Click() `注销<br>
x = Connected.logoff(ID)<br>
Timer1.Enabled = False<br>
Set x = Nothing `释放对象<br>
End Sub<br>
<br>
Private Sub Command3_Click() `发送用户信息<br>
Dim TempID As Integer<br>
Dim TempString As String<br>
Dim x As String<br>
Dim y As Boolean<br>
x = Combo1.Text<br>
TempID = Connected.getuserid(x) `获得指定用户的ID值<br>
TempString = Text3.Text<br>
y = Connected.sendusermessage(TempString, TempID)<br>
End Sub<br>
<br>
Private Sub Command4_Click()<br>
For i = 0 To Combo1.ListCount 1 `清空Combo1<br>
Combo1.RemoveItem 0<br>
Next i<br>
<br>
x = Connected.GetUserInfo `接收用户信息<br>
cd$ = x<br>
lastst = 1<br>
For i = 1 To Len(cd$)<br>
If Mid$(cd$, i, 1) = "|" Then<br>
Namef$ = Mid$(cd$, lastst, i - lastst)<br>
Combo1.AddItem Namef$ `分离用户别名并加入Combo1<br>
lastst = i + 1<br>
End If<br>
Next i<br>
<br>
End Sub<br>
<br>
Private Sub Form_Load()<br>
Timer1.Enabled = False<br>
Timer1.Interval = 300<br>
End Sub<br>
<br>
Private Sub Timer1_Timer()<br>
Connected.Refresh (ID) `刷新用户标志<br>
x = Connected.GetSystemMessage() `接收系统信息<br>
y = Connected.GetUserMessage(ID) `接收用户信息<br>
If y < > "" And y < > Label6.Caption
Then Label6.Caption = y<br>
If x < > Val(Label4.Caption) Then `刷新Combo1<br>
Label4.Caption = x<br>
Command4_Click<br>
End If<br>
End Sub<br>
<br>
开 始 运 行。 输 入 你 的Username 和Alias, 单 击LogOn, 查 看 <br>
一 下 先 前 的VB 范 例, 看 看 你 的 名 字 是 否 在 内。 如 果 是, <br>
证 明 你 的" 集 线 器" 成 功 了。 这 时, 不 管 已 登 录 的 用 户 <br>
处 于 什 么 原 因 没 有 用 LogOff 就 中 断 联 系, 系 统 都 会 在6 <br>
秒 后 自 动 删 除 这 些 用 户。 确 保 其 它 用 户 不 受 影 响。 <br>
<br>
这 个 程 序 经 过 改 动, 可 以 给 它 支 持Modem 的 功 能。 <br>
而 用 户 部 分 的 程 序 可 以 原 封 不 动。 编 译 时 在Options 中 <br>
选 中Remote Support File 并 利 用 附 带 的 安 装 程 序 安 装 到 网 <br>
络 服 务 器 上 就 可 以 真 正 实 现" 联 网" 了。 转载自中国程序员网站 <b>(文/徐江)</b></font>
</div>
</td>
</tr>
</center>
<tr>
<td width="100%" class="unnamed1">
<p align=right><a href="ba58.htm">(上一页)</a>---<a href="ba60.htm">(下一页)</a></p>
</td>
</tr>
<tr>
<td width="100%" class="unnamed1">
</div>
</td>
</tr>
<!--msnavigation--></tbody>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -