從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的語言——不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個(gè)應(yīng)用程序。VB.NET更是幾乎無所不能。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比文成網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式文成網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋文成地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
Visual Basic 特點(diǎn)
1、具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具
2、事件驅(qū)動(dòng)的編程機(jī)制
3、結(jié)構(gòu)化的程序設(shè)計(jì)語言
4、提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境
5、支持多種數(shù)據(jù)庫系統(tǒng)的訪問
6、高度可移植化的代碼
7、VB6.0在開發(fā)環(huán)境上,網(wǎng)絡(luò)功能等的大大增強(qiáng)。
Visual Basic 2005
2005——完美主義的Visual Basic
為了讓 Visual Basic 有最佳的開發(fā)體驗(yàn),Visual Basic 2005 的設(shè)計(jì)者絞盡了腦汁。這次 Visual Basic 2005 光語言上的改進(jìn)就足以讓 Visual Basic 的開發(fā)人員高興一陣子。
Visual Basic 2012(RC)
Visual Basic 2012 RC 具有下列新增和加強(qiáng)的功能 :
1、異步功能
2、迭代器
3、調(diào)用層次結(jié)構(gòu)
4、調(diào)用方信息
5、全局命名空間語句中的關(guān)鍵字
Visual Basic .NET(vb .net) 是新一代的 VB 語言,并不只是 VB 6.0 的簡單升級,vb .net 與 VB (泛指 VB 6.0 之前的版本) 之間有非常大的區(qū)別。其新特性主要表現(xiàn)在以下幾方面:
1.vb .net 完全集成到 Visual Studio 集成開發(fā)環(huán)境中,在這種集成開發(fā)環(huán)境與 VB 在若干方面有差異。主要體現(xiàn)在窗體的布局以及菜單等方面都有所不同。
2.vb .net 項(xiàng)目與 VB 不同。它使用基于文件夾的模型,所有項(xiàng)目均放置在項(xiàng)目文件夾層次結(jié)構(gòu)中。
3.vb .net 中使用ado .net來訪問數(shù)據(jù)庫,ado .net是.NET Framework的一部分。在 vb .net 中實(shí)現(xiàn)數(shù)據(jù)訪問的方法主要有兩種:其一是在程序設(shè)計(jì)階段,通過創(chuàng)建、配置數(shù)據(jù)適配器 DataAdapter 和生成數(shù)據(jù)集 DataSet;其二是在運(yùn)行中,通過編程方式動(dòng)態(tài)創(chuàng)建配置數(shù)據(jù)適配器和創(chuàng)建、生成數(shù)據(jù)集。
4.在 vb .net 中是使用asp .net技術(shù)來編寫 Web 頁面的。在asp .net中使用的也不是腳本語言,而是真正意義的編程語言。憑借asp .net的 Web 應(yīng)用程序、XML Web Services 等基于 Web 的功能,使得 vb .net 開發(fā) Web 頁面與開發(fā) Windows 應(yīng)用程序很相似,Web 頁面代碼也顯得有條有理了。
5.vb .net 已經(jīng)成為完全的面向?qū)ο蟮木幊陶Z言,并且新增更多語言特性。
Visual Basic .NET有提供轉(zhuǎn)換精靈,協(xié)助開發(fā)者將 VB 6.0 的程序代碼轉(zhuǎn)換為 vb .net 相對應(yīng)之程序代碼。
學(xué)習(xí)的最主要方法是多看書,多做練習(xí)。
用 vb.net socket通信
Dim th As Threading.Thread
2 Dim tcpl As System.Net.Sockets.TcpListener
3
4 Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
5 th = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf MyListen))
6 th.Start()
7 End Sub
8
9 Public Sub SendMessage()Sub SendMessage(ByVal IP As String, ByVal SendMsg As String)
10 Try
11 If IP "" Then
12 Dim tcpc As New System.Net.Sockets.TcpClient(IP, 5656)
13 Dim tcpStream As Net.Sockets.NetworkStream = tcpc.GetStream
14 Dim reqStream As New IO.StreamWriter(tcpStream)
15 reqStream.Write(SendMsg)
16 reqStream.Flush()
17 tcpStream.Close()
18 tcpc.Close()
19 End If
20 Catch ex As Exception
21 MsgBox(ex.Message.ToString)
22 End Try
23 End Sub
24 Private Sub MyListen()Sub MyListen()
25 Try
26 Dim ipAddress As System.Net.IPAddress = System.Net.Dns.Resolve(System.Net.Dns.GetHostName).AddressList(0)
27 tcpl = New System.Net.Sockets.TcpListener(ipAddress, 5656)
28 tcpl.Start()
29 While True
30 Dim s As System.Net.Sockets.Socket = tcpl.AcceptSocket()
31 Dim MyBuffer(1024) As Byte
32 Dim i As Integer
33 i = s.Receive(MyBuffer)
34 If i 0 Then
35 Dim lstrRec As String
36 Dim j As Integer
37 For j = 0 To i - 1
38 TextBox1.Text += Chr(MyBuffer(j)) ","
39 Next
40 End If
41 End While
42 Catch ex As Exception
43 MsgBox(ex.Message.ToString)
44 End Try
45 End Sub
46
47 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
48 SendMessage("192.168.0.61", TextBox2.Text)
49 End Sub
關(guān)于串口通訊的問題:
很明顯,你還不知道(不會(huì)、不習(xí)慣)使用事件驅(qū)動(dòng)的方式接收數(shù)據(jù)。
建議你仔細(xì)看看串口組件(無論VB6還是VB.net)的OnComm事件,你的問題很容易解決。
關(guān)于以太網(wǎng)通訊:
在TCP通訊中端口確實(shí)可以重用,你百度一下“TCP端口重用”能查到很多示例。
但絕大多數(shù)情況下不推薦端口重用,而應(yīng)該采取服務(wù)器端建立連接池的方法。
或者,干脆不用TCP,用UDP解決也可以。
Dim OleDbCommand1 As System.Data.OleDb.OleDbCommand
Dim oledbdataadapter As System.Data.OleDb.OleDbDataAdapter
Dim dataadapter As System.Data.OleDb.OleDbDataAdapter
OleDbConnection1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=d:\My Documents\Visual Studio 2005\Projects\WindowsApplication4\WindowsApplication4\db.mdb"
OleDbCommand1 = New System.Data.OleDb.OleDbCommand
OleDbCommand1.CommandText = "Select * from 聯(lián)系人"
OleDbCommand1.Connection=OleDbConnection1
OleDbConnection1.Open()
dataadapter = New System.Data.OleDb.OleDbDataAdapter
dataadapter.SelectCommand = OleDbCommand1
Dim customerOrders As DataSet = New DataSet("CustomerOrders")
dataadapter.Fill(customerOrders , "聯(lián)系人")
OleDbConnection1.Close()