當前位置:編程學習大全網 - 熱門推薦 - VB編寫的局域網聊天工具源代碼

VB編寫的局域網聊天工具源代碼

用VB做聊天程序的方法

---- 所謂"聊天"是指兩個程序能夠發送數據給對方。這個程序涉及到數據通訊的知識,仿佛很復雜,不過,由於VB給我們提供了壹個Winsock控件,問題就變得很簡單了。

---- 先編寫"聊天(主機)"程序。在窗體裏添加Winsock控件,並設置其Protocol屬性為1-SckUDPProtocol,其他屬性為缺省值。接著添加兩個標簽和兩個文本框,設置兩個標簽的標題屬性分別為"接收窗"和"發送窗";兩個文本框的標題屬性為空。最後編寫代碼:

---- 1."聊天(主機)"

Private Sub Form-Load()

′設置網絡地址

Winsock1.LocalPort=1024

Winsock1.RemoteHost="202.96.6.1"

Winsock1.RemotePort=1999

End Sub

Private Sub Text1-Change()

′發送用戶輸入的內容

Winsock1.SendData Text1.Text

End Sub

Private Sub Winsock1-DataArrival

(Byval bytesTotal As Long)

Dim rec As String

′接收對方數據並在文本框內顯示

Winsock1.GetData rec, vb String

Text2.Text=rec

End Sub

---- 2."聊天(副機)"

Private Sub Form_Load()

′設置網絡地址

Winsock1.LocalPort=1999

Winsock1.RemoteHost="202.96.6.1"

Winsock1.RemotePort=1024

---- 其他部分程序與(主機)相同。最後將兩個程序存盤,並編譯成執行(.Exe)文件。現在就可以使用這個程序進行對話了。

---- 七.文本框中文本的某壹特定字符或字符串同時高亮顯示的方法

---- 由於普通TextBox控件不支持不連續字符串的同時高亮顯示,所以我們選擇RichTextBox控件。單擊工程(Project)選單項,在彈出的下拉選單中單擊組件(Components)選單項,從彈出的對話框中選擇Microsoft Rich Textbox Control 5.0復選框,確定加載RichTextBox控件。

---- 新建(New)壹個工程,在窗體(Form)上添加壹個RichTextBox控件和兩個Command(按鈕)控件,都采用系統默認的Name屬性值;設置RichTextBox的Text屬性值為空,Command1和Command2的Caption屬性值分別設為"輸入文本"和"選擇字符串"。最後,添加如下VB代碼:

Private Sub Command1-Click()

Dim str As String

Dim Text As String

str=〃輸入文本〃

Text=InputBox(str)

RichTextBox1.Text=Text

End Sub

Private Sub Command2-Click()

Dim str As String

Dim Text As String

Dim Position As Integer

Dim Lenth As Integer

str=〃輸入要高亮顯示的字符串〃

Text=InputBox(str)

If Text 〈〉 〃〃 Then

Position=InStr(RichTextBox1.Text, Text)-1

Lenth=Len(Text)

RichTextBox1.SelStart=Position

RichTextBox1.SelLength=Lenth

RichTextBox1.SelColor=RGB(255,0,0)

Do While InStr(Position+Lenth+

1, RichTextBox1.Text, Text) 〈〉 0

Position=InStr(Position+Lenth+

1, RichTextBox1.Text, Text)-1

RichTextBox1.SelStart=Position

RichTextBox1.SelLength=Lenth

RichTextBox1.SelColor=RGB(255,0,0)

Loop

End If

End Sub

---- 按F5執行程序,單擊"輸入文本"按鈕,在彈出的對話框中輸入壹些文本,確定後,剛剛輸入的文本將顯示在RichTextBox中;再單擊"選擇字符串"按鈕,在彈出的對話框中輸入妳希望高亮顯示的字符串,確定後,RichTextBox中相應的字符串將以紅色高亮顯示。

---- 八.編程實現Windows 95/98操作系統熱啟動的方法

---- 要利用程序實現系統的重新啟動,可以在妳的程序中調用API函數來實現。建壹個子函數:(以VB為例)

Declare Function SystemParametersInfo Lib 〃

user32〃 Alias -

〃SystemParametersInfo〃 (ByVal uAction As Long,

ByVal uParam As Long,

ByVal lpvParam As Any, ByVal

fuWinIni As Long) As Long

