module1.bas

来自「F:VB与分布式监控光盘源代码数字输出控制-修正」· BAS 代码 · 共 35 行

BAS
35
字号
Attribute VB_Name = "Module1"
Option Explicit

Declare Function GetTickCount Lib "kernel32" () As Long

Sub TimeDelay(t As Long)
  '时间延迟子程序,单位是毫秒(ms)
  Dim TT&
  TT = GetTickCount()
  Do
   DoEvents
  Loop Until GetTickCount() - TT >= t
End Sub

'等待RS字符串返回,或是时间到达
'Comm是通信控件名称
'RS是欲等待的字符
'DT是最长的等待时间
'正常时返回值是所得的完整字符串,不正常时返回值是空字符串
Function WaitRS(Comm As MSComm, RS As String, DT As Long) As String
  Dim Buf$, TT As Long
  Buf = ""
  TT = GetTickCount
  Do
    Buf = Buf & Comm.Input
  Loop Until InStr(1, Buf, RS) > 0 Or GetTickCount - TT >= DT
  If InStr(1, Buf, RS) > 0 Then
    WaitRS = Buf
  Else
    WaitRS = ""
  End If
End Function


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?