⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readeriniop.bas

📁 这个是我们为烟草行业出厂管理编写的RFID读写软件
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "ReaderINIOP"
'Option Explicit
'
Public Const READER_INI_ITEM = "XCRF-500W Reader"
'Public RFIDCtrlINISettingFile As String 'INI文件名,包含绝对路径
'Public RFID_API_INISettingFile As String 'INI文件名,包含绝对路径
'
''函数说明
''Private Declare Function GetPrivateProfileInt Lib "kernel32" 'Alias "GetPrivateProfileIntA" ( _           ' 返回所读取的长整型值
''    ByVal lpApplicationName As String, _    ' 要读取的段 (Section) 名称
''    ByVal lpKeyName As String, _            ' 要读取的的键 (Key) 名称
''    ByVal nDefault As Long, _               ' 指定默认值,如果读取时出错,则返回该值
''    ByVal lpFileName As String) As Long     ' 指定要读的 INI 文件名
''
''Private Declare Function GetPrivateProfileString Lib "kernel32" 'Alias "GetPrivateProfileStringA" ( _    ' 返回所读取的字符串值的真实长度
''    ByVal lpApplicationName As String, _    ' 要读取的段 (Section) 名称
''    ByVal lpKeyName As Any, _               ' 要读取的的键 (Key) 名称
''    ByVal lpDefault As String, _            ' 指定默认值,如果读取时出错,则返回该值
''    ByVal lpReturnedString As String, _     ' 指定接收返回值的字符串变量
''    ByVal nSize As Long, _                  ' 指定允许字符串值的最大长度
''    ByVal lpFileName As String) As Long     ' 指定要读的 INI 文件名
''
''Private Declare Function WritePrivateProfileString Lib "kernel32" 'Alias "WritePrivateProfileStringA" ( _  ' 如果成功返回非 0 值,失败返回 0
''    ByVal lpApplicationName As String, _    ' 要写入的段 (Section) 名称
''    ByVal lpKeyName As Any, _               ' 要写入的的键 (Key) 名称
''    ByVal lpString As Any, _                ' 要写入的值 (Value),以字符串表示
''    ByVal lpFileName As String) As Long     ' 指定要写的 INI 文件名
'
Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
''***************************************************
'' 功能:将数据写入INI文件中
''***************************************************
'Public Function WriteStringIntoINI(Section As String, key As String, Value As String, INISettingFile As String) As Boolean
'    On Error Resume Next
'
'    If WritePrivateProfileString(Section, key, Value, INISettingFile) = 0 Then
'        WriteStringIntoINI = False
'        Exit Function
'    End If
'    WriteStringIntoINI = True
'End Function
''***************************************************
'' 功能:从INI文件中读取指定字符串数据
''***************************************************
'Public Function ReadStringFromINI(Section As String, key As String, Size As Long, INISettingFile As String) As String
'    On Error Resume Next
'
'    Dim KeyV As String, KeyLen As Long
'
'    KeyV = Space(Size)
'    KeyLen = GetPrivateProfileString(Section, key, "", KeyV, Size, INISettingFile)
'    KeyV = Left(KeyV, KeyLen)
'    ReadStringFromINI = Trim(KeyV)
'End Function
''***************************************************
''功能:从INI文件中读取指定整型数据
''***************************************************
'Public Function ReadIntFromINI(Section As String, key As String, INISettingFile As String) As Long
'    On Error Resume Next
'
'    ReadIntFromINI = GetPrivateProfileInt(Section, key, -1, INISettingFile)
'End Function
''***************************************************
''功能:判断INI文件是否存在,不存在则创建之
''***************************************************
'Public Sub CheckRFIDCtrlINIExist()
'    On Error Resume Next
'
''    Call PDTRACELOG(2, "000-ModeWithINI.bas", "------in CheckRFIDCtrlINIExist")
'
'    Dim fs As Scripting.FileSystemObject
'    Dim ft As Scripting.TextStream
'
'    Set fs = New Scripting.FileSystemObject
'
'    '判断INI配置文件是否存在,如果不存在就创建之
'    If Not fs.FileExists(RFIDCtrlINISettingFile) Then
'        Set ft = fs.CreateTextFile(RFIDCtrlINISettingFile)
'        InitRFIDCtrlINIFile ft
'        ft.Close
'        Set ft = Nothing
'    End If
'
'    Set fs = Nothing
'
''    Call PDTRACELOG(2, "000-ModeWithINI.bas", "------out CheckRFIDCtrlINIExist")
'End Sub
'
''***************************************************
''功能:判断INI文件是否存在,不存在则创建之
''***************************************************
'Public Sub CheckRFID_API_INIExist(RFIDCtrlRef As RFIDCtrl)
'    On Error Resume Next
'
'    Call PDTRACELOG(2, "000-ModeWithINI.bas", "------in CheckRFID_API_INIExist")
'
'    Dim fs As Scripting.FileSystemObject
'    Dim ft As Scripting.TextStream
'
'    Set fs = New Scripting.FileSystemObject
'
'    '判断INI配置文件是否存在,如果不存在就创建之
'    If Not fs.FileExists(RFID_API_INISettingFile) Then
'        Set ft = fs.CreateTextFile(RFID_API_INISettingFile)
'        InitRFID_API_INIFile ft, RFIDCtrlRef
'        ft.Close
'        Set ft = Nothing
'    End If
'
'    Set fs = Nothing
'
'    Call PDTRACELOG(2, "000-ModeWithINI.bas", "------out CheckRFID_API_INIExist")
'End Sub
'
''***************************************************
''功能:初始化Reader api INI文件
''***************************************************
'Public Function InitRFID_API_INIFile(ft As Scripting.TextStream, RFIDCtrlRef As RFIDCtrl) As Boolean
'    On Error Resume Next
'
'    Call PDTRACELOG(2, "000-ModeWithINI.bas", "------in InitRFID_API_INIFile")
'
''    On Error GoTo Err
'
'    '条目 缺省值 说明
'    '[XCRF-500W SCANER] 无 读写器标识
'    'XC_PORT_TYPE COM “COM”串口通讯、“TCP”网络通讯
'    'XC_COM_NUMBER COM1 COM1-COM4 仅在COM通讯模式有效
'    'XC_HOST_NAME 192.168.0.210 本机的IP地址,仅在网络通讯模式有效
'    '=======================================================
'    'XC_SUBNET 255.255.255.0 本地局域网子网掩码,仅在网络模式有效
'    'XC_GATE 0.0.0.0 本地局域网的缺省网关,仅在网络模式有效
'    'XC_SCAN_TRIES 5 每次发送读卡指令后,读写器查询标签的次数
'    'XC_RETRIES 1 没有扫描到标签,重新发送指令的次数
'    'XC_READ_TRIES 0 读标签重发指令次数
'    'XC_WRITE_TRIES 0 写标签重发指令次数
'    'XC_ANTENNAS 2 连接天线总数(1~4)
'    'XC_ANTENNA_CONCTL 0 天线控制方式(0:自动扫描所有天线端口,1~4仅对指定端口进行扫描)
'    'XC_SAVE_LOG_FILE 0 (0:不存日志,1:保存日志)
'    'XC_LOG_FILE_NAME 调试记录日志文件名
'
'    '写入警告信息
'    ft.WriteLine ";--------RFID API参数设置文件----------"
'    ft.WriteLine ";-----请勿删除和修改,否则系统将无法正常运行!!!-----"
'
'    '写入2个空行
'    ft.WriteBlankLines 2
'
'    '定义贴标机设定参数
'    ft.WriteLine "[" & READER_INI_ITEM & "]"
'
'
'    'XC_PORT_TYPE COM “COM”串口通讯、“TCP”网络通讯
'    'XC_COM_NUMBER COM1 COM1-COM4 仅在COM通讯模式有效
'    'XC_HOST_NAME 192.168.0.210 本机的IP地址,仅在网络通讯模式有效
'    Dim ip As String
'    Dim mask As String
'    Dim gateway As String
'    If RFIDCtrlRef.CommType = 0 Then 'tcp
'        Dim f1 As Integer
'        Dim f2 As Integer
'        f1 = InStr(1, RFIDCtrlRef.CommParam, ";")
'        f2 = InStr(f1 + 1, RFIDCtrlRef.CommParam, ";")
'        ip = Left(RFIDCtrlRef.CommParam, f1 - 1)
'        mask = Mid(RFIDCtrlRef.CommParam, f1 + 1, f2 - f1 - 1)
'        gateway = Mid(RFIDCtrlRef.CommParam, f2 + 1, Len(RFIDCtrlRef.CommParam) - f2)
'
'
'        ft.WriteLine "XC_PORT_TYPE=TCP"
'        ft.WriteLine "XC_COM_NUMBER=COM1"
'        ft.WriteLine "XC_CONFIG_PORT=COM1"
'        ft.WriteLine "XC_HOST_NAME=" & ip
'    Else '1,com
'        ft.WriteLine "XC_PORT_TYPE=COM"
'        ft.WriteLine "XC_COM_NUMBER=" & UCase(Left(RFIDCtrlRef.CommParam, InStr(1, RFIDCtrlRef.CommParam, ";") - 1))
'        ft.WriteLine "XC_CONFIG_PORT=" & UCase(Left(RFIDCtrlRef.CommParam, InStr(1, RFIDCtrlRef.CommParam, ";") - 1))
'        ft.WriteLine "XC_HOST_NAME=192.9.100.1"
'    End If
'
'    'XC_SCAN_TRIES 5 每次发送读卡指令后,读写器查询标签的次数
'    'XC_RETRIES 1 没有扫描到标签,重新发送指令的次数
'    'XC_READ_TRIES 0 读标签重发指令次数
'    'XC_WRITE_TRIES 0 写标签重发指令次数
'    'XC_ANTENNAS 2 连接天线总数(1~4)
'    'XC_ANTENNA_CONCTL 0 天线控制方式(0:自动扫描所有天线端口,1~4仅对指定端口进行扫描)
'    'XC_SAVE_LOG_FILE 0 (0:不存日志,1:保存日志)
'    'XC_LOG_FILE_NAME 调试记录日志文件名
'
'    ft.WriteLine "XC_SUBNET=" & mask

⌨️ 快捷键说明

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