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

📄 mainfunction.bas

📁 地面测试仪
💻 BAS
字号:
Attribute VB_Name = "mMainFunction"

'主模块

Option Base 1 '数组下标从1开始
Option Explicit

Public Const strGdyFlag = "液面高低频数据"
Public Const strDataYTTitle = "地面测试仪数据记录(无高低频)"


Type JianDingYaLi
    JianDingYaLiData(9, 11) As String '检定数据
    JianDingYaLiCol(16) As String '检定报表字段
    JainDingYaLiColData(16) As String '检定报表字段数据
End Type

Type JianDingYeMian
    JianDingYeMiandata(6000, 3) As Integer    '数据,暂时3000组,低频,高频,x轴坐标
    JianDingYeMianCol(13) As String '报表字段
    JianDianYeMianColData(13) As String '报表字段数据
    DianYi As String  '第一个波位置
    DianWuShi As String '第五十个波位置
    GaoPinZuiDa As String '高频最大值
    DiPinZuiDa As String '低频最大值
End Type

Type dmyData
'    timeMax As Long
    HLRowPiont As Long          '高低频绘图时每行点数
    ReadSuc As Boolean          '读取成功
    HaveDym As Boolean          '有没有高低频数据
    YNoodlesMax As Single       '液面最大值
    TPressMax As Single         '套压最大值
    JPressMax As Single         '静压最大值
    HFrequencyMax As Single     '高频最大值
    LFrequencyMax As Single     '低频最大值
    TimeMax As Single           '时间最大值
    fileName As String
    hanshui As String
    zhongshen As String
    
    dmyHead(11) As String      '文件头
    dmyYT() As String         '页面套压数据
    dmyHL() As String         '高低频数据
    dmyRep(37) As String       '报表数据
End Type


''''''''''''''''文件关联用的'''''''''''''''''''''''
Private Const HKEY_CLASSES_ROOT = &H80000000

Private Const ERROR_SUCCESS = 0&
Private Const ERROR_BADDB = 1&
Private Const ERROR_BADKEY = 2&
Private Const ERROR_CANTOPEN = 3&
Private Const ERROR_CANTREAD = 4&
Private Const ERROR_CANTWRITE = 5&
Private Const ERROR_OUTOFMEMORY = 6&
Private Const ERROR_INVALID_PARAMETER = 7&
Private Const ERROR_ACCESS_DENIED = 8&

Private Const MAX_PATH = 256&
Private Const REG_SZ = 1
Private Const strApp = "HFdmyfile"
Private Const strFileType = ".dmy"

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long    '这个函数是用来创建注册表的主键
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long   '这个函数用来关闭打开的注册表
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long  '这个函数用来改写注册表的键值
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

''''''''''''''''''''''''THE END''''''''''''''''''
'---------------------------------------------------


Public TempDmyData As dmyData '地面仪数据
Public Const HLRowCount = 4 '高低频绘图每页行数
Public PicFlag As Integer '绘图标志
Public mList As ListView
Public mPic As PictureBox
Public mDialog As CommonDialog


Public Sub RegSet()
'**********************************************************************
'* 函数名称:RegSet
'* 函数描述:文件关联
'* 参数列表:
'* 作    者:
'* 创建日期: 2007-10-08
'**********************************************************************
    Dim sKeyName As String '键名
    Dim sKeyValue As String '键值
    Dim ret& '结果
    Dim lphKey& '句柄
    Dim strFileRun As String
    Dim strFileIcon As String
    Dim strTemp As String
    Dim lenData As Long
    strFileRun = App.Path & "\" & App.EXEName & ".exe %1"
    strFileIcon = App.Path & "\" & App.EXEName & ".exe,0"
    
   
    sKeyName = strApp '*
    sKeyValue = "地面仪数据" '*
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
    '     创建文件类型
    sKeyName = strFileType '*
    sKeyValue = strApp '*
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
    '     创建对应的扩展名
    sKeyName = strApp '*
    sKeyValue = strFileRun  '*
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "shell\open\command", REG_SZ, sKeyValue, MAX_PATH)
    '    创建图标
    sKeyName = strApp
    sKeyValue = strFileIcon
    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
    ret& = RegSetValue&(lphKey&, "shell\DefaultIcon", REG_SZ, sKeyValue, 0&)
    
    RegCloseKey lphKey&
 
End Sub

Function GetStr(Sstr As String, Ssign As String, Optional Snum = 1) As String
'**********************************************************************
'* 函数名称:GetStr
'* 函数描述:获得字符串
'* 参数列表:sstr源字符 ssign指定符号 snum 第几个符号位置
'* 返    回:字符串
'* 作    者:
'* 创建日期: 2007-10-08
'**********************************************************************
On Error GoTo errlab
Dim i As Integer
Dim strTemp As String
strTemp = Sstr
For i = 1 To Snum
    strTemp = Mid(strTemp, InStr(1, strTemp, Ssign) + 1)
Next
GetStr = strTemp
Exit Function
errlab:
GetStr = ""
End Function

'字符串补空格
Public Function strFormat(strS As String, strb As String, iLen As Integer, Optional isLeft = True) As String
'**********************************************************************
'* 函数名称:strFormat
'* 函数描述:字符串补空格
'* 参数列表:strS原字符串 strB补充字符 iLen补充后长度 isLeft默认左补齐
'* 返    回:字符串
'* 作    者:
'* 创建日期: 2007-10-08
'**********************************************************************

Dim strTemp As String

If Len(strS) >= iLen Then
    strFormat = strS
    Exit Function
Else
    If isLeft Then
        strTemp = Right(String(iLen, strb) & strS, iLen)
    Else
        strTemp = Left(strS & String(iLen, strb), iLen)
    End If
End If
strFormat = strTemp

End Function

⌨️ 快捷键说明

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