从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。VB.NET更是几乎无所不能。
创新互联建站-专业网站定制、快速模板网站建设、高性价比文成网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式文成网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖文成地区。费用合理售后完善,10余年实体公司更值得信赖。
Visual Basic 特点
1、具有面向对象的可视化设计工具
2、事件驱动的编程机制
3、结构化的程序设计语言
4、提供了易学易用的应用程序集成开发环境
5、支持多种数据库系统的访问
6、高度可移植化的代码
7、VB6.0在开发环境上,网络功能等的大大增强。
Visual Basic 2005
2005——完美主义的Visual Basic
为了让 Visual Basic 有最佳的开发体验,Visual Basic 2005 的设计者绞尽了脑汁。这次 Visual Basic 2005 光语言上的改进就足以让 Visual Basic 的开发人员高兴一阵子。
Visual Basic 2012(RC)
Visual Basic 2012 RC 具有下列新增和加强的功能 :
1、异步功能
2、迭代器
3、调用层次结构
4、调用方信息
5、全局命名空间语句中的关键字
Visual Basic .NET(vb .net) 是新一代的 VB 语言,并不只是 VB 6.0 的简单升级,vb .net 与 VB (泛指 VB 6.0 之前的版本) 之间有非常大的区别。其新特性主要表现在以下几方面:
1.vb .net 完全集成到 Visual Studio 集成开发环境中,在这种集成开发环境与 VB 在若干方面有差异。主要体现在窗体的布局以及菜单等方面都有所不同。
2.vb .net 项目与 VB 不同。它使用基于文件夹的模型,所有项目均放置在项目文件夹层次结构中。
3.vb .net 中使用ado .net来访问数据库,ado .net是.NET Framework的一部分。在 vb .net 中实现数据访问的方法主要有两种:其一是在程序设计阶段,通过创建、配置数据适配器 DataAdapter 和生成数据集 DataSet;其二是在运行中,通过编程方式动态创建配置数据适配器和创建、生成数据集。
4.在 vb .net 中是使用asp .net技术来编写 Web 页面的。在asp .net中使用的也不是脚本语言,而是真正意义的编程语言。凭借asp .net的 Web 应用程序、XML Web Services 等基于 Web 的功能,使得 vb .net 开发 Web 页面与开发 Windows 应用程序很相似,Web 页面代码也显得有条有理了。
5.vb .net 已经成为完全的面向对象的编程语言,并且新增更多语言特性。
Visual Basic .NET有提供转换精灵,协助开发者将 VB 6.0 的程序代码转换为 vb .net 相对应之程序代码。
学习的最主要方法是多看书,多做练习。
用 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
关于串口通讯的问题:
很明显,你还不知道(不会、不习惯)使用事件驱动的方式接收数据。
建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件,你的问题很容易解决。
关于以太网通讯:
在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例。
但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法。
或者,干脆不用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 联系人"
OleDbCommand1.Connection=OleDbConnection1
OleDbConnection1.Open()
dataadapter = New System.Data.OleDb.OleDbDataAdapter
dataadapter.SelectCommand = OleDbCommand1
Dim customerOrders As DataSet = New DataSet("CustomerOrders")
dataadapter.Fill(customerOrders , "联系人")
OleDbConnection1.Close()