当前位置: 网学 > 编程文档 > VB > 正文

如何用Visual Basic编写小型的网络系统

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

中国科大附中 徐 江


Visual Basic 以下简称(VB) 十一个功能强大的编程语言。特别是4.0 以后,支持了OLE Automation 技术,给编程带来了更大的方便。前些时,我试着编写一个支持网络的数据库。但是由于没有联网,所以没法测试。于是,我想到了OLE Automation,用它就可以在一台机器上测试网络功能。经过改动,还可以用它通过Modem 来进行联机。下面,我介绍一下如何用Visual Basic 编写小型的网络系统。

首先,建立一个支持网络OLE Automation

启动VB。在窗体Form1 中建立一个列表框List1,在它上面建一个Frame1,设置它的Caption 属性为空。在它中间建立一个Label1,同样,设置它的Caption 也为空。最后,在List1 上建立一个Caption 为UserList 的Label2。最后,把一个定时器Timer1 安上,把它的Interval 设为3000,Enabled 设为False 就行了。至此,NetWorkConnection 的窗体部分就完成了。

随后,在VB 的Tools 菜单中选Options,按照填好各项内容。

接下来,在Insert 菜单中选取Module 建立一个新的模块Module1。在(General) 中输入填写进下列代码。


''(UserInfo数据类型)

Type UserInfo

Username As String

Alias As Integer

End Type

''(最大的用户数)

Public Const MaxUser = 10

''(定义消息)

Public Const Msg_User_LogOn = 1

Public Const Msg_User_LogOff = 2

''(设定数据类型)

Public Users (MaxUser) As UserInfo

Public Inbox (MaxUser) As String

Public UserSystemInbox As Integer

Public Online(MaxUser) As Boolean


Sub main()

Form1.Show

End Sub


UserInfo 数据类型记录了已经登录的用户的用户名和别名。在显示和通讯时只使用别名。用户名只作为判断用户是否有效时用。出于安全考虑,以上数据用户不能随意访问,必须通过下面的子程序来访问。

在Insert菜单中选取Class Module 建立一个新的类Class1。更名为Common,并设置它的各个属性。

填写进下列代码。

(提供获取用户ID 值的功能,用户可以通过此功能使用别名来返回ID值)


Public Function GetUserID(Alias As String) As Integer

For i = 1 To MaxUser

If Users(i).Alias = Alias Then GetUserID = i

Next i

End Function


(提供获得系统信息的功能。用户可以通过它了解用户是否有改动)


Public Function GetSystemMessage() As Integer

GetSystemMessage = UserSystemInbox

End Function


(提供获得用户信息的功能。用它来获取所有在线用户的别名,中间用"|"分开。)


Public Function GetUserInfo() As String

For i = 1 To MaxUser

If Users(i).Username < > "" Then

temp = temp + Users(i).Alias + "|"

End If

Next i

GetUserInfo = temp

End Function


(提供获得用户私有信息的功能。用来接受别的用户发送的信息。)


Public Function GetUserMessage(ID As Integer) As String

If ID < = 0 Or ID > MaxUser Then

Exit Function

End If

GetUserMessage = Inbox(ID)

End Function


(提供注销功能。用来退出网络。)


Public Function LogOff(ID As Integer) As Boolean

If ID < = 0 Or ID > MaxUser Then

LogOff = False

Exit Function

End If

If Users(ID).Username < > "" Then

Users(ID).Username = ""

LogOff = True

Else

LogOff = False

End If

UserSystemInbox = Msg_User_LogOff

''-------------- Update Form1 ------------

For i = 0 To Form1.List1.ListCount - 1

If Form1.List1.List(i) = Users(ID).Alias Then

''查找List1中的用户别名并删除

Form1.List1.RemoveItem i

Exit For

End If

Next i

If Form1.List1.ListCount = 0 Then ''如果没有用户登录

Form1.Label1.Caption = "DisConnected"

Form1.timer1.

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号