📄 sendfile_.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "sendfile_"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
'要引发该事件,请遵循下列语法使用 RaiseEvent:
'RaiseEvent CONREQA[(arg1, arg2, ... , argn)]
Public Event CONREQA(CONREQA As Boolean)
'要引发该事件,请遵循下列语法使用 RaiseEvent:
'RaiseEvent SENDNEXTA[(arg1, arg2, ... , argn)]
Public Event SENDNEXTA(SENDNEXTA As Boolean)
Public Function SendFile(ByVal FileName As String, MSGLENTH As Long)
Dim ABSfilename As String
Dim FileLenA As Long
Dim FileHandle As Long
Dim p As Integer
Dim EGREAD As Long
Dim buffer() As Byte
Dim BBCNUM As Integer
Dim waitconreq As Boolean
Dim waitsendnext As Boolean
ABSfilename = FileName
ReDim buffer(MSGLENTH - 1)
p = InStr(ABSfilename, "\")
Do While p > 0
ABSfilename = Right(ABSfilename, Len(ABSfilename) - p)
p = InStr(ABSfilename, "\")
Loop
FileLenA = FileLen(FileName)
Fmain.MSComm.Output = "ENQ"
Fmain.NOTE.Text = Fmain.NOTE.Text & "SND:ENQ " & vbCrLf
Do While CONREQ <> True
RaiseEvent CONREQA(waitconreq)
If wiatconreq Then CONREQ = True
Loop
FileHandle = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
Do While EGREAD >= 0
Ret = ReadFile(FileHandle, buffer(0), MSGLENTH, EGREAD, ByVal 0&)
'BBC CHECK
'PACK
'SEND
'WAIT REPLAY
Do While SENDNEXT
RaiseEvent SENDNEXTA(waitsendnext)
If waitsendnext Then SENDNEXT = False
Loop
MSComm.Output = buffer
SENDNEXT = False
If EGREAD = 0 Then EGREAD = -1
Loop
CloseHandle (FileHandle)
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -