程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> MsComm文字傳輸

MsComm文字傳輸

編輯:VB綜合教程
假如您對MSComm的基本屬性還不了解,建議請先至MSComm基本介紹一文中詳讀
  
  表單畫面
  
  '表單部分
  '-------------------------------------------------------------
  Form.Name="Form1"
  Caption="Form1"
  CommandButton.Name=Command2
  Caption="停止測試"
  CommandButton.Name=Command1
  Caption="開始測試"
  TextBox.Name=Text1
  MSComm.Name=MSComm1
  DTREnable=-1'True
  Label.Name=Label1
  AutoSize=-1'True
  Caption="欲送出的資料-按下[Enter]送出"
  Label.Name=Label3
  BorderStyle=1'單線固定
  Label.Name=Label2
  AutoSize=-1'True
  Caption="折返顯示"
  
  '程式部分
  '-------------------------------------------------------------
  OptionExplicit
  '設一個此表單的區域變數,來作終止讀取通訊埠的指標
  DimbStopAsBoolean
  '設一個區域變數,來作讀取通訊埠的暫存區
  DimInStringAsString
  
  PrivateSubCommand1_Click()
  bStop=False
  Text1.SetFocus
  WithMSComm1
  '設定通訊埠號,可依照您的需求更改
  .CommPort=2
  '設定傳輸速率等,可依照您的需求更改
  .Settings="14400,N,8,1"
  '將通訊埠打開
  .PortOpen=True
  EndWith
  '假如使用者未按下「停止測試」鈕(bStop=False),則繼續讀取
  DoWhileNotbStop
  IfMSComm1.InBufferCountThen
  '通訊埠中假如有資料的話,則讀取進來
  InString=InString&MSComm1.Input
  '如果資料中有Chr(13)和Chr(10)的話,則顯示出來
  IfInStr(InString,vbCrLf)Then
  Label3.Caption=Label3.Caption&InString
  InString=""
  '暫時把系統資源讓出來給其它的程式使用
  DoEvents
  EndIf
  EndIf
  DoEvents
  Loop
  EndSub
  
  PrivateSubCommand2_Click()
  '按下「停止測試」鈕時,把bStop設為「真」(True)
  '如此程式才會停止等待(或讀取)通訊埠所收到的資料
  bStop=True
  EndSub
  
  PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
  bStop=True
  '把通訊埠關閉,才不會影響其它程式的使用通訊埠
  MSComm1.PortOpen=False
  End
  EndSub
  
  PrivateSubText1_KeyPress(KeyAsciiAsInteger)
  '當按下[Enter]時,把Text1文字框中的資料送至通訊埠
  IfKeyAscii=13Then
  MSComm1.Output=Text1.Text&vbCrLf
  Text1.Text=""
  KeyAscii=0
  EndIf
  EndSub->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved