?? mainfunction.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 + -