這是我的簡單串口代碼:
創(chuàng)新互聯(lián)是專業(yè)的襄汾網(wǎng)站建設(shè)公司,襄汾接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行襄汾網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Dim a As Integer
Dim b As Variant
Private Sub u_Click()
Text1.Text = "請先設(shè)置波特率與COM口?。?!"
End Sub
Private Sub Cbo1_Click()
On Error GoTo blak '打開串口發(fā)生錯誤,提示信息
If MSComm1.PortOpen = True And a = 1 Then
MSComm1.PortOpen = False '必須先關(guān)閉端口,再對端口進(jìn)行設(shè)置
MSComm1.CommPort = cbo1.ListIndex + 1 '端口號從0開始,必須加1
Else '有必要
MSComm1.CommPort = cbo1.ListIndex + 1
End If '注釋的必須有,為第二次切換做準(zhǔn)備,否則第二次換COM口會出問題
Exit Sub
blak:
MsgBox "串口不存在或被占用!", vbOKOnly, "提示信息" '必須是這種格式
End Sub
Private Sub Cbo2_Click() '單擊事件,不是change事件
MSComm1.Settings = 1200 * 2 ^ cbo2.ListIndex "n,8,1" '設(shè)置端口的波特率,連接符前后必須空一格
End Sub
Private Sub cmd1_Click()
a = a + 1
If a = 1 Then
cmd1.Caption = "關(guān)閉串口"
cbo1.Enabled = False
MSComm1.PortOpen = True '打開串口
ElseIf a = 2 Then
cmd1.Caption = "打開串口"
cbo1.Enabled = True
MSComm1.PortOpen = False '關(guān)閉串口
a = 0
End If
End Sub
Private Sub cmd2_Click()
Text1.Text = "" '清空接收區(qū)
Text2.SetFocus
End Sub
Private Sub cmd3_Click()
Text2.Text = "" '清空發(fā)送區(qū)
Text2.SetFocus
End Sub
Private Sub cmd4_Click()
Dim d As Integer
Dim e(0) As Byte 'outbyte 輸出字符
d = Val(Text2.Text)
e(0) = CByte(d)
MSComm1.OutBufferCount = 0 '清除發(fā)送緩沖區(qū)
MSComm1.Output = e '此命令執(zhí)行一次發(fā)送8字節(jié)
End Sub
Private Sub Form_Load()
cbo1.ListIndex = 0
cbo2.ListIndex = 0
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent '返回最近的通信過程
Case comEvReceive '接受的數(shù)據(jù)
c: b = MSComm1.Input
If Option1.Value = True Then
Text3.Text = Text1.Text Hex(b(0)) '首次不行,因?yàn)橛凶址?/p>
Text1.Text = Text3.Text " " '轉(zhuǎn)換一下
ElseIf Option2.Value = True Then
Text1.Text = Text1.Text b ""
End If
If MSComm1.InBufferCount 0 Then 'mscomm1.InBufferCount是緩沖區(qū)的數(shù)據(jù)數(shù)
GoTo c
End If
End Select
End Sub
Private Sub Option1_Click()
MSComm1.InputMode = comInputModeBinary '接收方式,十六進(jìn)制
End Sub
Private Sub Option2_Click()
MSComm1.InputMode = comInputModeText '接收方式,字符格式
End Sub
Private Sub Text1_Change()
Text1.SelStart = Len(Text1.Text)
End Sub
合法性校驗(yàn)有很多方法,要視情況而定,比如說可以用正則表達(dá)式,如果是數(shù)字,除了正則表達(dá)式,也可以用諸如TryParse這種方法。
1. .net是微軟的語言架構(gòu),是面向?qū)ο蟮耐泄苷Z言;VS是Visual Studio的縮寫,是微軟的集成開發(fā)環(huán)境,通過它可以設(shè)計(jì),開發(fā)和調(diào)試微軟平臺的程序,其中包括.net,也包括不是.net的程序;VC是Visual C的縮寫,是微軟版本的C語言,用來開發(fā)桌面應(yīng)用,不能做網(wǎng)站;VB.NET是.net中的一種語言,和原來的VB完全不同,可以用來開發(fā)桌面和網(wǎng)站,VB.net的開發(fā)環(huán)境是VS.net(目前最高版本是vs2008)。
2. 做網(wǎng)站的話,需要安裝VS(建議VS2008,因?yàn)楦訌?qiáng)大),如果用SQL Server的話需要安裝SQL Server(建議SQL2008,因?yàn)樾阅芨茫?/p>
3. VS2005和VS2008大小差不多,完全安裝4G左右,最小安裝1G左右
4. 如果使用數(shù)據(jù)庫建議用2008因?yàn)?000馬上就要停止技術(shù)支持了。
可以建立控件數(shù)組,在失去焦點(diǎn)的事件中判斷index的值就知道哪個text失去焦點(diǎn)了