麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

如何用VisualBasic編寫小型的網(wǎng)絡(luò)系統(tǒng)

2019-11-18 17:29:59
字體:
供稿:網(wǎng)友
VisualBasic以下簡稱(VB)十一個功能強大的編程語言。特別是4.0以后,支持了OLEAutomation技術(shù),給編程帶來了更大的方便。前些時,我試著編寫一個支持網(wǎng)絡(luò)的數(shù)據(jù)庫。但是由于沒有聯(lián)網(wǎng),所以沒法測試。于是,我想到了OLEAutomation,用它就可以在一臺機器上測試網(wǎng)絡(luò)功能。經(jīng)過改動,還可以用它通過Modem來進行聯(lián)機。下面,我介紹一下如何用VisualBasic編寫小型的網(wǎng)絡(luò)系統(tǒng)。

----首先,建立一個支持網(wǎng)絡(luò)OLEAutomation

----啟動VB。在窗體Form1中建立一個列表框List1,在它上面建一個Frame1,設(shè)置它的Caption屬性為空。在它中間建立一個Label1,同樣,設(shè)置它的Caption也為空。最后,在List1上建立一個Caption為UserList的Label2。最后,把一個定時器Timer1安上,把它的Interval設(shè)為3000,Enabled設(shè)為False就行了。至此,NetWorkConnection的窗體部分就完成了。

----隨后,在VB的Tools菜單中選Options,按照填好各項內(nèi)容。

----接下來,在Insert菜單中選取Module建立一個新的模塊Module1。在(General)中輸入填寫進下列代碼。

(UserInfo數(shù)據(jù)類型)
TypeUserInfo
UsernameAsString
AliasAsInteger
EndType
(最大的用戶數(shù))
PublicConstMaxUser=10
(定義消息)
PublicConstMsg_User_LogOn=1
PublicConstMsg_User_LogOff=2
(設(shè)定數(shù)據(jù)類型)
PublicUsers(MaxUser)AsUserInfo
PublicInbox(MaxUser)AsString
PublicUserSystemInboxAsInteger
PublicOnline(MaxUser)AsBoolean

Submain()
Form1.Show
EndSub

----UserInfo數(shù)據(jù)類型記錄了已經(jīng)登錄的用戶的用戶名和別名。在顯示和通訊時只使用別名。用戶名只作為判斷用戶是否有效時用。出于安全考慮,以上數(shù)據(jù)用戶不能隨意訪問,必須通過下面的子程序來訪問。

----在Insert菜單中選取ClassModule建立一個新的類Class1。更名為Common,并設(shè)置它的各個屬性。

----填寫進下列代碼。

----(提供獲取用戶ID值的功能,用戶可以通過此功能使用別名來返回ID值)

PublicFunctionGetUserID(AliasAsString)AsInteger
ForI=1ToMaxUser
IfUsers(I).Alias=AliasThenGetUserID=I
NextI
EndFunction

----(提供獲得系統(tǒng)信息的功能。用戶可以通過它了解用戶是否有改動)

PublicFunctionGetSystemMessage()AsInteger
GetSystemMessage=UserSystemInbox
EndFunction

----(提供獲得用戶信息的功能。用它來獲取所有在線用戶的別名,中間用"|"分開。)

PublicFunctionGetUserInfo()AsString
ForI=1ToMaxUser
IfUsers(I).Username<>""Then
temp=temp Users(I).Alias "|"
EndIf
NextI
GetUserInfo=temp
EndFunction

----(提供獲得用戶私有信息的功能。用來接受別的用
戶發(fā)送的信息。)

PublicFunctionGetUserMessage(IDAsInteger)AsString
IfID<=0OrID>MaxUserThen
ExitFunction
EndIf
GetUserMessage=Inbox(ID)
EndFunction

----(提供注銷功能。用來退出網(wǎng)絡(luò)。)

