互聯網改變了人們的生活,也帶動了編程產業的發展,今天我就來教大家如何用Visual Basic6.0做個簡單的屬于自己的聊天軟件。需要用到VB6.0里的winsock控件。老規矩:左鍵用紅色箭頭,右鍵用綠色箭頭,長按拖動用灰色畫筆。
打開VB,新建一個標準exe工程。
①右鍵“控件欄”;
②單擊“部件”選項;
③選擇Microsoft Winsock Control 6.0(一定要點左邊的方框),點擊“確定”;
這時,控件欄上就多了個Winsock控件。(此控件對于登錄程序,網絡通訊來說具有重要作用)
點擊窗體的右下角拖動擴大窗體。
在窗口中添加:一個winsock控件、兩個文本框控件、一個按鈕控件。(如圖所示)
①點擊最大的文本框控件,把屬性欄的“Text”屬性中的文本刪除,同樣,把小文本框的也刪除。
②點擊按鈕,把“Caption”屬性改為“發送”;
③點擊左上角的From1,然后在屬性欄中把“Caption”屬性改為“客戶端”。
④點擊winsock控件,把winsock控件的RemoteHost屬性改成你服務器(或者你電腦)的IP地址(查看IP地址的方法自行百度),把RemotePort改為1000。
雙擊任意一個控件,進入代碼輸入框。(控件欄、事件欄如圖所示)(注意:中括號里的內容不要輸入)(請輸入粗體字)
①在控件欄中選擇“Form”,在事件欄中選擇“Load”(這代表著當窗口生成時會發生什么事)。下面代碼框中就會出現“Private Sub Form_Load()...End”,在上下兩行的空白處輸入“winsock1.Connect”(意思是當窗口生成時,連接對方)
②同理,控件欄選擇“Command1”,事件欄中選擇“Click”【意思是按鈕按下時】,空白處輸入
Call Winsock1.SendData(Text2.Text)【意思是發送小文本框的內容】
Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】
Texe1.Text=Text1.Text & vbCrLf & "我:" & Text1.Text & Text2.Text【意思是把小文本框里的內容加到大文本框里】
Text2.Text = ""【意思是把小文本框里的內容清除】
③控件欄選擇“winsock1”,事件欄中選擇“DataArrival”【意思是當收到對方消息時】,空白處輸入
Dim message As String【意思是定義message為字符串,此步的意義是制造個叫做message的盒子,把信息裝到里面去,方便運輸】
Call winsock1.GetData(message)【意思是獲取信息,裝到message里】
Text2.Text=Text2.Text & vbCrLf "對方:" & message【意思是把信息放到大文本框上】
Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】
④控件欄選擇“Form”,事件欄中選擇“Terminate”【意思是當你關閉窗口時】,空白處輸入winsock1.Close【意思是關閉連接】
代碼效果如圖。(可以把多余的刪掉)
點擊最左上方的“文件”,點擊下面的“生成工程1.exe”,選擇保存的地方。生成后別忘了發給你朋友用。關閉VB(可以不保存內容)。
打開VB,再新建個標準EXE,再添加winsock控件。然后,第一步(添加控件),和上面客戶端的第一步一樣。(一定要保證大的文本框是Text1,小的是Text2)
①點擊最大的文本框控件,把屬性欄的“Text”屬性中的文本刪除,同樣,把小文本框的也刪除。
②點擊按鈕,把“Caption”屬性改為“發送”;
③點擊左上角的From1,然后在屬性欄中把“Caption”屬性改為“服務端”。
④點擊winsock控件,把RemotePort改為1000。
(圖片就不必了吧)
雙擊任意一個控件,進入代碼輸入框。(注意:中括號里的內容不要輸入)(請輸入粗體字)(我用XXXX_XXXX代表什么控件_什么事件)
①Form_Load中輸入
winsock1.LocalPort = 1000【意思是定義1000端口,給對方鏈接進來】
winsock1.Listen【意思是偵聽,等待對方連接】
②Command1_Click中輸入
Call Winsock1.SendData(Text2.Text)【意思是發送小文本框的內容】
Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】
Text1.Text = Text1.Text & vbCrLf & "我:" & Text1.Text & Text2.Text【意思是把小文本框里的內容加到大文本框里】
Text2.Text = ""【意思是把小文本框里的內容清除】
③winsock1_DataArrival中輸入
Dim message As String【意思是定義message為字符串,此步的意義是制造個叫做message的盒子,把信息裝到里面去,方便運輸】
Call winsock1.GetData(message)【意思是獲取信息,裝到message里】
Text2.Text = Text2.Text & vbCrLf & "對方:" & message【意思是把信息放到大文本框上】
Text2.SelStart = Len(Text2.Text)【意思是設置文本的插入點】
④winsock1_Close(意思是當winsock關閉時)中輸入
winsock1.Close【意思是對方的winsock關閉,我的winsock也關閉】
winsock1.Listen【意思是偵聽下一次連接】
⑤winsock1_ConnextionRequest【意思是對方請求連接時】中輸入
If winsock1.State<>sckClosed Then
winsock1.Close
End If【此段的意思是如果:winsock的狀態不是在關閉中,那就讓他關閉】
Call winsock1.Accept(requestID)【意思是接受新的連接】
和上面的第六步一樣,但是這個留你自個兒用。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!