龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

MsComm文字传输

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
假如您对MSComm的基本属性还不了解,建议请先至MSComm基本介绍一文中详读 表单画面 表单部分 ------------------------------------------------------------- Form.Name="Form1" Caption="Form1" CommandButton.Name=Comma
假如您对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->

精彩图集

赞助商链接