欢迎来到天天文库
浏览记录
ID:31090462
大小:79.00 KB
页数:11页
时间:2019-01-06
《vb构造小型网络系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VisualBasic以下简称(VB)十一个功能强大的编程语言。特别是4.0以后,支持了OLEAutomation技术,给编程带來了更大的方便。前些时,我试着编写一个支持网络的数据库。但是由于没有联网,所以没法测试。于是,我想到了OLEAutomation,用它就可以在一台机器上测试网络功能。经过改动,还可以用它通过Modem来进行联机。下而,我介绍一下如何用VisualBasic编写小型的网络系统。首先,建立一个支持网络OLEAutomation启动VB。在窗体Forml屮建立一个列表框Listl,在它上而建一个Frame1,设置它的Caption属性为空。在它中间建立一个Labe
2、l1,同样,设置它的Caption也为空。最后,在List1上建立一个Caption为UserList的Label2o最后,把一个定吋器Timer1安上,把它的Interval设为3000,Enabled设为False就行了。至此,NetWorkConnection的窗体部分就完成了。随后,在VB的Tools菜单中选Options,按照填好各项内容。接下来,在Insert菜单中选取Module建立一个新的模块Module10在(General)中输入填写进下列代码。•(Uscrlnfo数据类型)TypeUserinfoUsernameAsStringAliasAsIntegerEnd
3、Type'(最大的用户数)PublicConstMaxUser=10'(定义消息)PublicConstMsg_Uscr_LogOn=1PublicConstMsg_User_LogOff=2'(设是数据类型)PublicUsers(MaxUser)AsUserinfoPublicInbox(MaxUser)AsStringPublicUserSystemlnboxAsIntegerPublicOnline(MaxUser)AsBooleanSubmain()Form1.ShowEndSubUserinfo数据类型记录了已经登录的用八的用八名和别名。在显示和通讯时只使用别名。用户名只
4、作为判断用户是否冇效时用。出于安全考虑,以上数据用户不能随意访问,必须通过下面的子程序来访问。在Insert菜单屮选取ClassModule建立一个新的类Classio更名为Common,并设宜它的各个属性。填写进下列代码。(提供获取用户ID值的功能,用户可以通过此功能使用别名来返凹ID值)PublicFunctionGctUscrID(AliasAsString)AsIntegerFori=1ToMaxUserIfUsers(i).Alias=AliasThenGetUserlD=iNextiEndFunction(提供获得系统信息的功能。用八可以通过它了解用八是否有改动)Publ
5、icFunctionGetSystemMessage()AsIntegerGetSystemMessage=UserSystemlnboxEndFunction(提供获得用户信息的功能。用它来获取所有在线用户的别名,中间用T分开。)PublicFunctionGctUscrInfo()AsStringFori=IToMaxUserIfUsers(i).Username<>””Thentemp=temp+Users(i).Alias+,T,EndIfNextiGetUserlnfo=tempEndFunction(提供获得用户私有信息的功能。用来接受别的用户发送的信息。)PublicF
6、unctionGctUscrMcssagc(IDAsInteger)AsStringIfID<=0OrID>MaxUserThenExitFunctionEndIfGetUserMessage=Inbox(ID)EndFunction(提供注销功能。用来退出网络。)PublicFunctionLogOff(IDAsInteger)AsBooleanIfID<=0OrID>MaxUserThenLosOff=FalseExitFunctionEndIfIfUsers(lD).Username<>M"ThenUsers(ID).Username=””LoeOff=TrueElseLogO
7、ff=FalseEndIfUserSystemlnbox=Msg_User_LogOff'UpdateFormlFori=OToForm1.List1.ListCount・1IfForml.Listl.List(i)=Uscrs(ID).AliasThen查找List1中的用户别名并删除Forml.List1.RemoveitemiExitForEndIfNextiIfForml.List1.ListCount=0Then'如果没有用户登录Forml.La
此文档下载收益归作者所有