PublicFunctionLogOff(IDAsInteger)AsBoolean
IfID<=0OrID>MaxUserThen
LogOff=False
ExitFunction
EndIf
IfUsers(ID).Username<>""Then
Users(ID).Username=""
LogOff=True
Else
LogOff=False
EndIf
UserSystemInbox=Msg_User_LogOff
`--------------UpdateForm1------------
ForI=0ToForm1.List1.ListCount-1
IfForm1.List1.List(I)=Users(ID).AliasThen
`查找List1中的用戶別名并刪除
Form1.List1.RemoveItemI
ExitFor
EndIf
NextI
IfForm1.List1.ListCount=0Then`如果沒有用戶登錄
Form1.Label1.Caption="DisConnected"
Form1.timer1.Enabled=False
EndIf
EndFunction

----(提供登錄功能來上網(wǎng))

PublicFunctionLogOn(UsernameAsString,
AliasAsString)AsInteger
ForI=1ToMaxUser
IfUsers(I).Username=""Then
Users(I).Username=Username
Users(I).Alias=Alias
LogOn=I
UserSystemInbox=Msg_User_LogOn`發(fā)送"用戶登錄"信息
`--------------UpdateForm1------------
Form1.List1.AddItemAlias`有用戶上網(wǎng)
Form1.Label1.Caption="Connected"
Form1.timer1.Enabled=True
ExitFunction
EndIf
NextI
LogOn=0
EndFunction

----(提供刷新用戶是否在線標志的功能。使系統(tǒng)能夠判斷你是否在線上,如果在6秒內(nèi)沒有調(diào)用此功能,系統(tǒng)將會把您自動刪除。)

PublicSubRefresh(IDAsInteger)
IfID<=0OrID>MaxUserThenExitSub
Online(ID)=True
EndSub

----(提供發(fā)送用戶私有信息的功能。用來和其它用戶傳遞信息。)

PublicFunctionSendUserMessage(MessageAs
String,ToIDAsInteger)AsBoolean
IfToID<=0OrToID>MaxUserThen
SendUserMessage=False
ExitFunction
EndIf
Inbox(ToID)=Message
SendUserMessage=True
EndFunction

----在Form1的Code中輸入剩下的代碼。

(初始化Form1)
Namef$=Mid$(cd$,lastst,I-lastst)
Combo1.AddItemNamef$`分離用戶別名并加入Combo1
lastst=I 1
EndIf
NextI

EndSub

PrivateSubForm_Load()
Timer1.Enabled=False
Timer1.Interval=300
EndSub

PrivateSubTimer1_Timer()
Connected.Refresh(ID)`刷新用戶標志
x=Connected.GetSystemMessage()`接收系統(tǒng)信息
y=Connected.GetUserMessage(ID)`接收用戶信息
Ify<>""Andy<>Label6.CaptionThenLabel6.Caption=y
Ifx<>Val(Label4.Caption)Then`刷新Combo1
Label4.Caption=x
Command4_Click
EndIf
EndSub

----開始運行。輸入你的Username和Alias,單擊LogOn,查看一下先前的VB范例,看看你的名字是否在內(nèi)。如果是,證明你的"集線器"成功了。這時,不管已登錄的用戶處于什么原因沒有用LogOff就中斷聯(lián)系,系統(tǒng)都會在6秒后自動刪除這些用戶。確保其它用戶不受影響。

----這個程序經(jīng)過改動,可以給它支持Modem的功能。而用戶部分的程序可以原封不動。編譯時在Options中選中RemoteSupportFile并利用附帶的安裝程序安裝到網(wǎng)絡(luò)服務(wù)器上就可以真正實現(xiàn)"聯(lián)網(wǎng)"了。->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线观看免费视频麻豆 | av电影免费在线看 | 一区二区三区日韩精品 | xxxⅹ96日本护士hd | 精品中文视频 | 性少妇videosexfreexx入片 | 一级毛片电影网 | 欧美一级高潮 | 国产在线一级视频 | 色淫影院| 国产精品一区二区三区在线 | 亚洲第一男人天堂 | 黄网在线 | 中文字幕在线播放第一页 | 最新在线中文字幕 | 久久久久久久久久综合 | 国产一区免费 | 黄色网址在线视频 | 亚洲欧美成aⅴ人在线观看 免费看欧美黑人毛片 | 色妹子久久| 亚洲网站一区 | 99精品欧美一区二区 | 欧美成人影院 | 一级片久久免费 | 久久老司机精品视频 | 久久影院在线观看 | 久草成人在线观看 | 九九热视频免费 | 久久精品日产第一区二区三区 | 日韩av日韩 | 黄色一级片在线观看 | 欧美人的天堂一区二区三区 | 99精品国产视频 | 国产毛片毛片 | 久草在线视频网 | 亚洲人成网站免费播放 | www国产成人免费观看视频,深夜成人网 | 91青青 | 国产精品99一区二区 | 黑人操穴 | 宅男噜噜噜66国产免费观看 |