亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 87.txt

?? VB文章集(含API、窗口、數(shù)據(jù)庫、多媒體、系統(tǒng)、文件、等等)
?? TXT
字號:
用VB編寫小型的網(wǎng)絡(luò)系統(tǒng)
 

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

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

---- 啟 動VB。 在 窗 體Form1 中 建 立 一 個 列 表 框List 1, 在 它 上 面 建 一 個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) 中 輸 入 填 寫 進(jìn) 下 列 代 碼。 

(UserInfo數(shù)據(jù)類型)
Type UserInfo
Username As String
Alias As Integer 
End Type
(最大的用戶數(shù))
Public Const MaxUser = 10
(定義消息)
Public Const Msg_User_LogOn = 1
Public Const Msg_User_LogOff = 2
(設(shè)定數(shù)據(jù)類型)
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 數(shù) 據(jù) 類 型 記 錄 了 已 經(jīng) 登 錄 的 用 戶 的 用 戶 名 和 別 名。 在 顯 示 和 通 訊 時 只 使 用 別 名。 用 戶 名 只 作 為 判 斷 用 戶 是 否 有 效 時 用。 出 于 安 全 考 慮, 以 上 數(shù) 據(jù) 用 戶 不 能 隨 意 訪 問, 必 須 通 過 下 面 的 子 程 序 來 訪 問。 

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

---- 填 寫 進(jìn) 下 列 代 碼。 