Sub DisableCtrlAltDelete(bDisabled As Boolean)

Dim X As Long

X=SystemParametersInfo(97, bDisabled, CStr(1), 0)

End Sub

Call DisableCtrlAltDelete(true) ′禁止熱啟

Call DisableCtrlAltDelete(false) ′允許熱啟

---- 九.在Windows 95/ 98啟動後自動啟動程序的方法

---- 我們都知道在Windows 95/98的"開始"→"程序"選單下有壹"啟動"選單項,當每次啟動Windows 95或Windows 98時,系統都會自動啟動放在"啟動"選單欄裏的可執行程序。

---- 但目前有好多軟件,像解霸五、ICQ,以及大部分實時偵測病毒的軟件等等,安裝後,並沒有放在"啟動"選單裏,也能在啟動操作系統時自動啟動。怎麽實現的呢?

---- 其實只要知道Windows註冊表的壹些知識,這個問題就不能稱之為問題了。用鼠標單擊"開始",打開開始選單,再單擊"運行",出現壹對話框,然後輸入"regedit",確定後,會打開系統註冊表編輯器,找到HKEY-LOCAL-MACHINE? SOFTWARE?Microsoft?Windows?CurrentVersion?Run,加入妳的程序的入口,就可以了。如果不知道怎麽加,就參考壹下已經存在的鍵值。

---- 十. 如何把數據文件輸出到Text控件中?如果數據量比較大,窗體滿屏也不夠大,怎麽解決?

---- 有壹個比較簡單的方法,就是把數據放到壹個文本框(Text)裏,並在其中加上水平和垂直滾動條。具體實現步驟為:先在窗體(Form)裏加入壹個文本框,采用默認名Text1;然後,設置文本框Text1的屬性:Text屬性設置為空,MultiLine屬性設置為True,ScrollBars屬性設置為3-Both;接著添加如下VB代碼:

Private Sub Form-Load()

Dim Handle As Integer

Dim FileName As String

On Error GoTo ErrExit

begin:

′輸入要顯示的數據文件的名稱

FileName=InputBox$(〃Input Filename〃,

〃Open File〃)

On Error GoTo FileErr

Handle=FreeFile

Open FileName For Input As #Handle

′把數據文件中的數據輸出到文本框中

Text1.Text=Input$(LOF(Handle), Handle)

Close #Handle

Exit Sub

FileErr:

Dim ErrNum As Integer

If Err.Number=53 Then

ErrNum=MsgBox(〃File not exist〃,

vbOKCancel, 〃Error Information〃)

If ErrNum=1 Then

GoTo begin

Else

Exit Sub

End If

End If

MsgBox Err.Description, , 〃file open failed〃

ErrExit:

Exit Sub

End Sub

′使文本框充滿整個窗體

Private Sub Form-Resize()

Text1.Left=0

Text1.Top=0

Text1.Width=Form1.Width-100

Text1.Height=Form1.Height-400

End Sub

---- 通過這樣的處理,不僅能解決問題,而且用戶還可以在文本框中對數據進行編輯。

---- 十壹.關聯文件列表框、目錄列表框和驅動器列表框的方法

---- 想做壹個對話窗體,包含驅動器列表框、目錄列表框和文件列表框,並能實現三者的同步操作,怎麽做?這都是我們在實際應用中經常會遇到的問題,在VB中解決這個問題非常簡單,可以通過Path屬性的改變引發Change事件來實現。例如:

Sub Dir1-Change()

File1.Path=Dir1.Path

End Sub

---- 該事件過程使窗體上的目錄列表框Dir1和文件列表框File1產生同步。因為目錄列表框Path屬性的改變將產生Change事件,所以在Dir1-Change事件過程中,把Dir1.Path賦給File1.Path,就可以產生同步效果。類似地,增加下面的事件過程,就可以使三種列表框同步操作:

Sub Drive1-Change()

Dir1.Path=Drive1.Drive

End Sub

---- 該過程使驅動器列表框和目錄列表框同步,前面的過程使目錄列表框和文件列表框同步,從而使三種列表框同步,問題即可解決。

  • 上一篇:名偵探柯南中宮騰新壹本人(變大後)或者怪盜基德出現有哪幾集。
  • 下一篇:英雄聯盟上單鱷魚怎麽玩?
  • copyright 2024編程學習大全網