---- ( 提 供 獲 取 用 戶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

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

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

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

Public Function GetUserMessage(ID As Integer) As String
If ID < = 0 Or ID > MaxUser Then
Exit Function
End If
GetUserMessage = Inbox(ID)
End Function

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

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.Enabled = False
End If
End Function

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

Public Function LogOn(Username As String,
Alias As String) As Integer
For i = 1 To MaxUser
If Users(i).Username = "" Then
Users(i).Username = Username
Users(i).Alias = Alias
LogOn = i
UserSystemInbox = Msg_User_LogOn `發(fā)送"用戶登錄"信息
`-------------- Update Form1 ------------
Form1.List1.AddItem Alias `有用戶上網(wǎng)
Form1.Label1.Caption = "Connected"
Form1.timer1.Enabled = True
Exit Function
End If
Next i
LogOn = 0
End Function

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

Public Sub Refresh(ID As Integer)
If ID < = 0 Or ID > MaxUser Then Exit Sub
Online(ID) = True
End Sub

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

Public Function SendUserMessage(Message As 
String, ToID As Integer) As Boolean
If ToID < = 0 Or ToID > MaxUser Then
SendUserMessage = False
Exit Function
End If
Inbox(ToID) = Message
SendUserMessage = True
End Function

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

(初始化Form1)
Private Sub Form_Load()
Label1.Caption = "DisConnected"
Form1.Caption = "NetWork Connected Server"
Form1.Show
For i = 1 To MaxUser
Users(i).Username = ""
Next i
End Sub

---- ( 通 過 判 斷Online 的 值 定 時 檢 查 用 戶 是 否 在 線) 

Private Sub timer1_Timer()
For i = 1 To MaxUser
If Users(i).Username < > "" Then
If Online(i) = False Then
For s = 0 To List1.ListCount - 1
If List1.List(s) = Users(i).Alias Then
List1.RemoveItem s
Users(i).Username = ""
UserSystemInbox = Msg_User_LogOff
` 發(fā) 送" 用 戶 注 銷" 信 息
End If
Next s
End If
Online(i) = False
End If
Next i
If List1.ListCount = 0 Then
` 如 果 沒 有 用 戶
Label1.Caption = "DisConnected"
timer1.Enabled = False
End If
End Sub

---- 運 行 此 程 序。 在 啟 動 另 一 個VB, 開 始 編 寫 用 戶 部 分。 
在 默 認(rèn) 窗 體 中 按 下 圖 排 好 這 些 控 件。 

---- 填 入 下 列 代 碼 

Public ID As Integer
Public Connected As Object
Private Sub Command1_Click() `登錄
Dim username As String
Dim alias As String
Set Connected = CreateObject
("NetWorkConnection.Common") 啟 動NetWorkConnection
username = Text1.Text
alias = Text2.Text
ID = Connected.logon(username, alias) `登錄并返回ID值
Timer1.Enabled = True
Command4_Click
End Sub


Private Sub Command2_Click() `注銷
x = Connected.logoff(ID)
Timer1.Enabled = False
Set x = Nothing `釋放對象
End Sub

Private Sub Command3_Click() `發(fā)送用戶信息
Dim TempID As Integer
Dim TempString As String
Dim x As String
Dim y As Boolean
x = Combo1.Text
TempID = Connected.getuserid(x) `獲得指定用戶的ID值
TempString = Text3.Text
y = Connected.sendusermessage(TempString, TempID)
End Sub

Private Sub Command4_Click()
For i = 0 To Combo1.ListCount 1 `清空Combo1
Combo1.RemoveItem 0
Next i

x = Connected.GetUserInfo `接收用戶信息
cd$ = x
lastst = 1
For i = 1 To Len(cd$)
If Mid$(cd$, i, 1) = "|" Then
Namef$ = Mid$(cd$, lastst, i - lastst)
Combo1.AddItem Namef$ `分離用戶別名并加入Combo1
lastst = i + 1
End If
Next i

End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 300
End Sub

Private Sub Timer1_Timer()
Connected.Refresh (ID) `刷新用戶標(biāo)志
x = Connected.GetSystemMessage() `接收系統(tǒng)信息
y = Connected.GetUserMessage(ID) `接收用戶信息
If y < > "" And y < > Label6.Caption Then Label6.Caption = y
If x < > Val(Label4.Caption) Then `刷新Combo1
Label4.Caption = x
Command4_Click
End If
End Sub

---- 開 始 運 行。 輸 入 你 的Username 和Alias, 單 擊LogOn, 查 看 一 下 先 前 的VB 范 例, 看 看 你 的 名 字 是 否 在 內(nèi)。 如 果 是, 證 明 你 的" 集 線 器" 成 功 了。 這 時, 不 管 已 登 錄 的 用 戶 處 于 什 么 原 因 沒 有 用 LogOff 就 中 斷 聯(lián) 系, 系 統(tǒng) 都 會 在6 秒 后 自 動 刪 除 這 些 用 戶。 確 保 其 它 用 戶 不 受 影 響。 
---- 這 個 程 序 經(jīng) 過 改 動, 可 以 給 它 支 持Modem 的 功 能。 而 用 戶 部 分 的 程 序 可 以 原 封 不 動。 編 譯 時 在Options 中 選 中Remote Support File 并 利 用 附 帶 的 安 裝 程 序 安 裝 到 網(wǎng) 絡(luò) 服 務(wù) 器 上 就 可 以 真 正 實 現(xiàn)" 聯(lián) 網(wǎng)" 了。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线视频你懂得| 欧美精品一区二区三区蜜桃| 欧美日韩免费不卡视频一区二区三区| 欧美性生活影院| 国产三级欧美三级| 午夜欧美在线一二页| 成人a区在线观看| 日韩一区二区影院| 一区二区三区国产| 99久久免费视频.com| 欧美精品一区二区在线观看| 亚洲第一综合色| 在线精品视频小说1| 国产精品沙发午睡系列990531| 裸体一区二区三区| 欧洲av在线精品| 天天综合网天天综合色| 久久久91精品国产一区二区三区| 亚洲观看高清完整版在线观看| 高清久久久久久| 久久综合色综合88| 老司机免费视频一区二区 | 欧美日韩综合一区| 国产精品免费免费| 国产传媒日韩欧美成人| 久久精品视频在线免费观看| 狠狠色丁香久久婷婷综| 欧美大片在线观看一区二区| 美日韩黄色大片| 91麻豆精品国产无毒不卡在线观看| 亚洲乱码国产乱码精品精可以看| 99久久婷婷国产综合精品电影| 中文字幕不卡三区| zzijzzij亚洲日本少妇熟睡| 亚洲欧洲日韩av| 欧美性猛片aaaaaaa做受| 最新高清无码专区| 国产成人一级电影| 久久精品亚洲国产奇米99| 国产激情一区二区三区四区 | 精品美女被调教视频大全网站| 丝袜脚交一区二区| 日韩欧美一区二区在线视频| 秋霞午夜av一区二区三区| 欧美久久久久免费| 久久91精品久久久久久秒播| 久久久国产一区二区三区四区小说| 国产美女精品人人做人人爽| 国产精品免费人成网站| 欧美中文字幕一区| 日韩电影在线一区二区三区| 国产精品欧美一区喷水| 99精品久久只有精品| 国产精品国产自产拍高清av王其| 精品亚洲国产成人av制服丝袜 | 国产精品高清亚洲| 在线观看日韩高清av| 青青草国产成人av片免费| 久久亚洲综合色一区二区三区| 丁香另类激情小说| 亚洲成人www| 久久久噜噜噜久噜久久综合| 91亚洲男人天堂| 久久精品99久久久| 亚洲视频小说图片| 日韩免费高清电影| av在线播放不卡| 日本va欧美va精品| 亚洲色图欧美在线| 日韩免费一区二区三区在线播放| 国产成人av电影在线观看| 亚洲伊人色欲综合网| 久久精品亚洲一区二区三区浴池 | 久久网站最新地址| 日本韩国一区二区| 国产一区二区三区免费播放| 一区二区三区在线免费视频| 久久先锋影音av| 欧美猛男男办公室激情| 丰满少妇久久久久久久| 蜜臀av性久久久久av蜜臀妖精| 中文字幕中文字幕中文字幕亚洲无线| 欧美精品丝袜中出| 一本一道久久a久久精品| 久久99热99| 五月婷婷综合激情| 国产精品欧美久久久久无广告 | 国产精品久久久久久福利一牛影视 | 一区二区三区四区蜜桃| 欧美日韩国产天堂| 成人精品gif动图一区| 日韩国产在线一| 亚洲天堂精品视频| 精品国产一区二区三区久久影院| 色8久久人人97超碰香蕉987| 国产成人免费在线观看不卡| 激情av综合网| 日本成人超碰在线观看| 99re免费视频精品全部| 美女网站在线免费欧美精品| 亚洲国产精品久久久久婷婷884| 久久久久国产精品免费免费搜索| 日韩一区二区免费电影| 欧美三日本三级三级在线播放| 成人激情av网| 成人av在线影院| 国产91丝袜在线18| 国产寡妇亲子伦一区二区| 精品一区二区影视| 国产在线精品免费av| 麻豆精品久久精品色综合| 图片区小说区区亚洲影院| 伊人一区二区三区| 一区二区在线观看视频在线观看| 亚洲色图视频网站| 一卡二卡三卡日韩欧美| 亚洲一区在线看| 亚洲v中文字幕| 日本成人在线看| 激情综合色综合久久综合| 国产一区欧美二区| 国产成人在线电影| 国产+成+人+亚洲欧洲自线| 国产成人精品1024| 91麻豆精品视频| 欧美日韩三级一区| 欧美一区在线视频| 国产一区久久久| 夜夜嗨av一区二区三区网页| ㊣最新国产の精品bt伙计久久| 国产欧美久久久精品影院| 国产精品美女久久久久久久久| 国产婷婷一区二区| 中文字幕一区二区三区不卡| 亚洲最大成人网4388xx| 午夜视频一区在线观看| 久久精品免费观看| 国产99久久久国产精品潘金 | 日本不卡一区二区| 国产一区欧美二区| 在线影院国内精品| 日韩一卡二卡三卡四卡| 国产亚洲精品福利| 亚洲在线视频免费观看| 美女一区二区三区在线观看| 国产不卡高清在线观看视频| 91麻豆国产精品久久| 日韩欧美在线1卡| 亚洲欧美影音先锋| 日韩国产精品91| 成人涩涩免费视频| 欧美日韩三级视频| 国产精品卡一卡二卡三| 欧美日韩一本到| 国产精品综合视频| 91麻豆精品一区二区三区| 丝袜国产日韩另类美女| 亚洲人成精品久久久久久| 日韩在线一区二区| 亚洲三级在线播放| 国产成人夜色高潮福利影视| 久久久av毛片精品| 久久超碰97中文字幕| 欧美日韩第一区日日骚| 亚洲午夜电影在线| 欧美日韩国产另类一区| 亚洲综合久久久久| 欧美三级视频在线观看| 亚洲欧美日韩成人高清在线一区| 91色.com| 一区二区在线观看视频| 在线免费观看不卡av| 亚洲最大色网站| 欧美丰满嫩嫩电影| 日韩中文字幕区一区有砖一区| 91精品啪在线观看国产60岁| 午夜视频一区在线观看| 91精品国产91热久久久做人人| 日韩1区2区3区| 亚洲精品一区二区三区在线观看| 极品瑜伽女神91| 欧美日韩另类一区| 日韩激情一二三区| 日韩欧美国产一区二区在线播放| 久99久精品视频免费观看| 久久蜜臀中文字幕| 成人av网站在线观看免费| 亚洲精品免费看| 欧美理论在线播放| 激情综合五月天| 中文字幕一区二区三区在线播放| 在线这里只有精品| 蜜桃在线一区二区三区| 国产三级欧美三级日产三级99| 99精品欧美一区二区三区小说| 亚洲电影在线播放| 精品福利一区二区三区| av一二三不卡影片| 天天综合色天天| 欧美国产欧美亚州国产日韩mv天天看完整|